Skip to content

bug: incorrectlyt removing sysvars and native loader owned accounts on startup #1008

@thlorenz

Description

@thlorenz

I noticed that we remove a lot of sysvars when starting up the validator, as well as an account
owned by the NativeLoader.

I'm pretty sure this is not as intended and we need to handle these accounts differently.

Logs
Details
2026-03-02T03:22:04.17603Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=2WfzmrgPDLaqM8LkLmXqCHLKKeo6aTJzC8b25PDJg44s account=AccountSharedData {
    lamports: 18446744073709551615,
    data.len: 0,
    owner: 11111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176059Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLU account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176081Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=FL9RsQA6TVUoh5xJQ9d936RHSebA1NLQqe3Zv9sXZRpr account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176102Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=6ppMXNYLhVd7GcsZ5uV11wQEW7spppiMVfqQv5SXhDpX account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176121Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=E3PHP7w8kB7np3CTQ1qQ2tW3KCtjRSXBQgW9vM2mWv2Y account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176141Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=sryYyFwxzJop1Bh9XpyiVWjZP4nfHExiqNp3Dh71W9i account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176167Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=7rcw5UtqgDTBBv2EcynNfYckgdAaH1MAsCjKgXMkN7Ri account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176187Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=PaymEPK2oqwT9TXAVfadjztH2H6KfLEB9Hhd5Q5frvP account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.17621Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjq account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176251Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=eca6zf6JJRjQsYYPkBHF3N32MTzur4n2WL4QiiacPCL account=AccountSharedData {
    lamports: 1,
    data.len: 9,
    owner: Feature111111111111111111111111111111111111,
    executable: false,
    rent_epoch: 18446744073709551615,
    data: 010000000000000000,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}
2026-03-02T03:22:04.176284Z TRACE start: magicblock_chainlink::chainlink: Removing non-delegated, non-DLP-owned account pubkey=Secp256r1SigVerify1111111111111111111111111 account=AccountSharedData {
    lamports: 1,
    data.len: 0,
    owner: NativeLoader1111111111111111111111111111111,
    executable: true,
    rent_epoch: 18446744073709551615,
    remote_slot: 0,
    delegated: false,
    compressed: false,
    undelegating: false,
    confined: false,
    ephemeral: false,
    privileged: false,
}

Most likely this could be fixed by either whitelisting all those accounts pubkeys.
An alternative would be to not remove accounts owned by Feature or NativeLoader, but that could
lead to accounts that are not proper features to also stay in our bank forever.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions