[Bug 856779] Re: gvim slow to respond

Rex Tsai 856779 at bugs.launchpad.net
Mon Feb 13 06:44:41 UTC 2012


Hi, I added the LP bug refernece in the debian/changelog. Please sponsor
the pacakge.

** Description changed:

  [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]
- <fill me in with an explanation of how the bug has been addressed in the development branch, including the relevant version numbers of packages modified in order to implement the 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]
- <fill me in by pointing out a minimal patch applicable to the stable version of the package.>
+ Retrieve upstream patch v7-3-315, a few minor changes to fit into current codebase.
  
  [Test Case]
  1. Ensure ibus is installed
  2. Open a gvim window
  3. 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]
- <fill me in with a discussion of likelihood and potential severity of regressions and how users could get inadvertently affected.
+ 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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, -1) = 1 ([{fd=5, revents=POLLIN}])
  read(5, "\f\0\f\250E\0\340\5\0\0\25\0a\0\32\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 160
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, 0) = 0 (Timeout)
  poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
  writev(5, [{"5\30\4\0\226\16\340\5E\0\340\5a\0\24\2\225\4\5\0\227\16\340\5\226\16\340\5*\0\0\0"..., 8180}, {NULL, 0}, {"", 0}], 3) = 8180
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, -1) = 1 ([{fd=5, revents=POLLIN}])
  read(5, "\f\0i\251E\0\340\5\\\0/\0\5\0\1\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 160
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, 0) = 0 (Timeout)
  poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
  writev(5, [{"5\30\4\0\230\16\340\5E\0\340\5\t\0\24\2\225\4\5\0\231\16\340\5\230\16\340\5*\0\0\0"..., 4440}, {NULL, 0}, {"", 0}], 3) = 4440
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, -1^C <unfinished ...>
  
  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/tmp/vim/%home%maguec%Code%oppy%bin%check_status.swp
  
- ProblemType: Bug
- DistroRelease: Ubuntu 11.10
+ ProblemType: BugDistroRelease: Ubuntu 11.10
  Package: vim-gnome 2:7.3.154+hg~74503f6ee649-2ubuntu2
  ProcVersionSignature: Ubuntu 3.0.0-11.18-generic 3.0.4
  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/vim.gnome
- InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
+ ExecutablePath: /usr/bin/vim.gnomeInstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
  ProcEnviron:
   SHELL=/bin/bash
   PATH=(custom, user)
-  LANG=en_US.UTF-8
- SourcePackage: vim
+  LANG=en_US.UTF-8SourcePackage: vim
  UpgradeStatus: Upgraded to oneiric on 2011-09-02 (19 days ago)

** Patch added: "debdiff-lp-856779-r3.patch"
   https://bugs.launchpad.net/ubuntu/+source/vim/+bug/856779/+attachment/2734982/+files/debdiff-lp-856779-r3.patch

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/856779

Title:
  gvim slow to respond

Status in “vim” package in Ubuntu:
  Fix Released
Status in “vim” source package in Oneiric:
  In Progress
Status in “vim” package in Fedora:
  Unknown

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. Ensure ibus is installed
  2. Open a gvim window
  3. 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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, -1) = 1 ([{fd=5, revents=POLLIN}])
  read(5, "\f\0\f\250E\0\340\5\0\0\25\0a\0\32\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 160
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, 0) = 0 (Timeout)
  poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
  writev(5, [{"5\30\4\0\226\16\340\5E\0\340\5a\0\24\2\225\4\5\0\227\16\340\5\226\16\340\5*\0\0\0"..., 8180}, {NULL, 0}, {"", 0}], 3) = 8180
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, -1) = 1 ([{fd=5, revents=POLLIN}])
  read(5, "\f\0i\251E\0\340\5\\\0/\0\5\0\1\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 160
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, 0) = 0 (Timeout)
  poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
  writev(5, [{"5\30\4\0\230\16\340\5E\0\340\5\t\0\24\2\225\4\5\0\231\16\340\5\230\16\340\5*\0\0\0"..., 4440}, {NULL, 0}, {"", 0}], 3) = 4440
  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=POLLIN|POLLPRI}, {fd=12, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}], 7, -1^C <unfinished ...>

  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/tmp/vim/%home%maguec%Code%oppy%bin%check_status.swp

  ProblemType: BugDistroRelease: Ubuntu 11.10
  Package: vim-gnome 2:7.3.154+hg~74503f6ee649-2ubuntu2
  ProcVersionSignature: Ubuntu 3.0.0-11.18-generic 3.0.4
  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/vim.gnomeInstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
  ProcEnviron:
   SHELL=/bin/bash
   PATH=(custom, user)
   LANG=en_US.UTF-8SourcePackage: vim
  UpgradeStatus: Upgraded to oneiric on 2011-09-02 (19 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/vim/+bug/856779/+subscriptions



More information about the Ubuntu-sponsors mailing list