Skip to content

Conversation

@subhdotsol
Copy link

@subhdotsol subhdotsol commented Dec 31, 2025

#Fixes 454 : where solana program close causes Surfpool to stop producing blocks with error -32002: receiving on an empty and disconnected channel.

When process_transaction() returned an error during preprocessing (account fetching, ALT resolution, etc.), the status_tx channel was dropped without sending any response. This caused the RPC handler's recv() to return RecvError, stopping block production.

before :
Screenshot 2025-12-30 at 4 43 52 AM 2

Modified process_transaction() in locker.rs to always send a VerificationFailure event through the status channel before returning errors

after :
Screenshot 2026-01-01 at 4 32 27 AM 2

@subhdotsol subhdotsol changed the title fix: Ensure status channel always receives response to prevent RPC ha… fix: solana program close (stop or stuck surfpool) Dec 31, 2025
Copy link
Member

@MicaiahReid MicaiahReid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome debugging, thanks @subhdotsol!!

@subhdotsol
Copy link
Author

@MicaiahReid thanks man

@subhdotsol
Copy link
Author

when will it get merged ? @MicaiahReid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants