logo       

Re: Par locking, death, and purgatory: msg#00002

lang.perl.par

Subject: Re: Par locking, death, and purgatory

On 17 Sep 2004 at 12:31, Jesse Schoch wrote:

> I've had some strangness in my app for quite a while, the problem was
> seemingly random, and the only way to fix was to reinstall, or install a
> different version of my app. I finaly figured out what is causing the
> problem, and I fear it may be par related.
>
> 1. System reboots, or app hangs/gets killed.
> 2. App tries to start, looks for cache.
> 3. inc directory (win XP) is loocked, par freaks out loops forever.
>
> What I need to do to fix it is to either change the binary (and cache
> folder), or move the inc dir. Windows woln't let me delete it because it is
> locked. Then the app starts up fine.
>
> Any ideas why this is? It is very difficult for me to simulate. Any ideas
> on debugging in a par built exe's early bootstrap stages?
>
> -jess
>
What are you doing when it crashes in the first place? Are you saying that the
system
reboots because of the PAR app or something else is unstable?

PAR doesn't "lock" anything. If XP doesn't let you delete the directory, it's
probably
because some DLL is still loaded in memory and has a file in the cache open, so
XP says
the dir is in use. A DLL can have a file open even if the program appears to
have gone
away / been killed. I have a viewer that does that to me all the time. I
presume that a
re-boot after the hang allows to you delete the cache.

My guess is that the open file is opened exclusive and that blocks the app
somehow on
the second try. You could try deleting the files in the cache one by one till
you get
an access denied. Which specific file may give you a hint to what's got it
still open,
and may tell us why it would hang a PAR app. I am also guessing that the hang
is not in
the PAR binary frontend, but par.pl or your app code. Try putting a print
statement in
a BEGIN block at the front of your app to see if your code actually starts or
not. We
need to determine if it's PAR or one of your DLLs that is hanging. You may need
to run
without "-g" to see the print.

Does this happen often enough that you can try these things soon? What are the
"heavy"
Perl modules that you are using in this app?

Alan Stewart




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise