|Pathologically Eclectic Rubbish Lister|
PAR binary with Storable works for a while then diesby iguanodon (Priest)
|on Jun 04, 2007 at 20:09 UTC ( #619220=perlquestion: print w/replies, xml )||Need Help??|
iguanodon has asked for the wisdom of the Perl Monks concerning the following question:
I work with several AIX boxes where I don't have root access, and getting new modules installed is a long, difficult process. So far I've been able to install my own copy of Perl on a dev box, but not on any test or production ones. In order to use non-core modules in my scripts I opted to not install them locally, instead I've been packing them up with PAR on the dev box and distributing the binary to the test and prod environments. This all works fine... until it stops working. When I first install a PAR binary everything runs smoothly. But after some period of time (usually a few weeks), the script will die with this error:
The last line there is strange, the path given in the "Compilation failed in require at" exists only on the dev box, but it gets printed on the other boxes. I don't know what to make of that but I thought it might be worth mentioning.
I thought this might be due to corruption of the file Storable is storing to, but deleting the file and letting it get get created again doesn't solve the problem. I also don't think the problem is corruption of the packed PAR file. I've just started tracking checksums to verify that but I'll have to wait until the problem reappears to know for sure.
But I've found that if I just re-pack the binary with PAR and distribute it again, it solves the problem. No changes to the code, just pack again and it starts working. Then the new binary will work for a few weeks and blow up again.
Any pointers to help me debug this further?
Back to Seekers of Perl Wisdom