Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Perl: porters

core dump in exit path

 

 

Perl porters RSS feed   Index | Next | Previous | View Threaded


faught at zeppelin

Aug 21, 1995, 4:18 PM

Post #1 of 2 (484 views)
Permalink
core dump in exit path

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


ilya at math

Aug 21, 1995, 7:20 PM

Post #2 of 2 (447 views)
Permalink
Re: core dump in exit path [In reply to]

Danny R. Faught writes:
>
> 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:
[...]
>
> >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
>

I get coredumps in exit code quite often, and they are reproducible.
I can try to investigate, if this is interesting (I did not think
so). They happen during exit from debugger when DESTROY is complicated,
and has a breakpoint set.

Ilya

Perl porters RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.