Hi

Vim-7.2.330 (huge, Linux x86-64, in GNOME terminal)
crashed while editing files.  I can't reproduce it unfortunately.

It happened when trying to modify a file.  The file was in
Perforce, not checked-out, and trying to modify it caused
the Perforce-4.1 plugin to check-out the file. Vim crashed
at that time. File has been successfully checked-out.

Maybe related to an issue which I reported a while
ago which also happened when checking out a file with
the Perforce plugin. But symptoms and stack trace were
very different. That issue was addressed by patch 7.2.189
but it just was a workaround to something which should not
happen in the first place:

  Subject: [bug] infinite loop using 100% CPU in edit.c
  To: vim_dev <[email protected]>
  Date: Wed, 29 Apr 2009 19:04:18 +0200

  http://groups.google.com/group/vim_dev/browse_thread/thread/efc4f27fe47c9be8#

Hopefully the stack trace where it crashed (summarized
stack trace + full stack trace) is enough to track the issue:

(gdb) bt
#0  0x00007f0e93772d0e in ?? () from /lib64/libc.so.6
#1  0x00007f0e9370ed5a in ?? () from /lib64/libc.so.6
#2  0x00007f0e937093b8 in ?? () from /lib64/libc.so.6
#3  0x00007f0e937362aa in fork () from /lib64/libc.so.6
#4  0x00000000005157a1 in mch_call_shell (cmd=0x7f0e88001340 "echo -ne
\"\\033]12;red\\007\"",
    options=4) at os_unix.c:3903
#5  0x00000000004dc1bf in call_shell (cmd=0x7f0e88001340 "echo -ne
\"\\033]12;red\\007\"", opt=4)
    at misc2.c:3066
#6  0x0000000000453885 in do_shell (cmd=0x7f0e88001340 "echo -ne
\"\\033]12;red\\007\"", flags=0)
    at ex_cmds.c:1427
#7  0x0000000000453070 in do_bang (addr_count=0, eap=0x837310,
forceit=0, do_in=1, do_out=1)
    at ex_cmds.c:1034
#8  0x000000000046fb7d in ex_bang (eap=0x837310) at ex_docmd.c:8404
#9  0x0000000000466586 in do_one_cmd (cmdlinep=0x8379b8, sourcing=1,
cstack=0x837510,
    fgetline=0x48f19d <getnextac>, cookie=0x837ab0) at ex_docmd.c:2627
#10 0x0000000000463ce9 in do_cmdline (cmdline=0x0, getline=0x48f19d
<getnextac>, cookie=0x837ab0,
    flags=7) at ex_docmd.c:1096
#11 0x000000000048ed06 in apply_autocmds_group (event=EVENT_VIMLEAVE,
    fname=0x7f0e880011b0
"/home/dope/dev/maptoolchainsource/Source/Common/HilbertCurve.h",
    fname_io=0x0, force=0, group=-3, buf=0xea9ff0, eap=0x0) at fileio.c:9077
#12 0x000000000048e569 in apply_autocmds (event=EVENT_VIMLEAVE,
fname=0x0, fname_io=0x0, force=0,
    buf=0xea9ff0) at fileio.c:8686
#13 0x00000000004aa5cb in getout (exitval=1) at main.c:1317
#14 0x00000000004d7c39 in preserve_exit () at misc1.c:8392
#15 0x00000000005132c0 in deathtrap (sigarg=6) at os_unix.c:1076
#16 <signal handler called>
#17 0x00007f0e936c65c5 in raise () from /lib64/libc.so.6
#18 0x00007f0e936c7bb3 in abort () from /lib64/libc.so.6
#19 0x00007f0e937043a8 in ?? () from /lib64/libc.so.6
#20 0x00007f0e93709af8 in ?? () from /lib64/libc.so.6
#21 0x00007f0e9370b6e6 in free () from /lib64/libc.so.6
#22 0x00000000004da997 in vim_free (x=0xe27db0) at misc2.c:1647
#23 0x00000000004bdffc in ml_flush_line (buf=0xea9ff0) at memline.c:3162
#24 0x00000000004bbdba in ml_get_buf (buf=0xea9ff0, lnum=27,
will_change=0) at memline.c:2124
#25 0x00000000004ce5cc in plines_win_nofold (wp=0x83f870, lnum=27) at
misc1.c:1732
#26 0x00000000004ce574 in plines_win_nofill (wp=0x83f870, lnum=27,
winheight=1) at misc1.c:1713
#27 0x00000000004df625 in comp_botline (wp=0x83f870) at move.c:92
#28 0x00000000004e0185 in validate_botline () at move.c:586
#29 0x00000000004dfa34 in update_topline () at move.c:276
#30 0x00000000004e0c1d in curs_columns (scroll=1) at move.c:993
#31 0x00000000004e0272 in validate_cursor () at move.c:677
#32 0x000000000053cbeb in setcursor () at screen.c:8218
#33 0x00000000004ef967 in display_showcmd () at normal.c:3909
#34 0x00000000004ef712 in clear_showcmd () at normal.c:3768
#35 0x00000000004eb19d in normal_cmd (oap=0x7fff9dfa0ca0, toplevel=1)
at normal.c:1319
#36 0x00000000004aa37c in main_loop (cmdwin=0, noexmode=0) at main.c:1211
#37 0x00000000004a9e69 in main (argc=2, argv=0x7fff9dfa0f98) at main.c:955


