PerlingTheUK has asked for the wisdom of the Perl Monks concerning the following question:

Dearest Monks,
I have a problem with perlapp and fail to even find a clue how to sort it out or debug it.
I have a fully functional script, that once packaged as an executable causes a crash. This is the typical Windows Send error report style.
As far as I have debugged it, I know that Windows does not like to write my top level node back to an xml file. I verified the xml format, I tried different file names, I tried different machines, Perlapp 6.0 and 6.0.1, an included and excluded .dll libraries, compressed and uncompressed executables.
I am using PerlApp and Windows XP Pro as well for building as user platforms. The XML library is XML::DOM (Please no comments I have been tole it is not the best choice often enough.) And XML::DOM works just fine in a lot of other places using the same functions.
I do not know how or where to look any further as the "uncompiled" version works just fine.
Thank you for all help or suggestions.

Cheers,
PerlingTheUK
  • Comment on Perlapp packaging causes Crash in Executable

Replies are listed 'Best First'.
Re: Perlapp packaging causes Crash in Executable
by tchatzi (Acolyte) on May 30, 2005 at 19:58 UTC
    You say that it was functional before, you say that was build as an exe, but now it comes with an error.
    Which is the one, that produces the error, the exe, or the perlapp? And if you have the exe, then what are you trying to do with perlapp?
    Do you want to rebuild the original script to an exe again and the perlapp produces the error?
    Which one produces the error and what is the error you get?

    .
    ``The wise man doesn't give the right answers, he poses the right questions.'' TIMTOWTDI
      Well, there I am again with my unstructured questions. Sorry and thank you for helping me clarify:
      The script run through Xemacs or the windows console runs fine. I can also create an executable with perlapp without problems. Just then the executable crashes when I try to save the XML file. It then just crashes with the standard windows Report error dialog. If I use the "Test" link in Perlapp, no other outputs are produced.
      Thanks.

      Cheers,
      PerlingTheUK
        You said you tryed it in different pc's.
        Did you try to just run it there or to build also on them with perlapp ?
        And what is the error you have ?
        Cause if you just tryed to run it on different pc's then i think the problem is not on the script, but in your perlapp application that causing the problem because of your windows. So basicly will be your windows that have the problem, which occured when you installed perlapp.
        Try to build the exe with something else, like perl2exe or pp.
        See if the same problem occurs.

        ``The wise man doesn't give the right answers, he poses the right questions.'' TIMTOWTDI
Re: Perlapp packaging causes Crash in Executable
by tchatzi (Acolyte) on May 31, 2005 at 11:23 UTC
    How big is the file/files you prosseccing with this exe of yours, Cause i think there is a problem with the memory usage on your system.

    ``The wise man doesn't give the right answers, he poses the right questions.'' TIMTOWTDI
      Different sizes, up to two or three megabyte, no big files. However searching the AS Bug database returns a few crashes based on some reg. expressions. I will as soon as I have time try to fond out if they might have caused this.
      The only thing I just cannot understand is the these libraries worked fine in other tools.
      Can you tell me more about the memory problem you assume I have and possible workarounds?
      Thanks.

      Cheers,
      PerlingTheUK
        Usually errors like these
        AppName: test.exe AppVer: 0.81.0.0 ModName: perl58.dll ModVer: 5.8.6.811 Offset: 0008775c
        are caused because the exe uses more memory than it should, so it crash with Offset errors.
        Try to use the exe with smaller files than 500KB and see if it works.
        If it does work then break the files to smaller pieces and handle them one at a time.
        Let me know what happen.

        ``The wise man doesn't give the right answers, he poses the right questions.'' TIMTOWTDI