This problems seems to occur with every new version of PAR-Packer, so I created a new thread that isn’t version specific so we can keep referring to it.
The version-specific patch is around here:
Today, with Perl 5.36.3 and all package versions set to Auto, the build fails on PAR1.020 and PAR-Packer 1.063. I tried rolling back to PAR-Packer 1.062 and PAR-Packer 1.061, but then the dependencies cannot be resolved.
I can provide the error messages, but this seems like a known recurring problem that you guys have been able to fix quickly in the past. Let me know if I can help.
You are correct that we need to apply the fix to new versions as they come in - Apparently we couldn’t just apply the same patch to this version - the fix is in on our side, but it won’t be surfaced until tomorrow or Monday.
If you don’t mind, please send a link to your project - it’s a bit suspicious to me that 1.062 wouldn’t resolve properly - that may indicate another issue.
I just tried with the latest versions of PAR and PAR-Packer available on the state platform (1.020 and 1.063, respectively), and found a regression bug: the exit value of the packaged executable is incorrect about 10% of the time: the packaged executable would exit with a seemingly random value (it’s often 5), yet the original script ends with an explicit exit(0) statement.
I found this while running my regression testing (using Test::Cmd and Test::More for automated testing). Running the same automated test over and over will sometimes show the program exiting with the wrong exit code, but the test conditions haven’t changed.
The straight Perl script (the .pl file) doesn’t have this problem, and neither does the same script I had packaged with the previous versions of PAR (1.019 and 1.061). I have not changed my Perl script or my test harness. The only change is a state pull on June 11, while the previous one was on February 16.
I know you guys have to fix something with every release of PAR and PAR-Packer. Is there a chance that this modification can introduce such a bug?
I searched the changes in the source PAR-Packer distribution, and found only one related to this, but it was for version 1.059: correctly propagate the exit value of a packed executable. In other words, it looks like the PAR source hasn’t changed the way the exit values are processed since 1.059, but I see a difference between 1.061 and 1.063 on ActiveState.