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