MiniVend Akopia Services

[Date Prev][Date Next][Thread Prev][Thread Next][Minivend by date ][Minivend by thread ]

Re: Minivend Crash Continued



Quoting Bill (bill@webteam.net):
> ******    message to minivend-users from "Bill" <bill@webteam.net>     ******
> 
> Hi all,
> 
> I've continued to work on the crashing problem I'm experiencing with Digital
> Unix when the reload button is pressed quickly by a user.  The problem
> appears to stem from MiniVend not waiting for a child process to exit.  When
> this happens, the child process becomes <defunct>.  As a result MiniVend
> locks.  Here is a snippet from 'man'
> 
> [Digital]  When you enter a ps command while running an application
> that forks child processes, you might see some child processes listed
> as being in the <defunct> state after they have exited.  Processes in
> this state cannot be killed until the process that forked them is
> killed.
> 
> [Digital]  The system puts exiting child processes in the <defunct>
> state if their parent process is still running and has not caught the
> SIGCHLD signal or executed a wait() system call.
> 
> [Digital]  To avoid having users encounter this problem when they run
> your application, make sure that your program logic either catches the
> SIGCHLD signal or executes a wait() system call when spawning a child
> 
> I think I've narrowed the problem to forking, given the above, and given
> that MiniVend doesn't crash when running debug in the foreground.  I still
> haven't been able to determine the exact location of the problem in the code
> though.
> 
> Any thoughts would be appreciated.
>

If you have Perl 5.... no, I am not going to get into every combination.
With no version numbers, there is not much to think about. 8-\

If this is MV version 3.12 or higher, there should be no reason
that I know for this to occur.

If you have built Perl with threads enabled, then try a version without
threads. Beyond that, MiniVend uses the (normally) completely portable
double-forking method to dissociate the child from the parent. Indeed,
I have run MV on Digital UNIX before.

-- 
Mike Heins                          http://www.minivend.com/  ___ 
                                    Internet Robotics        |_ _|____
                                    131 Willow Lane, Floor 2  | ||  _ \
It's a little-known fact            Oxford, OH  45056         | || |_) |
that the Y1K problem caused         <mikeh@minivend.com>     |___|  _ <
the Dark Ages. -- unknown           513.523.7621 FAX 7501        |_| \_\


Search for: Match: Format: Sort by: