Closed Bug 156692 Opened 22 years ago Closed 22 years ago

ah_crap_handler shouldn't call sleep() when app is run from tinderbox

Categories

(SeaMonkey :: Build Config, enhancement)

x86
Linux
enhancement
Not set
normal

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: timeless, Assigned: netscape)

References

()

Details

119 ah_crap_handler(int signum)
120 {

125   printf("\nProgram %s (pid = %d) received %s signal.\n",

136   printf("Stack:\n");
137   nsTraceRefcnt::WalkTheStack(stdout);
I think that we should have an env var that disables the following code:
139   printf("Sleeping for 5 minutes.\n");
140   printf("Type 'gdb %s %d' to attatch your debugger to this thread.\n",
141          _progname,
142          getpid());
144   sleep(300);
146   printf("Done sleeping...\n");
--
147 }

The reason is that when a tool crashes on some tinderboxes, you get this:

Running regxpcom test ...
Timeout = 15 seconds.
Begin: Tue Jul  9 18:54:52 2002
cmd = regxpcom
Process killed. Took 2 seconds to die.
End:   Tue Jul  9 18:55:08 2002

this is output from kill_process
http://lxr.mozilla.org/mozilla/source/tools/tinderbox/build-seamonkey-util.pl#1525
(run_cmd calls wait_for_pid calls kill_process)

the problem is that 15s is really incompatible with 300s.

we should call getenv(something) and have tinderbox set the variable.
if it's set then we should skip over this sleep code.
Beware that it is possible to go into a rapid infinite-SEGV-loop if the sleep()
is omitted.
I don't believe that this is a real problem.  Even though ah_crap_handler is
waiting for potential user interaction (via gdb), there's no reason that the
tinderbox script still can't send a SIGTERM (or SIGKILL) to terminate the app. 
And since ah_crap_handler is only invoked from a SIGSEGV, SIGILL or SIGABRT
(usually internally invoked), the tinderbox shouldn't trigger that function and
attempt to stall for 5 mins.

(Btw, regxpcom is a bad example here as it doesn't even use ah_crap_handler.
Only apprunner does.)


Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → INVALID
verified.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
Depends on: 324483
You need to log in before you can comment on or make changes to this bug.