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

Reply via email to