-
-
Notifications
You must be signed in to change notification settings - Fork 925
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
JRuby 1.7.24 - EBADF Bad file descriptor #3634
Comments
It sounds like you've worked around it, but can we see the code that caused this? I'm not sure where I could find "run_integration_tests.rb, line 112" or the other assignment of this constant, but I'd really like to figure out the root problem here. If we're not properly namespacing constants, that's a serious bug. @kimptoc Can you provide more information? |
Trying to reproduce it in a simple example, but failing - https://github.com/kimptoc/docker-jruby-ebadf-tester The "only" difference between this and my app code (that I can still make fail with 1.7.24) is that instead of the requires happening off the main thread (via Thread.new ), its triggered via a third party (Java) lib that does the callback - but is then kicked off via Thread.new too. |
@kimptoc Have you had any further success narrowing this down? I'm not sure how to reproduce this. I suspect it's not a problem with assigning that constant, but that the stream getting assigned is somehow closed already. Given that moving the constant out of global namespace fixed this, perhaps some other code in your library/app is accessing that stream and closing it prematurely? Bumping off 9.1 since we have no way to reproduce this issue right now. |
Nope, no joy. You'll be annoyed (or pleased?) to know that 1.7.25 does not have the problem ... We've not moved this project onto 9k yet - just giving it a whirl in a small project at the moment, hopefully can move the main one over sooner than later. Feel free to close this. |
Since 1.7.25 does not exhibit the issue and we have no way to reproduce, I'm closing this as fixed in 1.7.25. Please reopen if this same issue happens again. |
No problem, will do. Thanks |
Since switching to 1.7.24 (from 1.7.23), running on Windows with JDK 1.7.0_80-b15. Also run this on Linux and did not see the issue there.
On this line – a global constant is defined via the call to a function that returns a string. There is an identical call to the same method that is done in the parent class (run_integration_tests.rb, line 112)
If I move the constant into a class, it does not have a problem. Looks like I am no longer allowed to redefine constants .
I have changed the code to not make them global constants and that fixes things.
The text was updated successfully, but these errors were encountered: