Bram Moolenaar wrote:
> Charles Campbell wrote:
>
>> I'm afraid that patch 866, which is flawed, will end up in 7.5.  Could
>> this patch be backed out until its fixed, please?
> I'm not aware of a known problem.  What is the flaw?
>

Hello, Bram:

With the latest batch of patches I can no longer compile vim without
patch#866, so I may be using an out-of-date version of vim for awhile.

I ran pchk with the fully updated vim and got the usual hang:

In the first gvim process:
(gdb) where
#0  0x0000003f4100efa0 in __nanosleep_nocancel () from
/lib64/libpthread.so.0
#1  0x0000000000559b20 in mch_delay (msec=50, ignoreinput=1) at
os_unix.c:638
#2  0x00000000005f3e99 in ui_delay (msec=50, ignoreinput=1) at ui.c:251
#3  0x00000000004e7b2a in ServerWait (dpy=0x1fdd400, w=85983235,
endCond=0x4e8030 <WaitForReply>, endData=0x7fff0178f050, localLoop=0,
seconds=-1) at if_xcmdsrv.c:633
#4  0x00000000004e80a6 in serverReadReply (dpy=0x1fdd400, win=85983235,
str=0x7fff0178f0b0, localLoop=0) at if_xcmdsrv.c:821
#5  0x0000000000475dc8 in f_remote_read (argvars=0x7fff0178f200,
rettv=0x7fff0178f9e0) at eval.c:15857
#6  0x000000000046a5bd in call_func (funcname=0x233a0f0
"remote_read(serverid)", len=11, rettv=0x7fff0178f9e0, argcount=1,
argvars=0x7fff0178f200, firstline=6, lastline=6,
doesrange=0x7fff0178f3dc, evaluate=1, selfdict=0x0) at eval.c:8700
#7  0x000000000046a022 in get_func_tv (name=0x233a0f0
"remote_read(serverid)", len=11, rettv=0x7fff0178f9e0,
arg=0x7fff0178f990, firstline=6, lastline=6, doesrange=0x7fff0178f3dc,
evaluate=1, selfdict=0x0) at eval.c:8499
#8  0x00000000004653f4 in eval7 (arg=0x7fff0178f990,
rettv=0x7fff0178f9e0, evaluate=1, want_string=0) at eval.c:5204
#9  0x0000000000464c51 in eval6 (arg=0x7fff0178f990,
rettv=0x7fff0178f9e0, evaluate=1, want_string=0) at eval.c:4855
#10 0x0000000000464809 in eval5 (arg=0x7fff0178f990,
rettv=0x7fff0178f9e0, evaluate=1) at eval.c:4671
#11 0x0000000000463d67 in eval4 (arg=0x7fff0178f990,
rettv=0x7fff0178f9e0, evaluate=1) at eval.c:4366
#12 0x0000000000463bba in eval3 (arg=0x7fff0178f990,
rettv=0x7fff0178f9e0, evaluate=1) at eval.c:4281
#13 0x0000000000463a30 in eval2 (arg=0x7fff0178f990,
rettv=0x7fff0178f9e0, evaluate=1) at eval.c:4213
#14 0x0000000000463863 in eval1 (arg=0x7fff0178f990,
rettv=0x7fff0178f9e0, evaluate=1) at eval.c:4141
#15 0x00000000004637be in eval0 (arg=0x233a0f0 "remote_read(serverid)",
rettv=0x7fff0178f9e0, nextcmd=0x7fff0178faa8, evaluate=1) at eval.c:4101
#16 0x000000000045f2a6 in ex_let (eap=0x7fff0178faa0) at eval.c:1929
#17 0x00000000004a098f in do_one_cmd (cmdlinep=0x7fff01790138,
sourcing=1, cstack=0x7fff0178fc90, fgetline=0x49e274 <get_loop_line>,
cookie=0x7fff0178fc00) at ex_docmd.c:2930
#18 0x000000000049d6d9 in do_cmdline (cmdline=0x0, fgetline=0x485b47
<get_func_line>, cookie=0x231baf0, flags=7) at ex_docmd.c:1116
#19 0x0000000000485092 in call_user_func (fp=0x2320f20, argcount=1,
argvars=0x7fff01790680, rettv=0x7fff01790850, firstline=1, lastline=1,
selfdict=0x0) at eval.c:23959
#20 0x000000000046a484 in call_func (funcname=0x1ecde40 "pchk#PChk",
len=9, rettv=0x7fff01790850, argcount=1, argvars=0x7fff01790680,
firstline=1, lastline=1, doesrange=0x7fff0179084c, evaluate=1,
selfdict=0x0) at eval.c:8670
#21 0x000000000046a022 in get_func_tv (name=0x1ecde40 "pchk#PChk",
len=9, rettv=0x7fff01790850, arg=0x7fff01790870, firstline=1,
lastline=1, doesrange=0x7fff0179084c, evaluate=1, selfdict=0x0) at
eval.c:8499
#22 0x0000000000462595 in ex_call (eap=0x7fff01790950) at eval.c:3502
#23 0x00000000004a098f in do_one_cmd (cmdlinep=0x7fff01790fe8,
sourcing=1, cstack=0x7fff01790b40, fgetline=0x4b73db <getexline>,
cookie=0x0) at ex_docmd.c:2930
#24 0x000000000049d6d9 in do_cmdline (cmdline=0x231b870 "call
pchk#PChk(s:Try  ,)", fgetline=0x4b73db <getexline>, cookie=0x0,
flags=11) at ex_docmd.c:1116
#25 0x00000000004a79af in do_ucmd (eap=0x7fff017911b0) at ex_docmd.c:6742
#26 0x00000000004a0963 in do_one_cmd (cmdlinep=0x7fff01791848,
sourcing=0, cstack=0x7fff017913a0, fgetline=0x4b73db <getexline>,
cookie=0x0) at ex_docmd.c:2921
#27 0x000000000049d6d9 in do_cmdline (cmdline=0x0, fgetline=0x4b73db
<getexline>, cookie=0x0, flags=0) at ex_docmd.c:1116
#28 0x0000000000530de7 in nv_colon (cap=0x7fff01791970) at normal.c:5335
#29 0x0000000000529633 in normal_cmd (oap=0x7fff01791a50, toplevel=1) at
normal.c:1159
#30 0x0000000000641efc in main_loop (cmdwin=0, noexmode=0) at main.c:1351
#31 0x000000000064183c in main (argc=4, argv=0x7fff01791d68) at main.c:1050


In the second gvim process:
(gdb) (gdb) where
Undefined command: "".  Try "help".
(gdb) #0  0x0000003f408df108 in poll () from /lib64/libc.so.6
(gdb) #1  0x0000003f420449f9 in ?? () from /lib64/libglib-2.0.so.0
(gdb) #2  0x0000003f42044e4c in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
(gdb) #3  0x000000000061ef57 in gui_mch_wait_for_chars (wtime=-1) at
gui_gtk_x11.c:5504
(gdb) #4  0x000000000060e982 in gui_wait_for_chars (wtime=-1) at gui.c:2931
(gdb) #5  0x00000000005f3da0 in ui_inchar (buf=0x22545f5 "", maxlen=70,
wtime=-1, tb_change_cnt=112) at ui.c:186
(gdb) #6  0x00000000004d8e0b in inchar (buf=0x22545f5 "", maxlen=212,
wait_time=-1, tb_change_cnt=112) at getchar.c:3059
(gdb) #7  0x00000000004d8a27 in vgetorpeek (advance=1) at getchar.c:2835
(gdb) #8  0x00000000004d6a5d in vgetc () at getchar.c:1605
(gdb) #9  0x00000000004d6f91 in safe_vgetc () at getchar.c:1810
(gdb) #10 0x0000000000528532 in normal_cmd (oap=0x7fff220b9010,
toplevel=1) at normal.c:637
(gdb) #11 0x0000000000641efc in main_loop (cmdwin=0, noexmode=0) at
main.c:1351
(gdb) #12 0x000000000064183c in main (argc=7, argv=0x7fff220b9328) at
main.c:1050

I think that the second gvim process (the "remote" gvim process) is
probably ok, its just awaiting commands.

It seems to be hung in a 50msec delay -- which lasts forever.  FYI -- I
used gdb to attach to these two processes.

Regards,
Chip Campbell



-- 
-- 
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/d/optout.

Raspunde prin e-mail lui