[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 |_| \_\