On January 14, 2018 4:33 PM, I wrote: > On January 14, 2018 1:41 PM Johannes Sixt wrote: > > Sent: > > Am 14.01.2018 um 17:50 schrieb Randall S. Becker: > > > Follow-up: This looks like the completion code from perl on NonStop > > > is not the same as expected by git in the case of failures. I need > > > to debug this to get more details to the team. We have had > > > completion issues before relating to interpretation problems between > > > perl, bash, and git in this platform, so I'm assuming this to be > > > likely again but need to > > track down the specifics. > > > Can anyone point me to where the detection is within git or the execv? > > > > Perhaps you are looking for wait_or_whine() in run-command.c? But this > > function cannot do anything if perl alread exits with an exotic code > > (> > > 128 even though no signal was received). > > The exotic error code coming back from perl is 162. I can muck with it, if > there was a value more useful to git. > * 553 } else if (WIFEXITED(status)) { > * 554 code = WEXITSTATUS(status); > (eInspect 3,887):p code > $4 = 162 > > The perl code uses die to terminate with a non-specific non-zero error code. > What it seems is that there is an assumed value that the git tests depend on, > but perl.org describes the following: > > "die raises an exception. Inside an eval the error message is stuffed into $@ > and the eval is terminated with the undefined value. If the exception is > outside of all enclosing evals, then the uncaught exception prints LIST to > STDERR and exits with a non-zero value. If you need to exit the process with > a specific exit code, see exit." > > So it seems that we might need to either not use die or change the tests not > to care about the exit code for specific tests involving perl. Suggestions? Sadly, while changing the funky 162 completion code to 255 works fine for t9001, it causes a bunch of other tests to fail (parts of 1308 and most of 1404). I can't tall whether this is test suite or code related but I'm caught in the middle. Going to the platform developers may eventually get the fix for t9001 (fixing perl), but otherwise, I'm not sure why changing 162 to 255 causes 1308 and 1404 to blow so badly. In any event, I'm putting this away for a few days due to $DAYJOB. Cheers, Randall