It crashed when doing "vim_free(new_line);" at memline.c:3162.
'new_line' contains an odd pattern (which does not appear in the
file I was editing):

        new_line = (char_u *) 0xe27db0 ")uvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

Not sure whether new_line was already freed or whether
it was an invalid pointer.

(gdb) bt full
#0  0x00007f0e93772d0e in ?? () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007f0e9370ed5a in ?? () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007f0e937093b8 in ?? () from /lib64/libc.so.6
No symbol table info available.
#3  0x00007f0e937362aa in fork () from /lib64/libc.so.6
No symbol table info available.
#4  0x00000000005157a1 in mch_call_shell (cmd=0x7f0e88001340 "echo -ne
\"\\033]12;red\\007\"",
    options=4) at os_unix.c:3903
        tmode = 2
        newcmd = (char_u *) 0x7f0e88001370 "/bin/bash"
        pid = 8615968
        wpid = 0
        wait_pid = 0
        status = -1
        retval = -1
        argv = (char **) 0x7f0e88001390
        argc = 3
        i = 2
        p = (char_u *) 0x7f0e88001379 ""
        inquote = 0
        pty_master_fd = -1
        pty_slave_fd = -1
        tty_name = 0xa <Address 0xa out of bounds>
        fd_toshell = {0, 0}
        fd_fromshell = {0, 2}
        pipe_error = 0
        envbuf = "�v\203\000\000\000\000\...@v\203", '\0' <repeats 13 times>,
"��������*?[\000\000\000\000\000(?[\000\000\000\000\000\000"
        did_settmode = 0
#5  0x00000000004dc1bf in call_shell (cmd=0x7f0e88001340 "echo -ne
\"\\033]12;red\\007\"", opt=4)
    at misc2.c:3066
        ncmd = (char_u *) 0x8371a0 "�q\203"
        retval = 0
        wait_time = {
  tv_sec = 139700387976026,
  tv_usec = 139700387976000
}
#6  0x0000000000453885 in do_shell (cmd=0x7f0e88001340 "echo -ne
\"\\033]12;red\\007\"", flags=0)
    at ex_cmds.c:1427
---Type <return> to continue, or q <return> to quit---
        buf = (buf_T *) 0x837280
        save_nwr = 0
#7  0x0000000000453070 in do_bang (addr_count=0, eap=0x837310,
forceit=0, do_in=1, do_out=1)
    at ex_cmds.c:1034
        arg = (char_u *) 0x7f0e88001316 "echo -ne \"\\033]12;red\\007\""
        line1 = 48
        line2 = 48
        newcmd = (char_u *) 0x7f0e88001340 "echo -ne \"\\033]12;red\\007\""
        free_newcmd = 0
        ins_prevcmd = 0
        t = (char_u *) 0x7f0e88001340 "echo -ne \"\\033]12;red\\007\""
        p = (char_u *) 0x7f0e8800135a ""
        trailarg = (char_u *) 0x0
        len = 27
        scroll_save = 0
#8  0x000000000046fb7d in ex_bang (eap=0x837310) at ex_docmd.c:8404
No locals.
#9  0x0000000000466586 in do_one_cmd (cmdlinep=0x8379b8, sourcing=1,
cstack=0x837510,
    fgetline=0x48f19d <getnextac>, cookie=0x837ab0) at ex_docmd.c:2627
        p = (char_u *) 0x7f0e88001330 ""
        lnum = 2147483647
        n = 20
        errormsg = (char_u *) 0x0
        ea = {
  arg = 0x7f0e88001316 "echo -ne \"\\033]12;red\\007\"",
  nextcmd = 0x0,
  cmd = 0x7f0e88001315 "!echo -ne \"\\033]12;red\\007\"",
  cmdlinep = 0x8379b8,
  cmdidx = CMD_bang,
  argt = 1048655,
  skip = 0,
  forceit = 0,
  addr_count = 0,
  line1 = 48,
  line2 = 48,
  flags = 0,
  do_ecmd_cmd = 0x0,
  do_ecmd_lnum = 0,
  append = 0,
  usefilter = 0,
  amount = 0,
---Type <return> to continue, or q <return> to quit---
  regname = 0,
  force_bin = 0,
  read_edit = 0,
  force_ff = 0,
  force_enc = 0,
  bad_char = 0,
  useridx = 0,
  errmsg = 0x0,
  getline = 0x48f19d <getnextac>,
  cookie = 0x837ab0,
  cstack = 0x837510
}
        verbose_save = -1
        save_msg_scroll = 0
        save_msg_silent = 0
        did_esilent = 0
        did_sandbox = 0
        save_cmdmod = {
  hide = 0,
  browse = 0,
  split = 0,
  tab = 0,
  confirm = 0,
  keepalt = 0,
  keepmarks = 0,
  keepjumps = 0,
  lockmarks = 0,
  save_ei = 0x0
}
        ni = 0
#10 0x0000000000463ce9 in do_cmdline (cmdline=0x0, getline=0x48f19d
<getnextac>, cookie=0x837ab0,
    flags=7) at ex_docmd.c:1096
        next_cmdline = (char_u *) 0x7f0e88001310 ":sil !echo -ne 
\"\\033]12;red\\007\""
        cmdline_copy = (char_u *) 0x7f0e88001310 ":sil !echo -ne 
