Fix xeus-octave kernel startup#80
Conversation
Kernel Conformance Matrix
almond (scala) - 15 failures, 0 skippedLanguage: scala | Protocol: 5.4 Failures
ark () - 1 failures, 0 skippedLanguage: R | Protocol: 5.4 Failures
deno (Deno kernel) - 1 failures, 0 skippedLanguage: typescript | Protocol: 5.3 Failures
evcxr (evcxr_jupyter) - 6 failures, 3 skippedLanguage: Rust | Protocol: 5.3 Failures
Skipped (Not Implemented)
gonb (gonb) - 15 failures, 1 skippedLanguage: go | Protocol: 5.4 Failures
Skipped (Not Implemented)
ijulia (ijulia) - 2 failures, 1 skippedLanguage: julia | Protocol: 5.4 Failures
Skipped (Not Implemented)
ocaml-jupyter (ocaml-jupyter) - 9 failures, 2 skippedLanguage: OCaml | Protocol: 5.2 Failures
Skipped (Not Implemented)
xeus-cling (xeus-cling) - 12 failures, 2 skippedLanguage: c++ | Protocol: 5.3 Failures
Skipped (Not Implemented)
xeus-cpp (xeus-cpp) - 20 failures, 2 skippedLanguage: C++ | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-haskell (xhaskell) - 8 failures, 4 skippedLanguage: haskell | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-lua (xlua) - 3 failures, 2 skippedLanguage: lua | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-octave (unknown) - 1 failures, 0 skippedLanguage: Octave | Protocol: unknown Failures
xeus-r (xr) - 1 failures, 0 skippedLanguage: R | Protocol: 5.6 Failures
xeus-sql (xsql) - 7 failures, 3 skippedLanguage: MySQL | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-sqlite (xsqlite) - 5 failures, 4 skippedLanguage: sql | Protocol: 5.6 Failures
Skipped (Not Implemented)
Test Results by Message Type
|
Kernel Conformance Matrix
almond (scala) - 15 failures, 0 skippedLanguage: scala | Protocol: 5.4 Failures
ark () - 1 failures, 0 skippedLanguage: R | Protocol: 5.4 Failures
deno (Deno kernel) - 1 failures, 0 skippedLanguage: typescript | Protocol: 5.3 Failures
evcxr (evcxr_jupyter) - 6 failures, 3 skippedLanguage: Rust | Protocol: 5.3 Failures
Skipped (Not Implemented)
gonb (gonb) - 15 failures, 1 skippedLanguage: go | Protocol: 5.4 Failures
Skipped (Not Implemented)
ijulia (ijulia) - 2 failures, 1 skippedLanguage: julia | Protocol: 5.4 Failures
Skipped (Not Implemented)
ocaml-jupyter (ocaml-jupyter) - 9 failures, 2 skippedLanguage: OCaml | Protocol: 5.2 Failures
Skipped (Not Implemented)
xeus-cling (xeus-cling) - 11 failures, 2 skippedLanguage: c++ | Protocol: 5.3 Failures
Skipped (Not Implemented)
xeus-cpp (xeus-cpp) - 20 failures, 2 skippedLanguage: C++ | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-haskell (xhaskell) - 8 failures, 4 skippedLanguage: haskell | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-lua (xlua) - 3 failures, 2 skippedLanguage: lua | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-r (xr) - 1 failures, 0 skippedLanguage: R | Protocol: 5.6 Failures
xeus-sql (xsql) - 7 failures, 3 skippedLanguage: MySQL | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-sqlite (xsqlite) - 5 failures, 4 skippedLanguage: sql | Protocol: 5.6 Failures
Skipped (Not Implemented)
Test Results by Message Type
|
Kernel Conformance Matrix
almond (scala) - 15 failures, 0 skippedLanguage: scala | Protocol: 5.4 Failures
ark () - 1 failures, 0 skippedLanguage: R | Protocol: 5.4 Failures
deno (Deno kernel) - 1 failures, 0 skippedLanguage: typescript | Protocol: 5.3 Failures
evcxr (evcxr_jupyter) - 6 failures, 3 skippedLanguage: Rust | Protocol: 5.3 Failures
Skipped (Not Implemented)
gonb (gonb) - 15 failures, 1 skippedLanguage: go | Protocol: 5.4 Failures
Skipped (Not Implemented)
ijulia (ijulia) - 2 failures, 1 skippedLanguage: julia | Protocol: 5.4 Failures
Skipped (Not Implemented)
xeus-cling (xeus-cling) - 11 failures, 2 skippedLanguage: c++ | Protocol: 5.3 Failures
Skipped (Not Implemented)
xeus-cpp (xeus-cpp) - 20 failures, 2 skippedLanguage: C++ | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-lua (xlua) - 3 failures, 2 skippedLanguage: lua | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-octave (unknown) - 1 failures, 0 skippedLanguage: Octave | Protocol: unknown Failures
xeus-r (xr) - 1 failures, 0 skippedLanguage: R | Protocol: 5.6 Failures
xeus-sql (xsql) - 7 failures, 3 skippedLanguage: MySQL | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-sqlite (xsqlite) - 5 failures, 4 skippedLanguage: sql | Protocol: 5.6 Failures
Skipped (Not Implemented)
Test Results by Message Type
|
Kernel Conformance Matrix
almond (scala) - 15 failures, 0 skippedLanguage: scala | Protocol: 5.4 Failures
ark () - 1 failures, 0 skippedLanguage: R | Protocol: 5.4 Failures
deno (Deno kernel) - 1 failures, 0 skippedLanguage: typescript | Protocol: 5.3 Failures
evcxr (evcxr_jupyter) - 6 failures, 3 skippedLanguage: Rust | Protocol: 5.3 Failures
Skipped (Not Implemented)
gonb (gonb) - 15 failures, 1 skippedLanguage: go | Protocol: 5.4 Failures
Skipped (Not Implemented)
ijulia (ijulia) - 2 failures, 1 skippedLanguage: julia | Protocol: 5.4 Failures
Skipped (Not Implemented)
ocaml-jupyter (ocaml-jupyter) - 9 failures, 2 skippedLanguage: OCaml | Protocol: 5.2 Failures
Skipped (Not Implemented)
xeus-cling (xeus-cling) - 11 failures, 2 skippedLanguage: c++ | Protocol: 5.3 Failures
Skipped (Not Implemented)
xeus-cpp (xeus-cpp) - 20 failures, 2 skippedLanguage: C++ | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-haskell (xhaskell) - 8 failures, 4 skippedLanguage: haskell | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-lua (xlua) - 3 failures, 2 skippedLanguage: lua | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-octave (xoctave) - 2 failures, 4 skippedLanguage: Octave | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-r (xr) - 1 failures, 0 skippedLanguage: R | Protocol: 5.6 Failures
xeus-sql (xsql) - 7 failures, 3 skippedLanguage: MySQL | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-sqlite (xsqlite) - 5 failures, 4 skippedLanguage: sql | Protocol: 5.6 Failures
Skipped (Not Implemented)
Test Results by Message Type
|
xeus-octave was crashing during startup because Octave could not find its built-in .m script files (specifically graphics_toolkit). This happened because the OCTAVE_HOME environment variable was not set when the test harness spawned the kernel process. Changes: - Set OCTAVE_HOME and OCTAVE_EXEC_PREFIX env vars in CI for xeus-octave - Increase per-test timeout to 30s for xeus-octave (Octave is slow to init) - Detect kernel process crash before attempting ZMQ connections - Capture kernel stderr for better diagnostics on startup failures - Retry kernel_info_request up to 3 times for slow-starting kernels - Increase initial kernel startup delay from 500ms to 2s
1c41b60 to
2719876
Compare
Kernel Conformance Matrix
almond (scala) - 15 failures, 0 skippedLanguage: scala | Protocol: 5.4 Failures
ark () - 1 failures, 0 skippedLanguage: R | Protocol: 5.4 Failures
deno (Deno kernel) - 1 failures, 0 skippedLanguage: typescript | Protocol: 5.3 Failures
evcxr (evcxr_jupyter) - 6 failures, 3 skippedLanguage: Rust | Protocol: 5.3 Failures
Skipped (Not Implemented)
gonb (gonb) - 15 failures, 1 skippedLanguage: go | Protocol: 5.4 Failures
Skipped (Not Implemented)
ijulia (ijulia) - 2 failures, 1 skippedLanguage: julia | Protocol: 5.4 Failures
Skipped (Not Implemented)
ocaml-jupyter (ocaml-jupyter) - 9 failures, 2 skippedLanguage: OCaml | Protocol: 5.2 Failures
Skipped (Not Implemented)
xeus-cling (xeus-cling) - 12 failures, 2 skippedLanguage: c++ | Protocol: 5.3 Failures
Skipped (Not Implemented)
xeus-cpp (xeus-cpp) - 20 failures, 2 skippedLanguage: C++ | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-haskell (xhaskell) - 8 failures, 4 skippedLanguage: haskell | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-lua (xlua) - 3 failures, 2 skippedLanguage: lua | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-octave (xoctave) - 8 failures, 4 skippedLanguage: Octave | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-r (xr) - 1 failures, 0 skippedLanguage: R | Protocol: 5.6 Failures
xeus-sql (xsql) - 7 failures, 3 skippedLanguage: MySQL | Protocol: 5.6 Failures
Skipped (Not Implemented)
xeus-sqlite (xsqlite) - 5 failures, 4 skippedLanguage: sql | Protocol: 5.6 Failures
Skipped (Not Implemented)
Test Results by Message Type
|
Summary
OCTAVE_HOMEandOCTAVE_EXEC_PREFIXenv vars in CI so xeus-octave can find Octave's built-in.mscripts (the root cause wasgraphics_toolkitnot being found, causing the kernel to crash with SIGABRT)kernel_info_requestup to 3 times with 2s delays for slow-starting kernelsResults
xeus-octave now starts and passes conformance tests (15-23/27 depending on run, some flakiness in interactive tests). Previously it crashed immediately with:
Test plan