<jswenson[m]>
trying with 9.2.14.0 now, just to check
<headius[m]>
well there was a fix for system + chdir
<headius[m]>
supposed to improve argument passing... previously it would generate a shell script string and execute it directly but that screwed up quoting
<headius[m]>
that is the sh -c you are seeing
<headius[m]>
it passes the dir and all elements of the system call as args to a shell script that does cd followed by exec(args) basically
<headius[m]>
it is a clean way for us to pass the system args through without stuffing them in a string and messing up quoting etc
<jswenson[m]>
Looks like using backticks instead of system might unblock us
<jswenson[m]>
and 9.2.14.0 seems to work as before
<headius[m]>
do you have an example command line that gets stuck?
<jswenson[m]>
* Looks like using backticks instead of system might unblock us. Edit: maybe not
<headius[m]>
the primary fix was to get chdir + quoting working right but there are other misc items in there
<headius[m]>
that first commit there explains the sh -c change
<headius[m]>
bleh
<headius[m]>
my sh expert said this is posix and should work right everywhere
<headius[m]>
I bet it is the introduction of exec that is throwing something off
<headius[m]>
but we also wanted to eliminate the intermediate sh process
<jswenson[m]>
this is the command that is launching the hanging process: `sh -c cd '/usr/local/.../looker/helltool/jvm-modules'; /nix/store/29w5rv207rcakiabb0hljnfp3nkcd0mv-gradle-6.7/bin/gradle buildHellToolJar`
<headius[m]>
can you test a patched 9.2.15 if I give you a patch? Basically removing exec from that sh command line
<headius[m]>
jswenson: if this needs a new release we can do it but I want to know exactly why it is broken
<headius[m]>
jswenson: and you should open a bug when you get a chance
<jswenson[m]>
still trying to build jruby myself
<jswenson[m]>
Will do.
<headius[m]>
does `gradle` command have an interactive mode?
<headius[m]>
main thing I can think of that might cause a problem would be that exec will inherit tty and subprocess might think it is in an interactive terminal then
<headius[m]>
that is why exec with redirects hangs... launches bash in interactive mode and bash is sitting there waiting for input
<headius[m]>
not sure we can do a headless exec in posix though
<headius[m]>
isn't this stuff fun
<headius[m]>
jswenson: I am getting back to my planned tasks for today, do what you can to confirm this fix and get more info on what is launched
<headius[m]>
if the command it launches is still running when hung, and it is a JVM process, getting a jstack from it would also be helpful
<jswenson[m]>
trying to link my custom build into nix now so should be able to verify the change soon
<headius[m]>
oh you guys use nix too
<headius[m]>
neat
<jswenson[m]>
Yeah, I just recently started using it for development.
<jswenson[m]>
But we have a few folks who are driving its adoption here
_whitelogger has joined #jruby
Freeky is now known as Freaky
<jswenson[m]>
Ok I believe I have successfully built and run this with the patched version and the process still hangs.
ur5us has quit [Ping timeout: 240 seconds]
<jswenson[m]>
Seems to hang in the same place. Notably, running gradle --version (compared to an actual gradle build task) seems to complete without problems.
<jswenson[m]>
* Seems to hang in the same place. Notably, running `gradle --version` (compared to an actual gradle build task) seems to complete without problems.
<headius[m]>
hmmm I see
<headius[m]>
I pasted some examples of a bare `gradle` execution not hanging with that sh form at the command line which seems to support it not being the exec
<headius[m]>
can you get a thread dump from the parent process?