SciRuby / iruby

Official gem repository: Ruby kernel for Jupyter/IPython Notebook
https://github.com/SciRuby/iruby
MIT License
901 stars 29 forks source link

Test suite hangs with Ruby 3.4 #357

Open simpl1g opened 1 week ago

simpl1g commented 1 week ago

It's continuation of this PR https://github.com/SciRuby/iruby/pull/356

Currently Ruby process can't finish after all tests passed. I've dumped all thread backtraces and it shows

/Users/simpl1g/.rbenv/versions/3.4.0-preview2/lib/ruby/gems/3.4.0+0/gems/ffi-rzmq-2.0.7/lib/ffi-rzmq/device.rb:24:in 'LibZMQ.zmq_proxy'
/Users/simpl1g/.rbenv/versions/3.4.0-preview2/lib/ruby/gems/3.4.0+0/gems/ffi-rzmq-2.0.7/lib/ffi-rzmq/device.rb:24:in 'ZMQ::Device#initialize'
/Users/simpl1g/work/ruby_projects/iruby/lib/iruby/session_adapter/ffirzmq_adapter.rb:29:in 'Class#new'
/Users/simpl1g/work/ruby_projects/iruby/lib/iruby/session_adapter/ffirzmq_adapter.rb:29:in 'IRuby::SessionAdapter::FfirzmqAdapter#heartbeat_loop'
/Users/simpl1g/work/ruby_projects/iruby/lib/iruby/session.rb:55:in 'block in IRuby::Session#setup_heartbeat'

So it looks like a problem in ffi-rzmq gem. If I comment out creating heartbeat thread all tests passes and process completes fine. But I'm not sure that this is correct way to do this :)