Bug#465163: [vim] command line file name completion triggers terminal freeze + 100% cpu load
Roland Eggner
roland.edv at eggner.at
Mon Feb 11 00:23:22 UTC 2008
Package: vim
Version: 1:7.1-241+1
Severity: normal
--- Please enter the report below this line. ---
vim command line file name completion triggers terminal freeze + 100% cpu load,
ALWAYS when I do this steps:
1. I have a "manually" maintained list of MRU files = list with one file name
per line, some followed by tab and a comment, I open this file
2. enter ":r!ls /etc/ba" and try completion by Ctrl-L
I discovered only one possibility to leave this 100% cpu load state: kill -9
it does NOT matter if in KDE konsole (TERM=xterm) or text konsole (TERM=linux)
I can reproduce the problem ONLY when vim displays my mentioned MRU list file
I can reproduce the problem with "vim --noplugins"
I cannot reproduce the problem with "vim -u NONE"
tail of strace output:
----------------------
5501 write(1, "\33[?25l\33[m\33[101;242H~@k\33[16;1H", 29) = 29
5501 open(".", O_RDONLY) = 3
5501 fchdir(3) = 0
5501 chdir(".vim") = 0
5501 getcwd("/home/roland/.vim", 1024) = 18
5501 fchdir(3) = 0
5501 close(3) = 0
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "\33[101;242H \33[15;1H\33[100;211H\33["..., 83) = 83
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {2, 296000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, ":", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "\33[?25l\33[m\33[101;242H:\33[15;1H", 27) = 27
5501 write(1, "\33[101;1H\33[K\33[101;1H:", 20) = 20
5501 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0
5501 ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost -isig -icanon -echo ...}) = 0
5501 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "\33[?12l\33[?25h", 12) = 12
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 488000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "l", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "l", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 720000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "s", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "s", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {1, 984000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "\177", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "\33[?25l\33[101;3H\33[K\33[101;3H\33[?12l\33"..., 37) = 37
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 824000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "\177", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "\33[?25l\33[101;2H\33[K\33[101;2H\33[?12l\33"..., 37) = 37
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 624000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "r", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "r", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 184000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "!", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "!", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 468000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, " ", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, " ", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 760000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "l", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "l", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 804000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "s", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "s", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {1, 372000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, " ", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, " ", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 84000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "/", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "/", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 644000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "e", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "e", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 860000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "t", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "t", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 560000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "c", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "c", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {2, 784000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "/", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "/", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 504000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "b", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "b", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {1, 352000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "a", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 write(1, "a", 1) = 1
5501 select(1, [0], NULL, [0], {4, 0}) = 1 (in [0], left {3, 204000})
5501 select(1, [0], NULL, [0], NULL) = 1 (in [0])
5501 read(0, "\f", 250) = 1
5501 select(1, [0], NULL, [0], {0, 0}) = 0 (Timeout)
5501 +++ killed by SIGKILL +++
--- System information. ---
Architecture: i386
Kernel: Linux 2.6.23.12roland1
Debian Release: 4.0
500 unstable gd.tuwien.ac.at
500 testing security.debian.org
500 testing gd.tuwien.ac.at
500 oldstable gd.tuwien.ac.at
500 edgy wine.budgetdedicated.com
1 experimental gd.tuwien.ac.at
--- Package information. ---
Depends (Version) | Installed
===================================-+-====================
libc6 (>= 2.7-1) | 2.7-3
libgpmg1 (>= 1.19.6-1) | 1.19.6-21
libncurses5 (>= 5.6+20071006-3) | 5.6+20071215-1
vim-common (= 1:7.1-241+1) | 1:7.1-241+1
vim-runtime (= 1:7.1-241+1) | 1:7.1-241+1
--
Roland Eggner
More information about the pkg-vim-maintainers
mailing list