Logstash-plugin fails with java errors on a clean install

Hi All,

Forgive what is likely a newbie question, I'm pretty green around ELK and especially ruby and gems.

Just installed LS 5.5.2 via RPM to openSUSE LEAP 42.2 and if I cd to /usr/share/logstash and try to run any call to ./bin/logstash-plugin (e.g. list, install, or with no arguments) I get:

relk-a:/usr/share/logstash # ./bin/logstash-plugin
LoadError: load error: jopenssl/load -- java.lang.InternalError: null
require at org/jruby/RubyKernel.java:1040
require at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /usr/share/logstash/vendor/jruby/lib/ruby/shared/openssl.rb:1
require at org/jruby/RubyKernel.java:1040
(root) at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
require at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
require at org/jruby/RubyKernel.java:1040
(root) at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/security.rb:11
(root) at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
require at org/jruby/RubyKernel.java:1040
require at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/package.rb:43
require at org/jruby/RubyKernel.java:1040
(root) at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
require at /usr/share/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
relk-a:/usr/share/logstash #

What am I missing? Some chunk of java or ruby that wasn't installed along with logstash? And if so, why not?

Hope to hear from you,

Randy in Seattle

OK, found a similar post from last September from a guy who upgraded to LS 2.4 and on launching got the exact same error. His fix was to upgrade java to 1.8.

But I'm already running java 1.8. It is the openjdk version, however:

relk-a:/usr/share/logstash # java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (IcedTea 3.4.0) (suse-10.8.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
relk-a:/usr/share/logstash #

Do I need the "real" java? And why just for the plugin manager, not for logstash proper?

Proceeding on the assumption that openjdk is OK and I don't need the Oracle, as logstash itself is OK and I've never had to before (OK, once, to run minecraft on my kid's old laptop).

Installed the openssl and jruby-openssl gems (jruby-openssl also installed bouncy-castle-java). Still no love. "gem search" doesn't show anything that looks like "jopenssl," the bit that's named in the LoadError.

Going to stop flailing for a while and hope to hear from you.

  • r

It could be an issue related to libraries available on the system this java was built on. It says it's 1.8.0_131, but it might be an incompatible library inside the build, which also specifically states: suse-10.8.1-x86_64 (which I confess, I do not fully comprehend the meaning of nor implications of). Without knowing a lot of the specifics about the build system, that would be my first guess.

I point to this entry as an example of another case where a custom-built JRE wound up having a library conflict (at the JRuby level) that prevented Logstash from working on a particular system.

FWIW, I couldn't resist the urge to keep flailing and installed the Oracle RPM for 1.8.0_131 (it's a snapshotted VM). Now it works.

Don't really want to put a different java on one build. Have to think about this.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.