digest dependency breaks jruby openssl
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 51
- Forks
- 37
- Avg merge
- 8h 16m
- Merged PRs (30d)
- 4
Description
Hello.
We are facing a weird issue where as soon as digest dependency appears for the project, it breaks jruby loading openssl extension:
NameError: cannot load (ext) (org.jruby.ext.openssl.OpenSSL)
org/jruby/ext/jruby/JRubyUtilLibrary.java:201:in `load_ext'
/opt/jruby/lib/ruby/stdlib/jopenssl/load.rb:31:in `<main>'
org/jruby/RubyKernel.java:974:in `require'
/opt/jruby/lib/ruby/stdlib/openssl.rb:1:in `<main>'
org/jruby/RubyKernel.java:974:in `require'
/usr/local/bundle/gems/rack-2.2.3/lib/rack/session/cookie.rb:3:in `<main>'
It does not matter if digest is listed in Gemfile or installed as a transient dependency (e.g. mail -> net-imap -> digest).
As soon as it is removed, for example, even this way (or from Gemfile):
mv /usr/local/bundle/gems/digest-3.1.0-java /usr/local/bundle/gems/digest-3.1.0-removed
The app starts just fine and doesn't break.
Environment:
jruby 9.2.14.0 (2.5.7) 2020-12-08 ebe64bafb9 OpenJDK 64-Bit Server VM 25.282-b08 on 1.8.0_282-b08 +jit [linux-x86_64]
OpenSSL 1.1.1n 15 Mar 2022
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Basically it's a docker image based off jruby:9.2.14.0
Any idea what could be breaking inside jruby/jruby-openssl because of this gem?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with the jruby:9.2.14.0 image on Debian 10, comparing startup with and without digest-3.1.0-java installed. Trace the dependency path from digest or mail/net-imap into jopenssl and inspect the reported OpenSSL loading failure. Done means identifying the compatibility cause and documenting a reproducible fix or limitation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100