
faught at zeppelin
Aug 21, 1995, 4:18 PM
Post #1 of 2
(484 views)
Permalink
|
I'm getting a core dump from perl5.001m on ConvexOS 11.0. It's difficult to reproduce, so I don't have a nice test to give. It happened when I used syntax for the wrong shell in root's crontab, and the whole process group seems to get a SIGPIPE. There is no output from perl indicating a problem. Here's what adb says: (adb) $? job 0: no process job 0: coredump of `perl', version 0.0 job 0: coredump created Mon Aug 21 17:25:10 1995 job 0/0: stopped by an illegal instruction (6) job 0/0: register display pc=800b8500 ps=80008080 (C,XF,FE,RES) tt=0039782d sp=fff7cff8 a1=8010237b a2=fff7d0c2 a3=fff7d0d3 a4=000fc270 a5=fff7e6bc ap=fff7d02c fp=fff7d018 s0=000000008004a6a0 s1=0000000000000020 s2=70616e6400000000 s3=72756e2000000001 s4=7465642000000000 s5=6f72612000000000 s6=61626f7200000000 s7=62792053fff7e724 (adb) $c 0x800b84e8(8004a6a0,fff7e4fc,fff7e500,fff7e4e8,fff7e4e0,fff7e4dc) from __doprnt$n+0x190 [ap = fff7d028] __doprnt$n(8004a6a0,fff7e77c,fff7e6b4) from __doprnt+0x18 [ap = fff7e6a0] __doprnt(8004a6a0,fff7e77c,fff7e6b4) from _vsprintf+0x38 [ap = fff7e6a0] _vsprintf(80102368,8004a68c,fff7e77c) from _mess+0xf0 [ap = fff7e6e0] _mess(8004a68c,fff7e760) from _die+0x40 [ap = fff7e738] _die(8004a68c,80232044) from _pp_method+0x48a [ap = fff7e778] _pp_method+0x48a() from _run+0x66 [ap = fff7e7d0] _run() from _perl_call_sv+0x362 [ap = fff7e7e8] _perl_call_sv(8027bfd0,2) from _sighandler+0x44c [ap = fff7e880] signal(4,1,fff7e8dc,8003f25e,800c19fc) from 0xffffd0a6 [ap = fff7e8c8] 0x10000000[argc=3852491]() from __longjmp+0x1bc [ap = fff7e970] _fclose(800ef7c4) from __cleanup+0x2e [ap = ffffcee0] __cleanup() from _exit+0x24 [ap = ffffcf10] _exit(9) from ___ap$envret+0x48 [ap = ffffcf28] From the backtrace, I can guess that perl is exiting when it takes a signal. Then perl traps the signal and decides to die, but shoots itself in the foot by trying to use something that's already cleaned up because it's exiting. How close is my diagnosis? It's a pretty large body of code - any tips in narrowing it down? -Danny
|