unpack into its own directory in tmp, then run the .sh script
http://mawercer.de/tmp/test-case.zip
using debugging, vim quits after the line
-V20./log trace:
line 1: let r = []
line 2: for x2 in getqflist()
line 3: " make a copy of the dictionary, this does not fix it
line 4: let x = eval(string(x2))
line 5: if has_key(x, 'text')
line 6: call add(r, x)
line 7: let reg = '\(lines[^:]*:[^:]*\|characters [^-]*-[^ ]* \):
\(.*\) should be \(.*\)'
line 8: if x.text =~ reg
line 9: let l = matchlist(x.text, reg)
line 10: x.text = l[1]
Writing viminfo file "/home/marc/.viminfo"%
I expect the function to finish cleanly.
exit code 0
I have another trace, same function but original name:
function haxe#FormatErrors
line 7: let l = matchlist(x.text, reg)
>
function haxe#FormatErrors
line 8: x.text = l[1]
>
BufDelete Auto commands for "*"
cmd: call <SID>BMRemove()
>
why does BufDelete Auto kick in here?
(this was gtk version)
At least I can reproduce this case always.
Can anybody of you reproduce this, too ?
(See [2] for failing/ suceeding :version strings)
valgrind only shows "lost bytes" - nothing else of interest.
I know that gdb can record execution path. However it always stops at
glibc.
This happens with 1115 (current) and older vim patch level 806 (7.3)
This is the backtrace at
smsg((char_u *)_("Writing viminfo file \"%s\""), fname);
(Didn't know where else to start)
---Type <return> to continue, or q <return> to quit---
Breakpoint 1, write_viminfo (file=0x0, forceit=0) at ex_cmds.c:1965
(gdb) bt
#0 write_viminfo (file=0x0, forceit=0) at ex_cmds.c:1965
#1 0x0000000000626345 in getout (exitval=0) at main.c:1451
#2 0x00000000004aeb35 in ex_exit (eap=0x7fffe7e2d860) at ex_docmd.c:6984
#3 0x00000000004a72ac in do_one_cmd (cmdlinep=0x7fffe7e2ded0, sourcing=1,
cstack=0x7fffe7e2da30, fgetline=0x4a53e0 <get_loop_line>,
cookie=0x7fffe7e2d9a0) at ex_docmd.c:2693
#4 0x00000000004a47ed in do_cmdline (cmdline=0x0, fgetline=0x48d6a0
<get_func_line>, cookie=0xfef050, flags=7) at ex_docmd.c:1130
#5 0x000000000048cc24 in call_user_func (fp=0xfe4380, argcount=0,
argvars=0x7fffe7e2e3e0, rettv=0x7fffe7e2e5a0, firstline=1, lastline=1,
selfdict=0x0) at eval.c:22714
#6 0x0000000000475600 in call_func (funcname=0xf934d0 "FormatErrors",
len=12, rettv=0x7fffe7e2e5a0, argcount=0, argvars=0x7fffe7e2e3e0, firstline=1,
lastline=1, doesrange=0x7fffe7e2e59c, evaluate=1, selfdict=0x0) at eval.c:8494
#7 0x00000000004751ce in get_func_tv (name=0xf934d0 "FormatErrors", len=12,
rettv=0x7fffe7e2e5a0, arg=0x7fffe7e2e5c0, firstline=1, lastline=1,
doesrange=0x7fffe7e2e59c, evaluate=1, selfdict=0x0) at eval.c:8336
#8 0x000000000046dee3 in ex_call (eap=0x7fffe7e2e670) at eval.c:3456 #9
0x00000000004a72ac in do_one_cmd (cmdlinep=0x7fffe7e2ece0, sourcing=0,
cstack=0x7fffe7e2e840, fgetline=0x4bcff3 <getexline>, cookie=0x0) at
ex_docmd.c:2693
#10 0x00000000004a47ed in do_cmdline (cmdline=0x0, fgetline=0x4bcff3
<getexline>, cookie=0x0, flags=0) at ex_docmd.c:1130
#11 0x0000000000534b28 in nv_colon (cap=0x7fffe7e2ee10) at normal.c:5457
#12 0x000000000052d5d1 in normal_cmd (oap=0x7fffe7e2eee0, toplevel=1) at
normal.c:1200
#13 0x0000000000626088 in main_loop (cmdwin=0, noexmode=0) at main.c:1342
#14 0x0000000000625918 in main (argc=12, argv=0x7fffe7e2f228) at main.c:1031
I have some small modifications, so lines could be wrong which is why I added
the line below [1]
The versions at [2] are official releases.
Whicth is the best way to debug/fix/find the cause?
Marc Weber
[2]
failing :version outputs:
my version (nixos linux): http://mawercer.de/tmp/marcs-version-fails
raimondis version (osx) : http://mawercer.de/tmp/raimondi-fails-osx.txt
a sample :version which seems to work (contributed by tommyinla, debian)
http://mawercer.de/tmp/tommyinla-working.txt
me (failing) <-> tommyinla (working) - compiled features differing:
-gettext +gettext
-lua +lua
-mouse-gpm +mouse-gpm
-tcl +tcl
-xim +xim
-xsmp_interact +xsmp_interact
[1]: Trace with lines from code:
---Type <return> to continue, or q <return> to quit---
Breakpoint 1, write_viminfo (file=0x0, forceit=0) at src/ex_cmds.c:1965
smsg((char_u *)_("Writing viminfo file \"%s\""), fname);
(gdb) bt
#0 write_viminfo (file=0x0, forceit=0) at src/ex_cmds.c:1965
smsg((char_u *)_("Writing viminfo file \"%s\""), fname);
#1 0x0000000000626345 in getout (exitval=0) at src/main.c:1451
write_viminfo(NULL, FALSE);
#2 0x00000000004aeb35 in ex_exit (eap=0x7fffe7e2d860) at src/ex_docmd.c:6984
getout(0);
#3 0x00000000004a72ac in do_one_cmd (cmdlinep=0x7fffe7e2ded0, sourcing=1,
cstack=0x7fffe7e2da30, fgetline=0x4a53e0 <get_loop_line>,
cookie=0x7fffe7e2d9a0) at src/ex_docmd.c:2693
(cmdnames[ea.cmdidx].cmd_func)(&ea);
#4 0x00000000004a47ed in do_cmdline (cmdline=0x0, fgetline=0x48d6a0
<get_func_line>, cookie=0xfef050, flags=7) at src/ex_docmd.c:1130
next_cmdline = do_one_cmd(&cmdline_copy, flags & DOCMD_VERBOSE,
#5 0x000000000048cc24 in call_user_func (fp=0xfe4380, argcount=0,
argvars=0x7fffe7e2e3e0, rettv=0x7fffe7e2e5a0, firstline=1, lastline=1,
selfdict=0x0) at src/eval.c:22714
do_cmdline(NULL, get_func_line, (void *)fc,
DOCMD_NOWAIT|DOCMD_VERBOSE|DOCMD_REPEAT);
#6 0x0000000000475600 in call_func (funcname=0xf934d0 "FormatErrors", len=12,
rettv=0x7fffe7e2e5a0, argcount=0, argvars=0x7fffe7e2e3e0, firstline=1,
lastline=1, doesrange=0x7fffe7e2e59c, evaluate=1, selfdict=0x0) at
src/eval.c:8494
call_user_func(fp, argcount, argvars, rettv,
firstline, lastline,
(fp->uf_flags & FC_DICT) ? selfdict : NULL);
#7 0x00000000004751ce in get_func_tv (name=0xf934d0 "FormatErrors", len=12,
rettv=0x7fffe7e2e5a0, arg=0x7fffe7e2e5c0, firstline=1, lastline=1,
doesrange=0x7fffe7e2e59c, evaluate=1, selfdict=0x0) at src/eval.c:8336
ret = call_func(name, len, rettv, argcount, argvars,
firstline, lastline, doesrange, evaluate, selfdict);
#8 0x000000000046dee3 in ex_call (eap=0x7fffe7e2e670) at src/eval.c:3456 #9
0x00000000004a72ac in do_one_cmd (cmdlinep=0x7fffe7e2ece0, sourcing=0,
cstack=0x7fffe7e2e840, fgetline=0x4bcff3 <getexline>, cookie=0x0) at
src/ex_docmd.c:2693
(cmdnames[ea.cmdidx].cmd_func)(&ea);
#10 0x00000000004a47ed in do_cmdline (cmdline=0x0, fgetline=0x4bcff3
<getexline>, cookie=0x0, flags=0) at src/ex_docmd.c:1130
next_cmdline = do_one_cmd(&cmdline_copy, flags & DOCMD_VERBOSE,
#11 0x0000000000534b28 in nv_colon (cap=0x7fffe7e2ee10) at src/normal.c:5457
cmd_result = do_cmdline(NULL, getexline, NULL,
cap->oap->op_type != OP_NOP ? DOCMD_KEEPLINE : 0);
#12 0x000000000052d5d1 in normal_cmd (oap=0x7fffe7e2eee0, toplevel=1) at
src/normal.c:1200
(nv_cmds[idx].cmd_func)(&ca);
#13 0x0000000000626088 in main_loop (cmdwin=0, noexmode=0) at src/main.c:1342
normal_cmd(&oa, TRUE);
#14 0x0000000000625918 in main (argc=12, argv=0x7fffe7e2f228) at src/main.c:1031
main_loop(FALSE, FALSE);
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.