Comments
-
Marius Gedminas
I've removed and rebuilt command-t's ext.so, to avoid misundestandings, and reproduced the segfault in an empty directory with a single file named 'a'. Here's the traceback (this time with ruby's debug symbols too):
Program received signal SIGSEGV, Segmentation fault. CommandTMatcher_matches_for (self=<optimized out>, abbrev=13612280) at matcher.c:158 158 VALUE path = RARRAY_PTR(paths)[i]; (gdb) bt #0 CommandTMatcher_matches_for (self=<optimized out>, abbrev=13612280) at matcher.c:158 #1 0x00007fffe1d81c1f in CommandTMatcher_sorted_matches_for (self=13504000, abbrev=12845960, options=<optimized out>) at matcher.c:105 #2 0x00007ffff4327b1b in vm_call_cfunc (me=0xebd090, blockptr=0x0, recv=<optimized out>, num=2, reg_cfp=0x7fffe248ad50, th=0xaf7580) at vm_insnhelper.c:404 #3 vm_call_method (th=th@entry=0xaf7580, cfp=cfp@entry=0x7fffe248ad50, num=2, blockptr=0x0, flag=<optimized out>, id=<optimized out>, me=0xebd090, recv=13504000) at vm_insnhelper.c:534 #4 0x00007ffff431d989 in vm_exec_core (th=th@entry=0xaf7580, initial=initial@entry=0) at insns.def:1015 #5 0x00007ffff4323014 in vm_exec (th=th@entry=0xaf7580) at vm.c:1220 #6 0x00007ffff4323453 in eval_string_with_cref (self=11912520, src=13507920, scope=4, cref=0x0, file=0x7ffff435ea39 "(eval)", line=0) at vm_eval.c:1050 #7 0x00007ffff423476d in rb_protect (proc=0x7ffff4323980 <rb_eval_string>, data=18461257, state=0x7fffffffbe6c) at eval.c:719 #8 0x00000000005acae8 in ex_ruby () #9 0x000000000048e644 in do_cmdline () #10 0x0000000000465c6d in call_user_func () #11 0x0000000000466696 in call_func () #12 0x000000000046a798 in get_func_tv () #13 0x000000000046e1fc in ex_call () #14 0x000000000048e644 in do_cmdline () #15 0x0000000000433818 in do_ucmd () #16 0x0000000000490859 in do_cmdline () #17 0x00000000004f79de in nv_colon () #18 0x00000000004fde50 in normal_cmd () #19 0x00000000005b507d in main_loop () #20 0x0000000000435b47 in main ()
-
Marius Gedminas
Never mind, I'm an idiot.
I rm'ed ext.so, but forgot to rm *.o. Really rebuilding the extension module made the segfault go away.
I'm sorry for wasting your time! I'll go find a brown paper bag.
-
Greg Hurrell
'twas a good bug report. I expect the most likely explanation was a mismatch in Ruby versions; when you recompiled it, you likely eliminated the mismatch.
-
Greg Hurrell
Status changed:
- From: new
- To: closed
Add a comment
Comments are now closed for this issue.