[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
tcl debugger errors :-(
From: |
Dan Kegel |
Subject: |
tcl debugger errors :-( |
Date: |
Tue, 10 Jun 2003 15:31:52 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030529 |
The TCL debugger dumped core when I tried to use it.
$ runtest -D1 test2.exp
1: # Test Framework Driver
# Copyright (C) 1992 - 2001 Free Software Founda...
dbg1.0> b "^remote_load "
0
dbg1.1> c
Tcl_AppendStringsToObj called with shared object
Aborted
Tsk. Guess I can't set breakpoints with regular expressions.
How about by line number?
dbg1.0> b test2.exp:3
setting breakpoints by line number is currently unimplemented - use patterns or
expressions
0
D'oh.
Interestingly, valgrind didn't find any problems in that first run,
so it's probably not a wild pointer or uninitialized variable.
(A comment on usenet made me think it might be a refcount problem?)
However, if you single-step much, valgrind starts complaining
after 89 statements or so. Same problem on Debian 3.0, Red Hat 8,
and Red Hat 9, with varying versions of expect and dejagnu.
Here's a partial log:
$ valgrind /usr/bin/expect /usr/share/dejagnu/runtest.exp foo.exp
==9745== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux.
==9745== Copyright (C) 2002, and GNU GPL'd, by Julian Seward.
==9745== Using valgrind-1.9.6, a program instrumentation system for x86-linux.
==9745== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
==9745== Estimated CPU clock rate is 752 MHz
==9745== For more details, rerun with: -v
==9745==
1: # Test Framework Driver
# Copyright (C) 1992 - 2001 Free Software Founda...
dbg1.0> s 89
1: verbose "Verbose level is $verbose"
dbg1.1> w
*0: /usr/bin/expect {-D1} {/usr/share/dejagnu/runtest.exp} {foo.exp}
1: verbose {Verbose level is 0}
dbg1.2> s
2: global verbose
dbg2.3> w
0: /usr/bin/expect {-D1} {/usr/share/dejagnu/runtest.exp} {foo.exp}
==9745== Invalid write of size 4
==9745== at 0x4022EA15: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EB54: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EE44: (within /usr/lib/libexpect5.38.so)
==9745== Address 0x41215AAC is 4 bytes inside a block of size 6 alloc'd
==9745== at 0x4016138C: malloc (vg_clientfuncs.c:103)
==9745== by 0x40255342: TclpAlloc (in /usr/lib/libtcl8.3.so)
==9745== by 0x4025A370: Tcl_Alloc (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E9E3: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Invalid write of size 4
==9745== at 0x4022EA1E: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EB54: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EE44: (within /usr/lib/libexpect5.38.so)
==9745== Address 0x41215AB0 is 2 bytes after a block of size 6 alloc'd
==9745== at 0x4016138C: malloc (vg_clientfuncs.c:103)
==9745== by 0x40255342: TclpAlloc (in /usr/lib/libtcl8.3.so)
==9745== by 0x4025A370: Tcl_Alloc (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E9E3: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Conditional jump or move depends on uninitialised value(s)
==9745== at 0x402A01E2: TclFindElement (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E89B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Conditional jump or move depends on uninitialised value(s)
==9745== at 0x402A0204: TclFindElement (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E89B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Use of uninitialised value of size 4
==9745== at 0x402A020A: TclFindElement (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E89B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Use of uninitialised value of size 4
==9745== at 0x402A021B: TclFindElement (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E89B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Conditional jump or move depends on uninitialised value(s)
==9745== at 0x402A0244: TclFindElement (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E89B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Conditional jump or move depends on uninitialised value(s)
==9745== at 0x402A04BC: TclFindElement (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E89B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Conditional jump or move depends on uninitialised value(s)
==9745== at 0x402A052D: TclFindElement (in /usr/lib/libtcl8.3.so)
==9745== by 0x4022E89B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Use of uninitialised value of size 4
==9745== at 0x4022E89F: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EB54: (within /usr/lib/libexpect5.38.so)
==9745==
==9745== Use of uninitialised value of size 4
==9745== at 0x4022E9A3: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA37: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EA9B: (within /usr/lib/libexpect5.38.so)
==9745== by 0x4022EB54: (within /usr/lib/libexpect5.38.so)
==9745==
So, it's back to printf debugging for me.
- Dan
--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045
- tcl debugger errors :-(,
Dan Kegel <=