\"\\033]12;red\\007\""
        used_getline = 1
        msg_didout_before_start = 0
        count = 1
        did_inc = 0
        retval = 1
        cstack = {
  cs_flags = {30864, 131, 0, 0, -21134, 82, 0 <repeats 29 times>,
12288, 0 <repeats 14 times>},
---Type <return> to continue, or q <return> to quit---
  cs_pending = '\0' <repeats 12 times>,
"\020\000\000\0000\000\000\000\200x\203\000\000\000\000\000�w\203",
'\0' <repeats 18 times>,
  cs_pend = {
    csp_rv = {0x0, 0x100000000, 0xec8c93, 0x100000000, 0x7f0e88001070,
0x43, 0xbc0, 0x81bf40,
      0x5cf548, 0x43, 0x1400837610, 0x43, 0x70, 0x43, 0x7f0e880059e0,
0x844210, 0x837680, 0x837960,
      0x5ffffffff, 0x837960, 0x43, 0x7f0e88000020, 0x7f0e88000020,
0x844210, 0x0, 0x0, 0x837840,
      0x9691a75, 0x7f0e9369dcb8, 0x40788d, 0x7f0e95d8be2c, 0x837960,
0x7f0e95f6db48, 0xf, 0x70,
      0x43, 0xc95d8c2e4, 0x7f0e93696a98, 0x7f0e00000017, 0xc,
0x500837700, 0x837858, 0x43,
      0x7f0e88000020, 0x7f0e88000020, 0x844210, 0x0, 0x3000000010,
0x837a20, 0x837960},
    csp_ex = {0x0, 0x100000000, 0xec8c93, 0x100000000, 0x7f0e88001070,
0x43, 0xbc0, 0x81bf40,
      0x5cf548, 0x43, 0x1400837610, 0x43, 0x70, 0x43, 0x7f0e880059e0,
0x844210, 0x837680, 0x837960,
      0x5ffffffff, 0x837960, 0x43, 0x7f0e88000020, 0x7f0e88000020,
0x844210, 0x0, 0x0, 0x837840,
      0x9691a75, 0x7f0e9369dcb8, 0x40788d, 0x7f0e95d8be2c, 0x837960,
0x7f0e95f6db48, 0xf, 0x70,
      0x43, 0xc95d8c2e4, 0x7f0e93696a98, 0x7f0e00000017, 0xc,
0x500837700, 0x837858, 0x43,
      0x7f0e88000020, 0x7f0e88000020, 0x844210, 0x0, 0x3000000010,
0x837a20, 0x837960}
  }, /
  cs_forinfo = {0x7f0e9370b6e6, 0x7f0e88001290, 0x7f0e936c3cb0,
0x7f0e88001140, 0x7f0e93705bb8, 0x0,
    0x0, 0x8ee8e0, 0x4937073fe, 0x0, 0x0, 0x8378a0, 0x24, 0x83f840,
0x7f0e939e8218, 0x880015c0, 0x0,
    0x0, 0x837820, 0x7f0e880012e0, 0xffffffffffffffff, 0x7f0e880012e0,
0x7f0e880012e0, 0x837940,
    0x5be223, 0x6, 0x7f0e937b6e70, 0x837a60, 0x7f0e936fcee9,
0xfbad8001, 0x7f0e880012e0,
    0x7f0e880012e0, 0x7f0e880012e0, 0x7f0e880012e0, 0x7f0e880012fe,
0xffffffffffffffff,
    0x7f0e880012e0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0,
0x837a10, 0x7f0e936c15bc,
    0x54552e53555f0000, 0x0, 0x8f0360, 0x7f0e936c1366, 0x415353454d5f434c},
  cs_line = {0, 0, 28525, 0, -1820724173, 32526, -1, 0, -1821633778,
32526, 1432317541, 1414868563,
    -1818335392, 32526, 0, 0, -1821634477, 32526, 8616464, 0, 25, 0,
8616544, 0, 19, 0, -1644560256,
    32767, -1821495016, 32526, 32, 48, 8616480, 0, 8616288, 0, 0, 3,
6021667, 0, 35, 0, 6021190, 0,
    9372336, 0, 0, -16777216, 3, 0},
  cs_idx = -1,
  cs_looplevel = 0,
  cs_trylevel = 0,
  cs_emsg_silent_list = 0x0,
  cs_lflags = 0 '\0'
}
        lines_ga = {
  ga_len = 0,
  ga_maxlen = 0,
  ga_itemsize = 16,
  ga_growsize = 10,
  ga_data = 0x0
}
        current_line = 0
---Type <return> to continue, or q <return> to quit---
        fname = (char_u *) 0x0
        breakpoint = (linenr_T *) 0x0
        dbg_tick = (int *) 0x0
        debug_saved = {
  trylevel = 0,
  force_abort = 48,
  caught_stack = 0x830380,
  vv_exception = 0x7fff0000 <Address 0x7fff0000 out of bounds>,
  vv_throwpoint = 0x7f0e880010b0 "\024",
  did_emsg = 8615184,
  got_int = 0,
  did_throw = 5419217,
  need_rethrow = 0,
  check_cstack = -2013261645,
  current_exception = 0x8ee8e0
}
        initial_trylevel = 0
        saved_msg_list = (struct msglist **) 0x0
        private_msg_list = (struct msglist *) 0x0
        cmd_getline = (char_u *(*)(int, void *, int)) 0x48f19d <getnextac>
        cmd_cookie = (void *) 0x837ab0
        cmd_loop_cookie = {
  lines_gap = 0x0,
  current_line = 8615672,
  repeating = 0,
  getline = 0x8303a0 <backpos>,
  cookie = 0x8ee8e0
}
        real_cookie = (void *) 0x837ab0
        getline_is_func = 0
        recursive = 1
        call_depth = 1
#11 0x000000000048ed06 in apply_autocmds_group (event=EVENT_VIMLEAVE,
    fname=0x7f0e880011b0
"/home/dope/dev/maptoolchainsource/Source/Common/HilbertCurve.h",
    fname_io=0x0, force=0, group=-3, buf=0xea9ff0, eap=0x0) at fileio.c:9077
        sfname = (char_u *) 0x7f0e88001190 "HilbertCurve.h"
        tail = (char_u *) 0x7f0e880011e0 "HilbertCurve.h"
        save_changed = 1
        old_curbuf = (buf_T *) 0xea9ff0
        retval = 1
        save_sourcing_name = (char_u *) 0x0
---Type <return> to continue, or q <return> to quit---
        save_sourcing_lnum = 0
        save_autocmd_fname = (char_u *) 0x0
        save_autocmd_fname_full = 0
        save_autocmd_bufnr = 0
        save_autocmd_match = (char_u *) 0x0
        save_autocmd_busy = 0
        save_autocmd_nested = 0
        patcmd = {
  curpat = 0x8f02d0,
  nextcmd = 0x0,
  group = -3,
  fname = 0x7f0e880011b0
"/home/dope/dev/maptoolchainsource/Source/Common/HilbertCurve.h",
  sfname = 0x7f0e88001190 "HilbertCurve.h",
  tail = 0x7f0e880011e0 "HilbertCurve.h",
  event = EVENT_VIMLEAVE,
  arg_bufnr = 13,
  next = 0x0
}
        ap = (AutoPat *) 0x8f02d0
        save_current_SID = 0
        save_funccalp = (void *) 0x0
        save_cmdarg = (char_u *) 0x0
        save_cmdbang = 0
        wait_time = {
  tv_sec = 0,
  tv_usec = 1263388614
}
        nesting = 1
        filechangeshell_busy = 0
#12 0x000000000048e569 in apply_autocmds (event=EVENT_VIMLEAVE,
fname=0x0, fname_io=0x0, force=0,
    buf=0xea9ff0) at fileio.c:8686
No locals.
#13 0x00000000004aa5cb in getout (exitval=1) at main.c:1317
        buf = (buf_T *) 0x0
        wp = (win_T *) 0x0
        tp = (tabpage_T *) 0x0
        next_tp = (tabpage_T *) 0x0
#14 0x00000000004d7c39 in preserve_exit () at misc1.c:8392
        buf = (buf_T *) 0x8410d0
#15 0x00000000005132c0 in deathtrap (sigarg=6) at os_unix.c:1076
        i = 4
---Type <return> to continue, or q <return> to quit---
        entered = 1
#16 <signal handler called>
No symbol table info available.
#17 0x00007f0e936c65c5 in raise () from /lib64/libc.so.6
No symbol table info available.
#18 0x00007f0e936c7bb3 in abort () from /lib64/libc.so.6
No symbol table info available.
#19 0x00007f0e937043a8 in ?? () from /lib64/libc.so.6
No symbol table info available.
#20 0x00007f0e93709af8 in ?? () from /lib64/libc.so.6
No symbol table info available.
#21 0x00007f0e9370b6e6 in free () from /lib64/libc.so.6
No symbol table info available.
#22 0x00000000004da997 in vim_free (x=0xe27db0) at misc2.c:1647
No locals.
#23 0x00000000004bdffc in ml_flush_line (buf=0xea9ff0) at memline.c:3162
        hp = (bhdr_T *) 0xe8b130
        dp = (DATA_BL *) 0xef2d70
        lnum = 48
        new_line = (char_u *) 0xe27db0 ")uvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        old_line = (char_u *) 0xef37f2 "_"
        new_len = 34
        old_len = 76
        extra = -42
        idx = 47
        start = 2690
        count = 100
        i = 100
#24 0x00000000004bbdba in ml_get_buf (buf=0xea9ff0, lnum=27,
will_change=0) at memline.c:2124
        hp = (bhdr_T *) 0x49005e
        dp = (DATA_BL *) 0x0
        ptr = (char_u *) 0x83f870 "�\237�"
        recursive = 0
#25 0x00000000004ce5cc in plines_win_nofold (wp=0x83f870, lnum=27) at
misc1.c:1732
        s = (char_u *) 0x7fff9dfa0930 "p\t�\235�\177"
        col = 4785251
        width = 0
#26 0x00000000004ce574 in plines_win_nofill (wp=0x83f870, lnum=27,
winheight=1) at misc1.c:1713
        lines = 0
#27 0x00000000004df625 in comp_botline (wp=0x83f870) at move.c:92
        n = 0
---Type <return> to continue, or q <return> to quit---
        lnum = 27
        done = 0
        last = 27
        folded = 0
#28 0x00000000004e0185 in validate_botline () at move.c:586
No locals.
#29 0x00000000004dfa34 in update_topline () at move.c:276
        line_count = 8787509160351
        halfheight = 1
        n = 32
        old_topline = 27
        old_topfill = 0
        lnum = 140735843797600
        check_topline = 0
        check_botline = 1
        save_so = 0
