[Zope-dev] What does error code 136 mean?

Leonardo Rochael Almeida leo@hiper.com.br
03 Sep 2002 14:55:03 -0300


On Tue, 2002-09-03 at 06:25, Peter Keller wrote:
> Hi,
> 
> I am having trouble with the current version of ZWiki. ZWiki's author
> is puzzled, and suggested that I try one of the Zope lists. I set up a
> ZCatalog on a ZWiki folder as described at
> http://zwiki.org/HowToInstallAZwikiCatalog
> 
> The following DTML from ZWiki's RecentChanges:
> 
>    <dtml-in Catalog sort=lastEditTime reverse>
> 
> causes a python core file to be produced, and with stupid log enabled I
> get this message:
> 
>   2002-09-02T09:57:30 ERROR(200) zdaemon zdaemon: Mon Sep 2 10:57:30 2002:
>   Aiieee! 322190 exited with error code: 136

The Zope file which prints that message is lib/python/zdaemon/Daemon.py,
line 88, which gets the signal number from the waitpid() function in
line 80 (or 82, depending on some heartbeat stuff I didn't care to
check).

Let's see what python has to say about this error code:

  >>> import os
  >>> os.WIFSIGNALED(136)
  1

hmm, the process was killed by a signal... let's see what signal that
was:

  >>> os.WTERMSIG(136)   
  8

hmm, never seen that before, what is that signal?

  leo@spitfire:~$ kill -l 8
  FPE

Floating point exception?! Shouldn't python trap that and raise proper
exception instead?

> 
> I am using Zope 2.5.1 with python 2.1.3 under HP (was Compaq) Tru64 Unix
> version 5.0
> 
> Does anyone have any suggestions about what is going wrong?

Try to run zope under a debugger. Follow instructions here:
http://www.zope.org/Members/4am/debugspinningzope

but type "continue" (w/out quotes) as soon as you get the gdb prompt to
get zope to run normally.

Then try to cause the error condition you saw. When Zope gets the sigfpe
signal, this will cause gdb to step in and show you a prompt. Follow the
last part of the instructions in the url above to get a python traceback
(the proper python thread will probably already be selected).

Of course, this all depends on how well gdb (or your preferred debugger,
should you chose to adapt the instructions) works correctly with threads
on True64.

Would it be possible to try and reproduce your problem on a recent Linux
installation? This is the only configuration I know for sure the above
gdb recipe works

Cheers, Leo

-- 
Ideas don't stay in some minds very long because they don't like
solitary confinement.