Skip to content

Ignore startup exits in JVM crash handler#88

Open
morehouse wants to merge 4 commits into
masterfrom
eclair_ignore_startup_exits
Open

Ignore startup exits in JVM crash handler#88
morehouse wants to merge 4 commits into
masterfrom
eclair_ignore_startup_exits

Conversation

@morehouse
Copy link
Copy Markdown
Owner

When Eclair starts up it runs several commands as subprocesses, some of which call exit and trigger our crash handler.

Previously we resorted to a couple hacks to filter out these startup exits:

  • wrap the Java binary to ensure the crash handler is only installed on the JVM
  • pass -no-version-check to the Eclair startup script to avoid java --version triggering our crash handler

This worked for a while, but when I recently updated my machine the crash handler started reporting a startup exit again.

This PR removes the ad-hoc filtering methods in favor of a more robust mechanism: ignore all exits until startup is complete. This is accomplished by using a marker file to signal to the crash handler whether startup has completed or not.

morehouse added 4 commits May 20, 2026 16:29
The presence of the marker file indicates that startup of the target is
complete and that fuzzing is about to begin.

This will be used by the JVM crash handler to filter out exits that
occur during Eclair startup.
Eclair runs various commands as subprocesses during node startup that
are expected to call exit(0). We don't want to generate crash reports
for those.
The flag was added to prevent a false-positive error report when
starting Eclair and is no longer needed now that we use a marker file to
detect once startup is complete.
Now that we filter out exits during node startup, we don't need to have
a hacky java wrapper to limit the scope of our crash handler.
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.

1 participant