#30 0x00000000004e0c1d in curs_columns (scroll=1) at move.c:993
        diff = 32
        extra = 2047
        off_left = 6072736
        off_right = 0
        n = 2048
        p_lines = 1
        width = 0
        textwidth = 32
        new_leftcol = 0
        startcol = 0
        endcol = 14843312
        prev_skipcol = 32
#31 0x00000000004e0272 in validate_cursor () at move.c:677
No locals.
#32 0x000000000053cbeb in setcursor () at screen.c:8218
No locals.
#33 0x00000000004ef967 in display_showcmd () at normal.c:3909
        len = 0
#34 0x00000000004ef712 in clear_showcmd () at normal.c:3768
No locals.
#35 0x00000000004eb19d in normal_cmd (oap=0x7fff9dfa0ca0, toplevel=1)
at normal.c:1319
        ca = {
  oap = 0x7fff9dfa0ca0,
  prechar = 0,
---Type <return> to continue, or q <return> to quit---
  cmdchar = 122,
  nchar = 61,
  ncharC1 = 0,
  ncharC2 = 0,
  extra_char = 0,
  opcount = 0,
  count0 = 0,
  count1 = 1,
  arg = 0,
  retval = 0,
  searchbuf = 0x0
}
        c = 0
        ctrl_w = 0
        old_col = 54
        need_flushbuf = 1
        old_pos = {
  lnum = 48,
  col = 54,
  coladd = 0
}
        mapped_len = 0
        idx = 122
        set_prevcount = 1
        old_mapped_len = 0
#36 0x00000000004aa37c in main_loop (cmdwin=0, noexmode=0) at main.c:1211
        oa = {
  op_type = 0,
  regname = 0,
  motion_type = 0,
  motion_force = 0,
  use_reg_one = 0,
  inclusive = 0,
  end_adjusted = 0,
  start = {
    lnum = 1138,
    col = 51,
    coladd = 0
  },
  end = {
    lnum = 1138,
---Type <return> to continue, or q <return> to quit---
    col = 52,
    coladd = 0
  },
  cursor_start = {
    lnum = 0,
    col = 0,
    coladd = 0
  },
  line_count = 1,
  empty = 0,
  is_VIsual = 0,
  block_mode = 0,
  start_vcol = 0,
  end_vcol = 0,
  prev_opcount = 0,
  prev_count0 = 0
}
        previous_got_int = 0
#37 0x00000000004a9e69 in main (argc=2, argv=0x7fff9dfa0f98) at main.c:955
        fname = (char_u *) 0x0
        params = {
  argc = 2,
  argv = 0x7fff9dfa0f98,
  evim_mode = 0,
  use_vimrc = 0x0,
  n_commands = 0,
  commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
  cmds_tofree = "\000\000\000\000\000\000\000\000\000",
  n_pre_commands = 0,
  pre_commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
  edit_type = 2,
  tagname = 0x0,
  use_ef = 0x0,
  want_full_screen = 1,
  stdout_isatty = 1,
  term = 0x0,
  ask_for_key = 0,
  no_swap_file = 0,
  use_debug_break_level = -1,
  window_count = 1,
  window_layout = 0,
---Type <return> to continue, or q <return> to quit---
  serverArg = 0,
  serverName_arg = 0x0,
  serverStr = 0x0,
  serverStrEnc = 0x0,
  servername = 0x846c70 "VIM",
  diff_mode = 0
}
        i = 2



Going into the stack frame where vim_free(...) failed:

(gdb) up
#23 0x00000000004bdffc in ml_flush_line (buf=0xea9ff0) at memline.c:3162
3162            vim_free(new_line);

