logstash7-7.10.0
openjdk15-15.0.1
Attempt to run logstash fails with
# su -m logstash -c 'sh -c "env JAVA_HOME=/usr/local/openjdk15 /usr/local/logstash/bin/logstash --path.settings /usr/local/etc/logstash -l /var/log/logstash "'
Using JAVA_HOME defined java: /usr/local/openjdk15
/usr/local/logstash/logstash-core-plugin-api/lib/logstash-core-plugin-api/version.rb:22: warning: The Psych YAML extension failed to load.
Check your env for conflicting versions of SnakeYAML
See https://github.com/jruby/jruby/wiki/FAQs#why-does-the-psych-yaml-extension-fail-to-load-in-my-environment
[ERROR] 2021-01-07 16:07:10.855 [main] Logstash - java.lang.IllegalStateException: Logstash stopped processing because of an error: (GemspecError)
[!] There was an error while loading `logstash-core-plugin-api.gemspec`: load error: psych -- java.lang.RuntimeException: BUG: we can not copy embedded jar to temp directory
Does it try to require a relative path? That's been removed in Ruby 1.9. Bundler cannot continue.
# from /usr/local/logstash/logstash-core-plugin-api/logstash-core-plugin-api.gemspec:23
# -------------------------------------------
#
> require "logstash-core-plugin-api/version"
#
# -------------------------------------------
SnakeYAML is 1.26. Attempt to remove extra space from pipelines.yml did not help.
Using truss, I've found some suspicious lines like
17064: pathconf("${ES_TMPDIR}",_PC_NAME_MAX) ERR#2 'No such file or directory'
17064: fstatat(AT_FDCWD,"${ES_TMPDIR}/jffi4638725274615882586.so",0x7fffdfffa290,0x0) ERR#2 'No such file or directory'
17064: openat(AT_FDCWD,"${ES_TMPDIR}/jffi4638725274615882586.so",O_RDWR|O_CREAT|O_EXCL,0666) ERR#2 'No such file or directory'
17064: fstatat(AT_FDCWD,"/usr/local/logstash/${ES_TMPDIR}",0x7fffdfff8120,0x0) ERR#2 'No such file or directory'
17064: fstatat(AT_FDCWD,"${ES_TMPDIR}/jruby-17064",0x7fffdffec3d0,0x0) ERR#2 'No such file or directory'
17064: mkdir("${ES_TMPDIR}/jruby-17064",0777) ERR#2 'No such file or directory'
17064: fstatat(AT_FDCWD,"/usr/local/logstash/${ES_TMPDIR}",0x7fffdffeba70,AT_SYMLINK_NOFOLLOW) ERR#2 'No such file or directory'
17064: fstatat(AT_FDCWD,"/usr/local/logstash/${ES_TMPDIR}",0x7fffdffeba70,AT_SYMLINK_NOFOLLOW) ERR#2 'No such file or directory'
17064: fstatat(AT_FDCWD,"/usr/local/logstash/${ES_TMPDIR}",0x7fffdffec360,0x0) ERR#2 'No such file or directory'
17064: mkdir("/usr/local/logstash/${ES_TMPDIR}",0777) ERR#13 'Permission denied'
17064: fstatat(AT_FDCWD,"/usr/local/logstash/${ES_TMPDIR}",0x7fffdffeba00,AT_SYMLINK_NOFOLLOW) ERR#2 'No such file or directory'
17064: mkdir("/usr/local/logstash/${ES_TMPDIR}",0777) ERR#13 'Permission denied'
17064: fstatat(AT_FDCWD,"/usr/local/logstash/${ES_TMPDIR}",0x7fffdffec3d0,0x0) ERR#2 'No such file or directory'
17064: pathconf("${ES_TMPDIR}/jruby-17064",_PC_NAME_MAX) ERR#2 'No such file or directory'
17064: fstatat(AT_FDCWD,"${ES_TMPDIR}/jruby-17064/jruby13431870033481296246psych.jar",0x7fffdffec400,0x0) ERR#2 'No such file or directory'
17064: openat(AT_FDCWD,"${ES_TMPDIR}/jruby-17064/jruby13431870033481296246psych.jar",O_RDWR|O_CREAT|O_EXCL,0666) ERR#2 'No such file or directory'
Looks like somewhere ES_TEMPDIR does not get translated properly?