Bug#612998: /usr/lib/nvidia/libGL.so.260.19.21: OpenGL-enabled Cairo + nVidia libGL cause Vim child processes to deadlock

James Vega jamessan at debian.org
Sat Feb 12 06:09:20 UTC 2011


Package: libgl1-nvidia-glx
Version: 260.19.21-1
Severity: important
File: /usr/lib/nvidia/libGL.so.260.19.21

I'm filing this against libgl1-nvidia-glx since using the libGL.so.1
from libgl1-mesa-glx doesn't exhibit the problem, but I'm open to the
concept that nVidia's library just happens to be exposing a weird bug
(in Cairo or Vim).  As a reference, I've also included the version info
for Cairo and its dependencies in the reportbug template.

Since the recent OpenGL-enabled Cairo was uploaded (1.10.2-2), any time
Vim tries to fork a child process, the process gets deadlocked between
the fork() and the execvp().

  0xb7899424 in __kernel_vsyscall ()
  (gdb) bt
  #0  0xb7899424 in __kernel_vsyscall ()
  #1  0xb6eebc39 in __lll_lock_wait ()
      at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142
  #2  0xb6ee7049 in _L_lock_839 () from /lib/i686/cmov/libpthread.so.0
  #3  0xb6ee6edb in __pthread_mutex_lock (mutex=0xb6503920) at pthread_mutex_lock.c:82
  #4  0xb64c4231 in ?? () from /usr/lib/libGL.so.1
  Backtrace stopped: previous frame inner to this frame (corrupt stack?)

An easy way to reproduce the problem is to run a Vim binary that's
linked against Gtk[0] (and therefore Cairo) and run a shell command from
inside it.

  $ vim
  :!ls

Instead of seeing the output of the working directory, the child process
hangs as described above.  Running «ps afx» will show something like

  13597 pts/6    Sl+    0:00      \_ vim
  13599 pts/6    S+     0:00          \_ vim

when the child should be ls (and should have quickly exited).  You'll
have to «kill -9» the child to get control back to the parent Vim
process since the child locks up before reseting all of its signal
handlers to default.

If there's any more information or help I can provide, just let me know.

[0]: Both the vim-gtk and vim-gnome packages will provide such a binary.

-- Package-specific info:
uname -a:
Linux debil 2.6.32-5-686 #1 SMP Wed Jan 12 04:01:41 UTC 2011 i686 GNU/Linux

/proc/version:
Linux version 2.6.32-5-686 (Debian 2.6.32-30) (ben at decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Wed Jan 12 04:01:41 UTC 2011

/proc/driver/nvidia/version:
NVRM version: NVIDIA UNIX x86 Kernel Module  260.19.21  Thu Nov  4 20:24:24 PDT 2010
GCC version:  gcc version 4.3.5 (Debian 4.3.5-4) 

lspci 'VGA compatible controller [0300]':
01:00.0 VGA compatible controller [0300]: nVidia Corporation GT215 [GeForce GT 240] [10de:0ca3] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: eVga.com. Corp. Device [3842:1236]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at b0000000 (64-bit, prefetchable) [size=256M]
	Region 3: Memory at ce000000 (64-bit, prefetchable) [size=32M]
	Region 5: I/O ports at df00 [size=128]
	[virtual] Expansion ROM at c0000000 [disabled] [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: nvidia


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (100, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libgl1-nvidia-glx depends on:
ii  libc6                        2.11.2-11   Embedded GNU C Library: Shared lib
ii  libgl1-nvidia-alternatives   195.36.31-6 simplifies replacing MESA libGL wi
ii  libx11-6                     2:1.4.1-4   X11 client-side library
ii  libxext6                     2:1.2.0-2   X11 miscellaneous extension librar
ii  libxv1                       2:1.0.6-1   X11 Video extension library
ii  libxvmc1                     2:1.0.6-1   X11 Video extension library

Versions of packages libgl1-nvidia-glx recommends:
ii  nvidia-kernel-dkms [nvidia-k 260.19.21-1 NVIDIA binary kernel module DKMS s

Versions of packages libgl1-nvidia-glx suggests:
ii  nvidia-kernel-dkms [nvidia-k 260.19.21-1 NVIDIA binary kernel module DKMS s
ii  nvidia-kernel-source         260.19.21-1 NVIDIA binary kernel module source

Versions of packages nvidia-glx depends on:
ii  dpkg                         1.15.8.10   Debian package management system
ii  libc6                        2.11.2-11   Embedded GNU C Library: Shared lib
ii  libglx-nvidia-alternatives   195.36.31-6 simplifies replacing Xorg module l
ii  nvidia-kernel-dkms [nvidia-k 260.19.21-1 NVIDIA binary kernel module DKMS s
ii  xserver-xorg-core [xorg-vide 2:1.9.4-1   Xorg X server - core server

Versions of packages nvidia-kernel-dkms depends on:
ii  dkms                          2.1.1.2-5  Dynamic Kernel Module Support Fram
ii  nvidia-kernel-common          20100522+2 NVIDIA binary kernel module suppor

Versions of packages nvidia-kernel-source depends on:
ii  debhelper                     8.1.1      helper programs for debian/rules
ii  make                          3.81-8     An utility for Directing compilati
ii  quilt                         0.48-7     Tool to work with series of patche

Versions of packages libgl1-nvidia-glx is related to:
ii  binutils                     2.21-5      The GNU assembler, linker and bina
pn  binutils-gold                <none>      (no description available)
ii  linux-headers-2.6-686 [linux 2.6.32+29   Header files for Linux 2.6-686 (me
ii  linux-headers-2.6.32-5-686 [ 2.6.32-30   Header files for Linux 2.6.32-5-68
ii  nvidia-glx [nvidia-glx]      260.19.21-1 NVIDIA binary Xorg driver
ii  nvidia-kernel-common         20100522+2  NVIDIA binary kernel module suppor
ii  nvidia-kernel-dkms [nvidia-k 260.19.21-1 NVIDIA binary kernel module DKMS s
ii  nvidia-kernel-source         260.19.21-1 NVIDIA binary kernel module source
ii  xserver-xorg                 1:7.6+2     the X.Org X server
ii  xserver-xorg-core            2:1.9.4-1   Xorg X server - core server

Versions of packages libcairo2 depends on:
ii  libc6                   2.11.2-11        Embedded GNU C Library: Shared lib
ii  libegl1-mesa [libegl1-x 7.10-3           A free implementation of the EGL A
ii  libfontconfig1          2.8.0-2.1        generic font configuration library
ii  libfreetype6            2.4.2-2.1        FreeType 2 font engine, shared lib
ii  libgl1-mesa-glx [libgl1 7.10-3           A free implementation of the OpenG
ii  libpixman-1-0           0.21.4-2         pixel-manipulation library for X a
ii  libpng12-0              1.2.44-1         PNG library - runtime
ii  libx11-6                2:1.4.1-4        X11 client-side library
ii  libxcb-render0          1.7-2            X C Binding, render extension
ii  libxcb-shm0             1.7-2            X C Binding, shm extension
ii  libxcb1                 1.7-2            X C Binding
ii  libxrender1             1:0.9.6-1        X Rendering Extension client libra
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

-- no debconf information

-- 
James
GPG Key: 1024D/61326D40 2003-09-02 James Vega <jamessan at debian.org>





More information about the pkg-nvidia-devel mailing list