(gdb) p *buf
$6 = {
  b_ml = {
    ml_line_count = 163,
    ml_mfp = 0x0,
    ml_flags = 14,
    ml_stack = 0xf0a5a0,
    ml_stack_top = 1,
    ml_stack_size = 5,
    ml_line_lnum = 0,
    ml_line_ptr = 0xe27db0 ")uvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
    ml_locked = 0x0,
    ml_locked_low = 1,
    ml_locked_high = 100,
    ml_locked_lineadd = 0,
    ml_chunksize = 0x0,
    ml_numchunks = 100,
    ml_usedchunks = 1
  },
  b_next = 0x0,
  b_prev = 0xe3b720,
  b_nwindows = 1,
  b_flags = 0,
  b_ffname = 0xe703e0
"/home/dope/dev/maptoolchainsource/Source/Common/HilbertCurve.h",
  b_sfname = 0xe55100 "HilbertCurve.h",
  b_fname = 0xe55100 "HilbertCurve.h",
  b_dev_valid = 1,
  b_dev = 2050,
  b_ino = 15901727,
  b_fnum = 13,
  b_changed = 1,
  b_changedtick = -1,
  b_saving = 0,
  b_mod_set = 1,
  b_mod_top = 48,
  b_mod_bot = 49,
  b_mod_xlines = 0,
  b_wininfo = 0xeac7a0,
  b_mtime = 1254914007,
  b_mtime_read = 1254914007,
  b_orig_size = 5767,
  b_orig_mode = 33188,
  b_namedm = {{
      lnum = 0,
      col = 0,
      coladd = 0
---Type <return> to continue, or q <return> to quit---
    } <repeats 26 times>},
  b_visual = {
    vi_start = {
      lnum = 0,
      col = 0,
      coladd = 0
    },
    vi_end = {
      lnum = 0,
      col = 0,
      coladd = 0
    },
    vi_mode = 0,
    vi_curswant = 0
  },
  b_visual_mode_eval = 0,
  b_last_cursor = {
    lnum = 48,
    col = 53,
    coladd = 0
  },
  b_last_insert = {
    lnum = 0,
    col = 0,
    coladd = 0
  },
  b_last_change = {
    lnum = 48,
    col = 53,
    coladd = 0
  },
  b_changelist = {{
      lnum = 48,
      col = 53,
      coladd = 0
    }, {
      lnum = 0,
      col = 0,
      coladd = 0
    } <repeats 99 times>},
  b_changelistlen = 1,
  b_new_change = 0,
  b_chartab = "\000\000\000\000\000\000�\003���\207���\a\000\000\000\000\000\000
\000��������",
  b_maphash = {0x0 <repeats 256 times>},
  b_first_abbr = 0x0,
---Type <return> to continue, or q <return> to quit---
  b_ucmds = {
    ga_len = 0,
    ga_maxlen = 0,
    ga_itemsize = 0,
    ga_growsize = 0,
    ga_data = 0x0
  },
  b_op_start = {
    lnum = 1,
    col = 0,
    coladd = 0
  },
  b_op_end = {
    lnum = 163,
    col = 0,
    coladd = 0
  },
  b_marks_read = 1,
  b_u_oldhead = 0xf07ac0,
  b_u_newhead = 0xf07ac0,
  b_u_curhead = 0x0,
  b_u_numhead = 1,
  b_u_synced = 0,
  b_u_seq_last = 1,
  b_u_seq_cur = 1,
  b_u_seq_time = 1263389170,
  b_u_line_ptr = 0x0,
  b_u_line_lnum = 0,
  b_u_line_colnr = 53,
  b_block_head = {
    mb_next = 0x0,
    mb_size = 0,
    mb_maxsize = 0,
    mb_info = {
      m_size = 0,
      m_next = 0x0
    }
  },
  b_m_search = 0x0,
  b_mb_current = 0x0,
  b_scanned = 0,
  b_p_iminsert = 2,
  b_p_imsearch = 2,
  b_kmap_state = 0,
  b_kmap_ga = {
---Type <return> to continue, or q <return> to quit---
    ga_len = 0,
    ga_maxlen = 0,
    ga_itemsize = 0,
    ga_growsize = 0,
    ga_data = 0x0
  },
  b_p_initialized = 1,
  b_p_scriptID = {0 <repeats 16 times>, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40, 0, 0, 40, 0, 35, 5, 0 <repeats 16 times>,
    37, 0, 0, 0, 0, 0, 0, 0, 2, 0 <repeats 12 times>},
  b_p_ai = 1,
  b_p_ai_nopaste = 0,
  b_p_ci = 0,
  b_p_bin = 0,
  b_p_bomb = 0,
  b_p_bh = 0x5bfe9e "",
  b_p_bt = 0x5bfe9e "",
  b_p_bl = 1,
  b_p_cin = 0,
  b_p_cino = 0xeac940 "0",
  b_p_cink = 0xeaca60 "0{,0},0),:,0#,!^F,o,O,e",
  b_p_cinw = 0xead210 "if,else,while,do,for,switch",
  b_p_com = 0xf06c20 "sO:* -,mO:*  ,exO:*/,s1:/*,mb:*,ex:*/,://",
  b_p_cms = 0xeaca40 "/*%s*/",
  b_p_cpt = 0xeac960 ".,w,b,u,t,i",
  b_p_cfu = 0xeacaa0 "",
  b_p_ofu = 0xf04dd0 "omni#cpp#complete#Main",
  b_p_eol = 1,
  b_p_et = 1,
  b_p_et_nobin = 0,
  b_p_fenc = 0xe55f30 "latin1",
  b_p_ff = 0xeafab0 "unix",
  b_p_ft = 0xeabc60 "cpp",
  b_p_fo = 0xef6640 "croql",
  b_p_flp = 0xeac9c0 "^\\s*\\d\\+[\\]:.)}\\t ]\\s*",
  b_p_inf = 0,
  b_p_isk = 0xe565f0 "@,48-57,_,192-255",
  b_p_def = 0x5bfe9e "",
  b_p_inc = 0x5bfe9e "",
  b_p_inex = 0x929400 "",
  b_p_inex_flags = 0,
  b_p_inde = 0xeb0240 "",
  b_p_inde_flags = 0,
  b_p_indk = 0xeb0260 "0{,0},:,0#,!^F,o,O,e",
  b_p_fex = 0xeb0280 "",
  b_p_fex_flags = 0,
---Type <return> to continue, or q <return> to quit---
  b_p_key = 0x9293a0 "",
  b_p_kp = 0x5bfe9e "",
  b_p_lisp = 0,
  b_p_mps = 0xeaca00 "(:),{:},[:],<:>",
  b_p_ml = 1,
  b_p_ml_nobin = 0,
  b_p_ma = 1,
  b_p_nf = 0xeaca20 "octal,hex",
  b_p_pi = 0,
  b_p_qe = 0x929420 "\\",
  b_p_ro = 0,
  b_p_sw = 2,
  b_p_sn = 0,
  b_p_si = 1,
  b_p_sts = 2,
  b_p_sts_nopaste = 0,
  b_p_sua = 0x9293c0 "",
  b_p_swf = 1,
  b_p_smc = 3000,
  b_p_syn = 0xef6720 "cpp",
  b_p_spc = 0xeac920 "[.?!]\\_[\\])'\"\t ]\\+",
  b_cap_prog = 0xec1f60,
  b_p_spf = 0x9246a0 "",
  b_p_spl = 0x9246c0 "en",
  b_p_ts = 8,
  b_p_tx = 0,
  b_p_tw = 0,
  b_p_tw_nobin = 0,
  b_p_tw_nopaste = 0,
  b_p_wm = 0,
  b_p_wm_nobin = 0,
  b_p_wm_nopaste = 0,
  b_p_keymap = 0x9293e0 "",
  b_p_gp = 0x5bfe9e "",
  b_p_mp = 0x5bfe9e "",
  b_p_efm = 0x5bfe9e "",
  b_p_ep = 0x5bfe9e "",
  b_p_path = 0x5bfe9e "",
  b_p_ar = -1,
  b_p_tags = 0x5bfe9e "",
  b_p_dict = 0x5bfe9e "",
  b_p_tsr = 0x5bfe9e "",
  b_start_eol = 1,
  b_start_ffc = 117,
  b_start_fenc = 0xe56610 "latin1",
---Type <return> to continue, or q <return> to quit---
  b_bad_char = 0,
  b_start_bomb = 0,
  b_bufvar = {
    di_tv = {
      v_type = 5 '\005',
      v_lock = 2 '\002',
      vval = {
        v_number = 15382000,
        v_float = 7.5997177643300543e-317,
        v_string = 0xeab5f0 "\237\206\001",
        v_list = 0xeab5f0,
        v_dict = 0xeab5f0
      }
    },
    di_flags = 5 '\005',
    di_key = ""
  },
  b_vars = {
    dv_refcount = 99999,
    dv_hashtab = {
      ht_mask = 63,
      ht_used = 15,
      ht_filled = 16,
      ht_locked = 0,
      ht_error = 0,
      ht_array = 0xec9b40,
      ht_smallarray = {{
          hi_hash = 5191712777330217440,
          hi_key = 0xeb6d01 "p4OtherAction"
        }, {
          hi_hash = 17749814500320324881,
          hi_key = 0xecac91 " s:CM_FILTER"
        }, {
          hi_hash = 17690300553057456882,
          hi_key = 0xef8e91 "art(part, a:pos0"
        }, {
          hi_hash = 1218452115303135835,
          hi_key = 0xef5051 "p4HeadRev"
        }, {
          hi_hash = 14747699763870614468,
          hi_key = 0xec5061 "p4FStatDone"
        }, {
          hi_hash = 12384288438781878103,
          hi_key = 0xe73651 "p4RulerStr"
        }, {
---Type <return> to continue, or q <return> to quit---
          hi_hash = 1218452075449032553,
          hi_key = 0xe54821 "p4HaveRev"
        }, {
          hi_hash = 4523218619158566833,
          hi_key = 0xef2d51 "undo_ftplugin"
        }, {
          hi_hash = 0,
          hi_key = 0x0
        }, {
          hi_hash = 17081634399963319177,
          hi_key = 0xecb0e1 "c_minlines"
        }, {
          hi_hash = 12063808570539370,
          hi_key = 0xec8741 "p4Action"
        }, {
          hi_hash = 9777877259195569851,
          hi_key = 0xeb6d51 "match_words"
        }, {
          hi_hash = 12063830091516846,
          hi_key = 0xec8eb1 "p4Change"
        }, {
          hi_hash = 12384288438781735087,
          hi_key = 0xe4a341 "p4RulerErr"
        }, {
          hi_hash = 14848682217640911412,
          hi_key = 0xeb6b41 "p4OtherOpen"
        }, {
          hi_hash = 9594144248432394063,
          hi_key = 0xeafb11 "match_skip"
        }}
    },
    dv_copyID = 0,
    dv_copydict = 0x0,
    dv_lock = 0 '\0',
    dv_used_next = 0x0,
    dv_used_prev = 0x0
  },
  b_p_bexpr = 0x5bfe9e "",
  b_p_bexpr_flags = 0,
  b_may_swap = 0,
  b_did_warn = 0,
  b_help = 0,
  b_spell = 0,
  b_shortname = 0,
  b_keywtab = {
---Type <return> to continue, or q <return> to quit---
    ht_mask = 1023,
    ht_used = 482,
    ht_filled = 482,
    ht_locked = 0,
    ht_error = 0,
    ht_array = 0xefac80,
    ht_smallarray = {{
        hi_hash = 7360345577,
        hi_key = 0xeadb22 "FIXME"
      }, {
        hi_hash = 105173825,
        hi_key = 0xefab12 "else"
      }, {
        hi_hash = 12491421137,
        hi_key = 0xec9292 "while"
      }, {
        hi_hash = 10707,
        hi_key = 0xe8b272 "if"
      }, {
        hi_hash = 103001012,
        hi_key = 0xeafe82 "case"
      }, {
        hi_hash = 107265141,
        hi_key = 0xe8acd2 "goto"
      }, {
        hi_hash = 1221154120358,
        hi_key = 0xefa532 "switch"
      }, {
        hi_hash = 10733137013953369,
        hi_key = 0xec2802 "continue"
      }, {
        hi_hash = 1208782277672,
        hi_key = 0xefa4f2 "return"
      }, {
        hi_hash = 10316413817,
        hi_key = 0xf07ef2 "break"
      }, {
        hi_hash = 10211,
        hi_key = 0xebb9a2 "do"
      }, {
        hi_hash = 0,
        hi_key = 0x0
      }, {
        hi_hash = 1051827,
        hi_key = 0xe4cbf2 "for"
---Type <return> to continue, or q <return> to quit---
      }, {
        hi_hash = 107224250515341,
        hi_key = 0xeafec2 "default"
      }, {
        hi_hash = 87358110,
        hi_key = 0xeadae2 "TODO"
      }, {
        hi_hash = 1001221,
        hi_key = 0xec91b2 "asm"
      }}
  },
  b_keywtab_ic = {
    ht_mask = 63,
    ht_used = 40,
    ht_filled = 40,
    ht_locked = 0,
    ht_error = 0,
    ht_array = 0xef1570,
    ht_smallarray = {{
        hi_hash = 112,
        hi_key = 0xef12f2 "p"
      }, {
        hi_hash = 1220851161969,
        hi_key = 0xef0de2 "strong"
      }, {
        hi_hash = 98,
        hi_key = 0xef0d22 "b"
      }, {
        hi_hash = 10208,
        hi_key = 0xef1472 "dl"
      }, {
        hi_hash = 97,
        hi_key = 0xef11f2 "a"
      }, {
        hi_hash = 117,
        hi_key = 0xef10f2 "u"
      }, {
        hi_hash = 10310,
        hi_key = 0xef0da2 "em"
      }, {
        hi_hash = 1082217,
        hi_key = 0xef1132 "img"
      }, {
        hi_hash = 10200,
        hi_key = 0xef14d2 "dd"
---Type <return> to continue, or q <return> to quit---
      }, {
        hi_hash = 105,
        hi_key = 0xef0d62 "i"
      }, {
        hi_hash = 1030512,
        hi_key = 0xef1412 "dfn"
      }, {
        hi_hash = 1051124576841,
        hi_key = 0xef1352 "center"
      }, {
        hi_hash = 10012,
        hi_key = 0xef1232 "br"
      }, {
        hi_hash = 0,
        hi_key = 0x0
      }, {
        hi_hash = 103142311,
        hi_key = 0xef13b2 "code"
      }, {
        hi_hash = 10216,
        hi_key = 0xef1532 "dt"
      }}
  },
  b_syn_error = 0,
  b_syn_ic = 0,
  b_syn_spell = 0,
  b_syn_patterns = {
    ga_len = 300,
    ga_maxlen = 307,
    ga_itemsize = 120,
    ga_growsize = 10,
    ga_data = 0xf163e0
  },
  b_syn_clusters = {
    ga_len = 12,
    ga_maxlen = 20,
    ga_itemsize = 24,
    ga_growsize = 10,
    ga_data = 0xf04e10
  },
  b_spell_cluster_id = 25001,
  b_nospell_cluster_id = 25007,
  b_syn_containedin = 1,
  b_syn_sync_flags = 3,
  b_syn_sync_id = 168,
---Type <return> to continue, or q <return> to quit---
  b_syn_sync_minlines = 50,
  b_syn_sync_maxlines = 500,
  b_syn_sync_linebreaks = 0,
  b_syn_linecont_pat = 0x0,
  b_syn_linecont_prog = 0x0,
  b_syn_linecont_ic = 0,
  b_syn_topgrp = 0,
  b_syn_folditems = 16,
  b_sst_array = 0x0,
  b_sst_len = 0,
  b_sst_first = 0xefac80,
  b_sst_firstfree = 0xefd428,
  b_sst_freecount = 103,
  b_sst_check_lnum = 0,
  b_sst_lasttick = 376,
  b_langp = {
    ga_len = 1,
    ga_maxlen = 2,
    ga_itemsize = 32,
    ga_growsize = 2,
    ga_data = 0xeb02c0
  },
  b_spell_ismw = '\0' <repeats 39 times>, "\001", '\0' <repeats 215 times>,
  b_spell_ismw_mb = 0x0,
  b_signlist = 0x0,
  b_netbeans_file = 0,
  b_was_netbeans_file = 0
}



