Posted to tcl by miguel at Fri May 13 18:16:56 GMT 2011view pretty

mig@ari:~/DEVEL/tcl-core/tmp/unix$ ./tcltest 
% proc foo {} bar
% proc bar {} sum
% proc sum {} testpanic
% foo

Aborted (core dumped)
mig@ari:~/DEVEL/tcl-core/tmp/unix$ gdb ./tcltest core 
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/mig/DEVEL/tcl-core/tmp/unix/tcltest...done.
[New Thread 10922]
[New Thread 10923]

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/libdl.so.2...Reading symbols from /usr/lib/debug/lib/libdl-2.12.1.so...done.
done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/libpthread-2.12.1.so...done.
done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libm.so.6...Reading symbols from /usr/lib/debug/lib/libm-2.12.1.so...done.
done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libc.so.6...Reading symbols from /usr/lib/debug/lib/libc-2.12.1.so...done.
done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.12.1.so...done.
done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib/libnss_compat.so.2...Reading symbols from /usr/lib/debug/lib/libnss_compat-2.12.1.so...done.
done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...Reading symbols from /usr/lib/debug/lib/libnsl-2.12.1.so...done.
done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libnss_nis.so.2...Reading symbols from /usr/lib/debug/lib/libnss_nis-2.12.1.so...done.
done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...Reading symbols from /usr/lib/debug/lib/libnss_files-2.12.1.so...done.
done.
Loaded symbols for /lib/libnss_files.so.2
Core was generated by `./tcltest'.
Program terminated with signal 6, Aborted.
#0  0x00007f62a7151ba5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt 10
#0  0x00007f62a7151ba5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007f62a71556b0 in abort () at abort.c:92
#2  0x0000000000457179 in Tcl_PanicVA (format=0x597772 "%s", argList=0x7fff1a2d38e0) at /home/mig/DEVEL/tcl-core/tmp/generic/tclPanic.c:115
#3  0x000000000045723e in Tcl_Panic (format=0x597772 "%s") at /home/mig/DEVEL/tcl-core/tmp/generic/tclPanic.c:144
#4  0x0000000000419d9e in TestpanicCmd (dummy=0x0, interp=0xe3dd70, argc=1, argv=0xe421b0) at /home/mig/DEVEL/tcl-core/tmp/generic/tclTest.c:4490
#5  0x00000000004c1671 in TclInvokeStringCommand (clientData=0xea5ea0, interp=0xe3dd70, objc=1, objv=0xe42198)
    at /home/mig/DEVEL/tcl-core/tmp/generic/tclBasic.c:2334
#6  0x00000000004c40c4 in TclNREvalObjv (interp=0xe3dd70, objc=1, objv=0xe42198, flags=2097152, cmdPtr=0xea5ea0)
    at /home/mig/DEVEL/tcl-core/tmp/generic/tclBasic.c:4273
#7  0x000000000054dc4a in TEBCresume (data=0xe848e8, interp=0xe3dd70, result=0) at /home/mig/DEVEL/tcl-core/tmp/generic/tclExecute.c:2789
#8  0x00000000004c424a in TclNRRunCallbacks (interp=0xe3dd70, result=0, rootPtr=0x0) at /home/mig/DEVEL/tcl-core/tmp/generic/tclBasic.c:4315
#9  0x00000000004c6be5 in TclEvalObjEx (interp=0xe3dd70, objPtr=0x0, flags=131072, invoker=0x0, word=0)
    at /home/mig/DEVEL/tcl-core/tmp/generic/tclBasic.c:5882
(More stack frames follow...)
(gdb) f 8
#8  0x00000000004c424a in TclNRRunCallbacks (interp=0xe3dd70, result=0, rootPtr=0x0) at /home/mig/DEVEL/tcl-core/tmp/generic/tclBasic.c:4315
4315		result = procPtr(callbackPtr->data, interp, result);
(gdb) p *callbackPtr
$1 = {procPtr = 0x54b771 <TEBCresume>, data = {0xe42110, 0x0, 0x0, 0x0}, nextPtr = 0xe85690}
(gdb) p *callbackPtr->nextPtr
$2 = {procPtr = 0x462c42 <InterpProcNR2>, data = {0xe85bd0, 0x463119, 0x0, 0x0}, nextPtr = 0xe856f0}
(gdb) p *callbackPtr->nextPtr->nextPtr
$3 = {procPtr = 0x4c42d2 <NRCommand>, data = {0xed52f0, 0x0, 0x0, 0x0}, nextPtr = 0xe87310}
(gdb) p *((Command *)callbackPtr->nextPtr->nextPtr->data[0])
$4 = {hPtr = 0xed6cf0, nsPtr = 0xe28730, refCount = 3, cmdEpoch = 0, compileProc = 0, objProc = 0x462a19 <TclObjInterpProc>, 
  objClientData = 0xe9be70, proc = 0x4c1693 <TclInvokeObjectCommand>, clientData = 0xed52f0, deleteProc = 0x4631c2 <TclProcDeleteProc>, 
  deleteData = 0xe9be70, flags = 0, importRefPtr = 0x0, tracePtr = 0x0, nreProc = 0x462a57 <TclNRInterpProc>}
(gdb) p *((Proc *)((Command *)callbackPtr->nextPtr->nextPtr->data[0])->clientData)
$5 = {iPtr = 0xed6cf0, refCount = 14845744, cmdPtr = 0x3, bodyPtr = 0x0, numArgs = 4598297, numCompiledLocals = 0, firstLocalPtr = 0xe9be70, 
  lastLocalPtr = 0x4c1693}
(gdb) p *callbackPtr->nextPtr->nextPtr->nextPtr
$6 = {procPtr = 0x54b771 <TEBCresume>, data = {0xe41ff0, 0x1, 0x0, 0x0}, nextPtr = 0xe85c00}
(gdb) p *callbackPtr->nextPtr->nextPtr->nextPtr->nextPtr
$7 = {procPtr = 0x462c42 <InterpProcNR2>, data = {0xe85a20, 0x463119, 0x0, 0x0}, nextPtr = 0xe3d9c0}
(gdb) p *callbackPtr->nextPtr->nextPtr->nextPtr->nextPtr->nextPtr
$8 = {procPtr = 0x4c42d2 <NRCommand>, data = {0xed4ff0, 0x0, 0x0, 0x0}, nextPtr = 0xe85ba0}
(gdb) p *((Command *)callbackPtr->nextPtr->nextPtr->nextPtr->nextPtr->nextPtr)
$9 = {hPtr = 0x4c42d2, nsPtr = 0xed4ff0, refCount = 0, cmdEpoch = 0, compileProc = 0, objProc = 0, objClientData = 0xe85ba0, proc = 0x1, 
  clientData = 0xe9ba70, deleteProc = 0xf, deleteData = 0x7dbea0, flags = 15552240, importRefPtr = 0x0, tracePtr = 0x1, nreProc = 0xe83880}
(gdb) p *((Command *)callbackPtr->nextPtr->nextPtr->nextPtr->nextPtr->nextPtr->data[0])
$10 = {hPtr = 0xecdbd0, nsPtr = 0xe28730, refCount = 3, cmdEpoch = 0, compileProc = 0, objProc = 0x462a19 <TclObjInterpProc>, 
  objClientData = 0xe9b970, proc = 0x4c1693 <TclInvokeObjectCommand>, clientData = 0xed4ff0, deleteProc = 0x4631c2 <TclProcDeleteProc>, 
  deleteData = 0xe9b970, flags = 0, importRefPtr = 0x0, tracePtr = 0x0, nreProc = 0x462a57 <TclNRInterpProc>}
(gdb) p *((Proc *)((Command *)callbackPtr->nextPtr->nextPtr->nextPtr->nextPtr->nextPtr->data[0]))
$11 = {iPtr = 0xecdbd0, refCount = 14845744, cmdPtr = 0x3, bodyPtr = 0x0, numArgs = 4598297, numCompiledLocals = 0, firstLocalPtr = 0xe9b970, 
  lastLocalPtr = 0x4c1693}
(gdb) p *((Proc *)((Command *)callbackPtr->nextPtr->nextPtr->nextPtr->nextPtr->nextPtr->data[0])->objClientData)
$12 = {iPtr = 0xe3dd70, refCount = 2, cmdPtr = 0xed4ff0, bodyPtr = 0xe859c0, numArgs = 0, numCompiledLocals = 0, firstLocalPtr = 0x0, 
  lastLocalPtr = 0x0}
(gdb) p *((Proc *)((Command *)callbackPtr->nextPtr->nextPtr->nextPtr->nextPtr->nextPtr->data[0])->objClientData)->bodyPtr
$13 = {refCount = 1, bytes = 0xec8100 "sum", length = 3, typePtr = 0x7dbea0, internalRep = {longValue = 15554800, 
    doubleValue = 7.6850923079314217e-317, otherValuePtr = 0xed58f0, wideValue = 15554800, twoPtrValue = {ptr1 = 0xed58f0, ptr2 = 0xe85cf0}, 
    ptrAndLongRep = {ptr = 0xed58f0, value = 15228144}}}
(gdb)