On 9/11/07, Werner LEMBERG <[EMAIL PROTECTED]> wrote:
>
> Please show me it again. Looking again at the backtrace it seems that
> the crash doesn't happen in tbl.exe but in a Windows DLL...
>
Finally there, may be / may not be the real problem. Description of the crash:
main.cpp (of tbl.exe) processed mixed_pickles.roff. At line 60,
Bit @ Code @ Warning @ Bit @ Code @ Warning
^^
|\
| p
ptr
string::remove_spaces ( ... ), tried to
a_delete ptr;
Crash then happened in free(...) of a_delete.
gdb output attached (CRLF, default). Last command issued was "step".
--
Yu-ning Feng
Breakpoint 1 at 0x405e6e: file main.cpp, line 1278.
Breakpoint 2 at 0x418d49: file string.cpp, line 314.
Breakpoint 3 at 0x406d7a: file main.cpp, line 1525.
Starting program: f:\tools\groff-current/src/preproc/tbl/tbl.exe
contrib/hdtbl/examples/mixed_pickles.roff
main (argc=2, argv=0x3d2498) at main.cpp:1525
1525 {
Continuing.
Breakpoint 1, process_data ([EMAIL PROTECTED], f=0x3d2ae8, opt=0x3d2560)
at main.cpp:1278
1278 input_entry.remove_spaces();
Continuing.
Breakpoint 2, string::remove_spaces (this=0x22fdc0) at string.cpp:314
314 a_delete ptr;
Continuing.
Breakpoint 1, process_data ([EMAIL PROTECTED], f=0x3d2ae8, opt=0x3d2560)
at main.cpp:1278
1278 input_entry.remove_spaces();
Continuing.
Breakpoint 2, string::remove_spaces (this=0x22fdc0) at string.cpp:314
314 a_delete ptr;
$1 = 0x3d26a8 " Code «««««þîþîþ"
#0 string::remove_spaces (this=0x22fdc0) at string.cpp:314
tmp = 0x3d2858 "Code««««««««îþîþ"
l = 3
p = 0x3d26a9 "Code «««««þîþîþ"
#1 0x00405e83 in process_data ([EMAIL PROTECTED], f=0x3d2ae8, opt=0x3d2560)
at main.cpp:1278
ln = 60
input_entry = {ptr = 0x3d26a8 " Code «««««þîþîþ", len = 4, sz = 6}
line_format = (entry_format *) 0x3d657c
col = 1
row_comment = 0
c = 64
tab_char = 64 '@'
ncolumns = 6
current_row = 0
format_index = 0
give_up = 0
type = DATA_INPUT_LINE
tbl = (table *) 0x3d2588
i = 2371624
#2 0x00406c5f in process_table ([EMAIL PROTECTED]) at main.cpp:1502
opt = (options *) 0x3d2560
form = (format *) 0x3d2ae8
tbl = (table *) 0x0
#3 0x0040198f in process_input_file (fp=0x77c2fce0) at main.cpp:258
input = {fp = 0x77c2fce0, state = MIDDLE, unget_stack = {ptr = 0x0,
len = 0, sz = 0}}
state = HAD_TS
c = 10
#4 0x00406fef in main (argc=2, argv=0x3d2498) at main.cpp:1580
fp = (FILE *) 0x77c2fce0
i = 1
stderr_buf = '\0' <repeats 511 times>
opt = -1
long_options = {{name = 0x420bb0 "help", has_arg = 0, flag = 0x0,
val = 128}, {name = 0x420bb5 "version", has_arg = 0, flag = 0x0,
val = 118}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
0x00419ed3 in operator delete[] ()
at f:/tools/groff-current/src/include/cset.h:75
75 } _cset_init;
operator delete (p=0x3d26a8) at new.cpp:63
63 {
68 if (p)
69 free(p);
warning: HEAP[tbl.exe]:
warning: Heap block at 003D26A0 modified at 003D26AB past requested size of 3
Program received signal SIGTRAP, Trace/breakpoint trap.
0x7c921231 in ntdll!DbgUiConnectToDbg () from ntdll.dll