(gdb) p *dp
$8 = {
  db_id = 25697,
  db_free = 105,
  db_txt_start = 533,
  db_txt_end = 4096,
  db_line_count = 100,
  db_index = {4015}
}


:version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 13 2010 12:49:04)
Included patches: 1-330
Compiled by d...@nl-bld-01
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset
+cindent +clientserver +clipboard +cmdline_compl +cmdline_hist
+cmdline_info +comments +cryptv +cscope +cursorshape +dialog_con_gui +diff
 +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
+file_in_path +find_in_path +float +folding -footer +fork() +gettext
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall
+linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname
+mouse +mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm +mouse_netterm
-mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme
+netbeans_intg -osfiletype +path_extra -perl +postscript +printer +profile
 -python +quickfix +reltime +rightleft -ruby +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse
+textobjects +title +toolbar +user_commands +vertsplit +virtualedit
+visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows
+writebackup +X11 -xfontset +xim +xsmp_interact +xterm_clipboard
-xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/home/dope/opt/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/incl
ude/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/incl
ude/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/gli
b-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12     -g -O0 -
fno-strength-reduce -Wall -Wmissing-prototypes
Linking: gcc   -L/usr/local/lib -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-
1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lg
module-2.0 -lglib-2.0   -lXt -lm -lncurses -lgpm
-- 
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui