← Back to team overview

desktop-packages team mailing list archive

[Bug 1248642] Re: dynamic library inconsistencies with OpenGL/C++

 

I have tested the new binutils package on the test program at the top of
this ticket. I no longer see the "Inconsistency detected..." message,
but I do receive a segfault.

Here is what I did to upgrade:

#> cat /etc/apt/sources.list.d/trusty-proposed.list
deb http://archive.ubuntu.com/ubuntu/ trusty-proposed restricted main multiverse universe
#> apt-get update
#> apt-get install binutils=2.24-5ubuntu13
#> apt-cache policy binutils
binutils:
  Installed: 2.24-5ubuntu13
  Candidate: 2.24-5ubuntu13
  Version table:
 *** 2.24-5ubuntu13 0
        100 /var/lib/dpkg/status

Here is what I did to compile the test program:

$> g++ test.cpp -lGL
$> ./a.out 
Segmentation fault (core dumped)

Forcing linking against NVIDIA's libGL.so seems to get rid of the
segfault:

$> g++ test.cpp -L /usr/lib/nvidia-331 -lGL
$> ./a.out 

Here is a backtrace from gdb.

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff406c291 in init () at dlerror.c:177
#2  0x00007ffff406c6d7 in _dlerror_run (operate=operate@entry=0x7ffff406c130 <dlsym_doit>, 
    args=args@entry=0x7fffffffe550) at dlerror.c:129
#3  0x00007ffff406c198 in __dlsym (handle=<optimized out>, name=<optimized out>) at dlsym.c:70
#4  0x00007ffff7b4eb3e in ?? () from /usr/lib/nvidia-331/libGL.so.1
#5  0x00007ffff7b32db4 in ?? () from /usr/lib/nvidia-331/libGL.so.1
#6  0x00007ffff7dea0fd in call_init (l=0x7ffff7ff94c0, argc=argc@entry=1, 
    argv=argv@entry=0x7fffffffe698, env=env@entry=0x7fffffffe6a8) at dl-init.c:64
#7  0x00007ffff7dea223 in call_init (env=<optimized out>, argv=<optimized out>, 
    argc=<optimized out>, l=<optimized out>) at dl-init.c:36
#8  _dl_init (main_map=0x7ffff7ffe1c8, argc=1, argv=0x7fffffffe698, env=0x7fffffffe6a8)
    at dl-init.c:126
#9  0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#10 0x0000000000000001 in ?? ()
#11 0x00007fffffffe968 in ?? ()
#12 0x0000000000000000 in ?? ()

I am using nvidia-331=331.113-0ubuntu0.0.4, but
nvidia-331-updates=331.113-0ubuntu0.0.4 seems to have the same behavior
too. If I can provide more information let me know. I'll update the tag
too (if I can find where to do it).

** Tags removed: verification-needed
** Tags added: verification-failed

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to nvidia-graphics-drivers-319 in Ubuntu.
https://bugs.launchpad.net/bugs/1248642

Title:
  dynamic library inconsistencies with OpenGL/C++

Status in binutils package in Ubuntu:
  Fix Released
Status in nvidia-graphics-drivers-319 package in Ubuntu:
  Confirmed
Status in nvidia-graphics-drivers-331 package in Ubuntu:
  Confirmed
Status in binutils source package in Trusty:
  Fix Committed
Status in nvidia-graphics-drivers-319 source package in Trusty:
  Confirmed
Status in nvidia-graphics-drivers-331 source package in Trusty:
  Confirmed
Status in binutils package in Debian:
  Fix Released

Bug description:
  While using the nvidia-319 driver, the following C++ program won't
  run:

  $ cat > test.cpp << EOF
  #include <string>
  #include <GL/gl.h>
  int main(int argc, char *argv[]) {
  	std::string s;
  	glEnable(GL_LIGHT0);
  }
  EOF

  Instead, it fails with the following error message:
  $ g++ test.cpp -lGL
  $ ./a.out
  Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed!

  Using the xserver-xorg-video-nouveau driver, the problem does not
  occur. Also, when std::string is not used, the program runs without
  problems. Using OpenGL from pure C programs is also not a problem. The
  problem can be reproduced with both g++-4.6 and g++-4.8.

  ProblemType: Bug
  DistroRelease: Ubuntu 13.10
  Package: nvidia-319 319.32-0ubuntu7
  ProcVersionSignature: Ubuntu 3.11.0-12.19-generic 3.11.3
  Uname: Linux 3.11.0-12-generic x86_64
  NonfreeKernelModules: openafs nvidia
  ApportVersion: 2.12.5-0ubuntu2.1
  Architecture: amd64
  Date: Wed Nov  6 18:25:48 2013
  InstallationDate: Installed on 2013-11-01 (5 days ago)
  InstallationMedia: Ubuntu-GNOME 13.10 "Saucy Salamander" - Release amd64 (20131017)
  MarkForUpload: True
  SourcePackage: nvidia-graphics-drivers-319
  UpgradeStatus: No upgrade log present (probably fresh install)
  modified.conffile..etc.modprobe.d.nvidia.319.hybrid.conf: [deleted]

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