Skip to content

test: catch the JRuby resume stall on CI (do not merge) - #681

Closed
route wants to merge 2 commits into
mainfrom
debug/jruby-resume-stall
Closed

route wants to merge 2 commits into
mainfrom
debug/jruby-resume-stall

Conversation

@route

@route route commented Oct 26, 2026

Copy link
Copy Markdown
Member

Not for merging. On main the JRuby job failed once in spec/client_spec.rb:105 ("times out a command waiting to be sent and keeps the connection"): the 16MB command got DeadBrowserError about 5s after it was sent, although Chrome was resumed after ~0.7s. It doesn't reproduce locally on macOS or in a 2-CPU Linux container.

This runs the JRuby job 10 times in parallel, each time the full suite and then the example alone 10 times, with FERRUM_STALL_DEBUG=1 loading spec/support/stall_debug.rb. For a frame over 1MB it logs:

  • every chunk that takes over 0.2s, and while one is stuck, every 0.5s: ss -tmioe for the socket (send/receive queues, window, persist timer), /proc/loadavg and Chrome's process state;
  • STOP, CONT and what each command returned;
  • when the watchdog fires, the same snapshot plus every thread's backtrace.

The log is printed in the "Stall log" step and uploaded as stall-debug-N.

@route route closed this Oct 26, 2026
@route
route deleted the debug/jruby-resume-stall branch October 26, 2026 16:08
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