gvim slow to respond
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
vim (Fedora) |
Fix Released
|
Medium
|
|||
vim (Ubuntu) |
Fix Released
|
Undecided
|
Rex Tsai | ||
Oneiric |
Fix Released
|
Undecided
|
Rex Tsai |
Bug Description
[Impact]
The bug makes gvim windows unresponsive to keyboard events for seconds to minutes after a window is opened. It happens every time a window is opened. It's annoying and makes gvim very difficult to use.
Problem: Opening a window before forking causes problems for GTK.
[Development Fix]
using patch from upstream v7-3-315.
> Fork first, create the window in the child and report back to the
> parent process whether it worked. If successful the parent exits,
> if unsuccessful the child exits and the parent continues in the
> terminal. (Tim Starling)
[Stable Fix]
Retrieve upstream patch v7-3-315, a few minor changes to fit into current codebase.
[Test Case]
1. Open a gvim window
2. Focus window and press arrow keys immediately after opening
Broken Behavior: Arrow keys have no effect. Clicking around will move the cursor normally
Fixed Behavior: Arrow keys move cursor
[Regression Potential]
N/A.
[Original Report]
Opening up GVIM takes long time and edit commands such as moving are very slow.
strace shows lots of waiting:
poll([{fd=6, events=POLLIN}, {fd=5, events=POLLIN}, {fd=9, events=
read(5, "\f\0\f\
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN}, {fd=5, events=POLLIN}, {fd=9, events=
poll([{fd=5, events=
writev(5, [{"5\30\
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN}, {fd=5, events=POLLIN}, {fd=9, events=
read(5, "\f\0i\
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN}, {fd=5, events=POLLIN}, {fd=9, events=
poll([{fd=5, events=
writev(5, [{"5\30\
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(5, 0x11fa014, 4096) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN}, {fd=5, events=POLLIN}, {fd=9, events=
fds are here
gvim 6138 maguec 0u CHR 136,0 0t0 3 /dev/pts/0
gvim 6138 maguec 1u CHR 136,0 0t0 3 /dev/pts/0
gvim 6138 maguec 2u CHR 136,0 0t0 3 /dev/pts/0
gvim 6138 maguec 3r FIFO 0,8 0t0 213734 pipe
gvim 6138 maguec 4w FIFO 0,8 0t0 213734 pipe
gvim 6138 maguec 5u unix 0x0000000000000000 0t0 213737 socket
gvim 6138 maguec 6u 0000 0,9 0 5107 anon_inode
gvim 6138 maguec 7u unix 0x0000000000000000 0t0 212773 socket
gvim 6138 maguec 8u 0000 0,9 0 5107 anon_inode
gvim 6138 maguec 9r FIFO 0,8 0t0 213743 pipe
gvim 6138 maguec 10w FIFO 0,8 0t0 213743 pipe
gvim 6138 maguec 11u unix 0x0000000000000000 0t0 213744 socket
gvim 6138 maguec 12u unix 0x0000000000000000 0t0 213745 socket
gvim 6138 maguec 13u 0000 0,9 0 5107 anon_inode
gvim 6138 maguec 14u 0000 0,9 0 5107 anon_inode
gvim 6138 maguec 15u unix 0x0000000000000000 0t0 212774 socket
gvim 6138 maguec 16u unix 0x0000000000000000 0t0 213752 socket
gvim 6138 maguec 17u 0000 0,9 0 5107 anon_inode
gvim 6138 maguec 18r 0000 0,9 0 5107 anon_inode
gvim 6138 maguec 20u REG 8,6 12288 8478 /home/maguec/
ProblemType: BugDistroRelease: Ubuntu 11.10
Package: vim-gnome 2:7.3.154+
ProcVersionSign
Uname: Linux 3.0.0-11-generic x86_64
ApportVersion: 1.23-0ubuntu1
Architecture: amd64
Date: Thu Sep 22 13:30:21 2011
ExecutablePath: /usr/bin/
ProcEnviron:
SHELL=/bin/bash
PATH=(custom, user)
LANG=en_
UpgradeStatus: Upgraded to oneiric on 2011-09-02 (19 days ago)
Related branches
Changed in vim (Ubuntu Oneiric): | |
assignee: | nobody → Rex Tsai (chihchun) |
status: | New → In Progress |
Changed in vim (Ubuntu): | |
status: | In Progress → Fix Released |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
Changed in vim (Fedora): | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
Description of problem:
When opening a text file, gvim is very sluggish. It takes a while until key input is processed (actually in a kind of "burst mode") making it impossible to actually edit the loaded text in reasonable manner. In the meantime, the shell from which gvim had been started is filled with warnings:
(gvim:5333): IBUS-WARNING **: org.freedesktop .IBus.InputCont ext.ProcessKeyE vent: Timeout was reached
Version-Release number of selected component (if applicable): 7.3.107- 1.fc15. x86_64
vim-X11-
How reproducible:
Always.
Steps to Reproduce:
1. Start GNOME session.
2. Open file in gvim.
3. Move cursor and edit some text.
Actual results:
gvim is very sluggish. Key input accumulates until it gets processed after some time in a kind of burst.
Expected results:
gvim allows to edit the text in a fluent manner.
Additional info:
None.