socketry / io-event

MIT License
75 stars 16 forks source link

Run CI without C exts lock on TruffleRuby #5

Closed eregon closed 3 years ago

eregon commented 3 years ago

I want to see if CI passes with this.

eregon commented 3 years ago

From https://github.com/eregon/event/runs/2491758626?check_suite_focus=true Now we get:

 Failures:

  1) Event::Backend::EPoll behaves like Event::Selector #io_wait can handle exception during wait
     Failure/Error: fiber.raise(RuntimeError.new("Boom"))

     FiberError:
       cannot resume transferred Fiber
     Shared Example Group: Event::Selector called from ./spec/event/selector_spec.rb:28
     # <internal:core> core/fiber.rb:16:in `raise'
     # ./spec/event/selector_examples.rb:172:in `block (3 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli/exec.rb:63:in `kernel_load'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli/exec.rb:28:in `run'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli.rb:476:in `exec'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli.rb:30:in `dispatch'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli.rb:24:in `start'
     # /home/runner/.rubies/truffleruby-head/lib/gems/gems/bundler-2.1.4/libexec/bundle:46:in `block in <top (required)>'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/friendly_errors.rb:123:in `with_friendly_errors'
     # /home/runner/.rubies/truffleruby-head/lib/gems/gems/bundler-2.1.4/libexec/bundle:34:in `<top (required)>'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'

  2) Event::Backend::Select behaves like Event::Selector #io_wait can handle exception during wait
     Failure/Error: fiber.raise(RuntimeError.new("Boom"))

     FiberError:
       cannot resume transferred Fiber
     Shared Example Group: Event::Selector called from ./spec/event/selector_spec.rb:28
     # <internal:core> core/fiber.rb:16:in `raise'
     # ./spec/event/selector_examples.rb:172:in `block (3 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli/exec.rb:63:in `kernel_load'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli/exec.rb:28:in `run'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli.rb:476:in `exec'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli.rb:30:in `dispatch'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/cli.rb:24:in `start'
     # /home/runner/.rubies/truffleruby-head/lib/gems/gems/bundler-2.1.4/libexec/bundle:46:in `block in <top (required)>'
     # /home/runner/.rubies/truffleruby-head/lib/mri/bundler/friendly_errors.rb:123:in `with_friendly_errors'
     # /home/runner/.rubies/truffleruby-head/lib/gems/gems/bundler-2.1.4/libexec/bundle:34:in `<top (required)>'
     # <internal:core> core/kernel.rb:400:in `load'
     # <internal:core> core/kernel.rb:400:in `load'

Finished in 2.37 seconds (files took 2.05 seconds to load)
16 examples, 2 failures
eregon commented 3 years ago

Issue for that: https://github.com/oracle/truffleruby/issues/2342

eregon commented 3 years ago

@ioquatix The tests pass now, without any special flag, thanks to this fix: https://github.com/oracle/truffleruby/commit/8e0df269b4f0ec996d34c1bfb44def3a6a3f312f Ready to merge.