[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vile] vile-9.7[stu] gets stuck "working..."
From: |
Clem Taylor |
Subject: |
Re: [vile] vile-9.7[stu] gets stuck "working..." |
Date: |
Sat, 5 Sep 2009 15:01:32 -0400 |
On Fri, Sep 4, 2009 at 6:07 PM, Thomas Dickey<address@hidden> wrote:
> that's the first user of "reflex" that I've seen.
vile wouldn't compile with flex 2.5.35, so I used reflex instead.
> hmm. I vaguely recall some comment like that, but haven't _seen_ it myself.
On the other systems I have 9.5[rl] which don't seem to have this problem.
> That's interesting - are you editing the [HighlightClear] buffer?
I wasn't. I seem to be able to reproduce the problem just typing out a
hello world program making many mistakes, but I haven't been able to
come up with what the combination is needed it trigger the problem. It
seems to be easier to trigger it over an ssh connection (with a slow
link).
> To test that quickly, I'd suggest just changing line 4619 to "#if 0"
> and see if I could reproduce the problem easily.
>
> I'm looking at this line:
>
> if (!waiting && !im_timing && ShowWorking())
>
> and seeing that "!waiting" would be true after a call from input.c line 572:
>
> (void) im_waiting(FALSE);
I tried that and it and it still fails, but now it doesn't print
"working...". I've managed to trigger the bug multiple times with the
same process: open up a file, split the window, create a new file,
copy 5 or so lines from the first file, paste them in the new file,
goto the first line of the new file and delete it with 'dd'.
Program received signal SIGINT, Interrupt.
*__GI_strncpy (s1=0x7fffffffdd2b "", s2=0x4c2700 "[Buffer List]", n=21)
at strncpy.c:35
35 if (n >= 4)
Current language: auto; currently minimal
(gdb) where
#0 *__GI_strncpy (s1=0x7fffffffdd2b "", s2=0x4c2700 "[Buffer List]", n=21)
at strncpy.c:35
#1 0x0000000000404e0d in strncpy0 (t=0x7fffffffdd2b "",
f=0x4c2700 "[Buffer List]", l=21) at main.c:2599
#2 0x000000000040f4a5 in set_bname (bp=0x7fffffffd610,
name=0x4c2700 "[Buffer List]") at buffer.c:2504
#3 0x000000000040f8c7 in find_b_name (bname=0x4c2700 "[Buffer List]")
at buffer.c:2528
#4 0x000000000040f919 in update_scratch (name=0x7fffffffdd2b "",
func=0x4c2700 <BUFFERLIST_BufName>) at buffer.c:2263
#5 0x00000000004104f5 in chg_buff (bp=0x7de240, flag=9984) at buffer.c:2809
#6 0x00000000004374e7 in ldel_bytes (nbytes=1, kflag=1) at line.c:757
#7 0x000000000044f40c in killregionmaybesave (save=1) at region.c:219
#8 0x0000000000443a21 in vile_op (f=0, n=1, fn=0x44ff90 <killregion>,
str=0x4c521b "Delete") at opers.c:124
#9 0x0000000000444343 in operdel (f=-8917, n=4990720) at opers.c:149
#10 0x0000000000423c5d in execute (execfunc=0x4cf9e0, f=4990720, n=21)
at exec.c:1076
#11 0x0000000000406cac in main_loop () at main.c:1013
#12 main () at main.c:920
I also tried it without a .vilerc:
Program received signal SIGINT, Interrupt.
0x00000000004374d0 in ldel_bytes (nbytes=1, kflag=1) at line.c:756
756 CopyForUndo(DOT.l);
(gdb) where
#0 0x00000000004374d0 in ldel_bytes (nbytes=1, kflag=1) at line.c:756
#1 0x000000000044f40c in killregionmaybesave (save=1) at region.c:219
#2 0x0000000000443a21 in vile_op (f=0, n=1, fn=0x44ff90 <killregion>,
str=0x4c521b "Delete") at opers.c:124
#3 0x0000000000444343 in operdel (f=8153008, n=8156432) at opers.c:149
#4 0x0000000000423c5d in execute (execfunc=0x4cf9e0, f=8156432, n=7924080)
at exec.c:1076
#5 0x0000000000406cac in main_loop () at main.c:1013
#6 main () at main.c:920
Or:
Program received signal SIGINT, Interrupt.
strcmp () at ../sysdeps/x86_64/strcmp.S:40
40 L(neq): movl $1, %eax
Current language: auto; currently asm
(gdb) where
#0 strcmp () at ../sysdeps/x86_64/strcmp.S:40
#1 0x000000000040f8f8 in find_b_name (bname=<value optimized out>)
at buffer.c:2531
#2 0x000000000040f919 in update_scratch (name=0x7c36dd "FileCompletion]",
func=0x7fffffffdced) at buffer.c:2263
#3 0x00000000004104f5 in chg_buff (bp=0x7c6b80, flag=56557) at buffer.c:2809
#4 0x00000000004374e7 in ldel_bytes (nbytes=1, kflag=1) at line.c:757
#5 0x000000000044f40c in killregionmaybesave (save=1) at region.c:219
#6 0x0000000000443a21 in vile_op (f=0, n=1, fn=0x44ff90 <killregion>,
str=0x4c521b "Delete") at opers.c:124
#7 0x0000000000444343 in operdel (f=8140509, n=-8979) at opers.c:149
#8 0x0000000000423c5d in execute (execfunc=0x4cf9e0, f=-8979, n=0)
at exec.c:1076
#9 0x0000000000406cac in main_loop () at main.c:1013
#10 main () at main.c:920
Or:
Program received signal SIGINT, Interrupt.
chg_buff (bp=0x7c67b0, flag=4) at buffer.c:2808
2808 if (update_on_chg(bp))
(gdb) where
#0 chg_buff (bp=0x7c67b0, flag=4) at buffer.c:2808
#1 0x00000000004374e7 in ldel_bytes (nbytes=1, kflag=1) at line.c:757
#2 0x000000000044f40c in killregionmaybesave (save=1) at region.c:219
#3 0x0000000000443a21 in vile_op (f=0, n=1, fn=0x44ff90 <killregion>,
str=0x4c521b "Delete") at opers.c:124
#4 0x0000000000444343 in operdel (f=8153008, n=4) at opers.c:149
#5 0x0000000000423c5d in execute (execfunc=0x4cf9e0, f=4, n=2) at exec.c:1076
#6 0x0000000000406cac in main_loop () at main.c:1013
#7 main () at main.c:920
--Clem