Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run CI without C exts lock on TruffleRuby #5

Merged
merged 1 commit into from
May 28, 2021

Conversation

eregon
Copy link
Contributor

@eregon eregon commented May 3, 2021

I want to see if CI passes with this.

@eregon
Copy link
Contributor Author

eregon commented May 3, 2021

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
Copy link
Contributor Author

eregon commented May 3, 2021

Issue for that: oracle/truffleruby#2342

* To get Fiber#raise and releasing the C ext lock on rb_funcall().
@eregon eregon marked this pull request as ready for review May 28, 2021 20:17
@eregon
Copy link
Contributor Author

eregon commented May 28, 2021

@ioquatix The tests pass now, without any special flag, thanks to this fix: oracle/truffleruby@8e0df26
Ready to merge.

Copy link
Member

@ioquatix ioquatix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your amazing effort.

@ioquatix ioquatix merged commit 10e0ca4 into socketry:master May 28, 2021
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.

EPoll implementation fails on TruffleRuby
2 participants