<msp-greg[m]>
A JRuby neophyte question re Windows. Looking at the JRuby head build used in Actions, and the JDK 11, the two are built using different msvc runtime versions. I looked at jruby.dll in JRuby. Normally, one doesn't combine the two, and it can cause issues...
<headius[m]>
We currently only ship a 32-bit binary so it may not be a problem right now... when we can't load libjvm we fall back on spawning a subprocess
<headius[m]>
Are you seeing a problem?
<msp-greg[m]>
I really haven't tried much with JRuby. With the mention of ffi & OpenSSL, I looked at the msvc versions to see what matched up with JRuby. For instance, with Ruby MRI, the mingw & mswin builds use different compilers, so mixing their dll's is not a good idea...
<msp-greg[m]>
I also didn't look at jruby.dll, so I don't know if it's really doing anything.
<headius[m]>
ok, it's probably not a issue in practice but I know we can't combine different versions of the C library
<headius[m]>
any problems you'd see would most likely fail very fast and probably not start up JRuby properly at all
ur5us has joined #jruby
<msp-greg[m]>
Actually, I know a company that embeds MinGW Ruby in a Windows application built with recent Visual Studio tools, and the issues they had were not related to startup. I think it was more memory management, like one runtime would free memory that the other needed? Never got into any serious discussions, as I'm not really a c type.
<headius[m]>
Ok we'll keep that in mind. Might be worth opening a bug on jruby/jruby-launcher so we keep it in mind going forward
<msp-greg[m]>
Ok. I'll look more this weekend, as it could be built on Actions with a matching version... Same version used for the mswin build.
<headius[m]>
the launcher is on its last legs these days and we seek to replace it with something easier to maintain, so this might all be moot soon
<headius[m]>
one more wrinkle... most Linux environments don't set JAVA_HOME and link to `java` from /usr/bin/java, so can't as easily determine JAVA_HOME
ur5us has quit [Quit: Leaving]
<enebo[m]>
headius: if you find that wrinkle let's table it for this launcher instead of putting hours more work into fixing it
<enebo[m]>
add it as an issue though so we can fix it
<enebo[m]>
if it is in fact a problem
<lopex>
wrt wrinkle, what can the scripts do anyways
<enebo[m]>
the complicated thing with that launcher is like an octopus it tries multiple ways of getting its answer so we almost need a matrix of what we think should or shouldn't work
<headius[m]>
yeah
<headius[m]>
enebo: the workaround of setting JAVA_HOME is a trivial ask
<headius[m]>
at this point I'm starting to wonder if anything short of actually starting up java will be a reliable indicator of what JDK we're running on