Public bug reported: Hi.
In latest update for Ubuntu Desktop 14.04.4 LTS, there is a serious problem when calling glGenFramebuffers() in a program that links both libOSMesa and libX11. Attached is a test program that can verify this. If the program is compiled with the following gcc check_glgenframebuffer.c -lGL -lX11 -lOSMesa then glGenFramebuffers() will fail when current context is set to GLX and the program will dump core upon exit. This is from gdb: Program received signal SIGSEGV, Segmentation fault. 0x00007ffff2ef930e in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so If the program is compiled with the following, then it works. gcc check_glgenframebuffer.c -lGL -lX11 This is a problem if you have a program that needs both libs such as the Open Source Video Mixer Snowmix. Best regards Peter Maersk-Moller Installed libs: ls -l /usr/lib/x86_64-linux-gnu/libOSMesa* lrwxrwxrwx 1 root root 18 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libOSMesa.so -> libOSMesa.so.6.5.3 lrwxrwxrwx 1 root root 18 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libOSMesa.so.6 -> libOSMesa.so.6.5.3 -rw-r--r-- 1 root root 3708216 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libOSMesa.so.6.5.3 ls -l /usr/lib/x86_64-linux-gnu/libX11* -rw-r--r-- 1 root root 2188236 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.a lrwxrwxrwx 1 root root 15 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.so -> libX11.so.6.3.0 lrwxrwxrwx 1 root root 15 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.so.6 -> libX11.so.6.3.0 -rw-r--r-- 1 root root 1265072 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 ls -l /usr/lib/x86_64-linux-gnu/libGL.* lrwxrwxrwx 1 root root 13 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so ls -l /usr/lib/x86_64-linux-gnu/mesa/* -rw-r--r-- 1 root root 31 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf lrwxrwxrwx 1 root root 14 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/libGL.so -> libGL.so.1.2.0 lrwxrwxrwx 1 root root 14 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2.0 -rw-r--r-- 1 root root 413968 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 ldd /usr/lib/x86_64-linux-gnu/dri/i965_dri.so linux-vdso.so.1 => (0x00007ffe885cf000) libdrm_intel.so.1 => /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1 (0x00007fdb85bac000) libdrm_nouveau.so.2 => /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2 (0x00007fdb859a5000) libdrm_radeon.so.1 => /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1 (0x00007fdb85799000) libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fdb8558c000) libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fdb85362000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdb85144000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdb84f40000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdb84c3c000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdb84936000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdb84571000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdb8435b000) libpciaccess.so.0 => /usr/lib/x86_64-linux-gnu/libpciaccess.so.0 (0x00007fdb84152000) /lib64/ld-linux-x86-64.so.2 (0x00007fdb8652a000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fdb83f39000) ldd /usr/lib/x86_64-linux-gnu/libOSMesa.so linux-vdso.so.1 => (0x00007ffc773d0000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3c1cdce000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3c1cbca000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3c1c8c6000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3c1c5c0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3c1c1fb000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3c1bfe5000) /lib64/ld-linux-x86-64.so.2 (0x00007f3c1d57f000) ldd /usr/lib/x86_64-linux-gnu/libX11.so linux-vdso.so.1 => (0x00007ffe4328d000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f572a94c000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f572a748000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f572a383000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f572a17f000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f5729f79000) /lib64/ld-linux-x86-64.so.2 (0x00007f572aea0000) ldd /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 linux-vdso.so.1 => (0x00007ffc7f780000) libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f19a4f61000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f19a4d4f000) libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f19a4b4c000) libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f19a4946000) libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f19a4744000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f19a440f000) libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f19a41f8000) libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f19a3ff3000) libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f19a3df0000) libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f19a3bed000) libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f19a39e7000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f19a37c8000) libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f19a35c6000) libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f19a33c0000) libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f19a31b3000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f19a2f95000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f19a2d91000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f19a29cc000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f19a27c8000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f19a25c2000) /lib64/ld-linux-x86-64.so.2 (0x00007f19a53ee000) Hardware: Lenovo Thinkpad T61 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 0c) ** Affects: cairo (Ubuntu) Importance: Undecided Status: New ** Tags: framebuffer glgenframebuffers libgl libosmesa libx11 opengl ** Attachment added: "Compile with 'gcc check_glgenframebuffer.c -lGL -lX11 -OSMesa' and it will fail" https://bugs.launchpad.net/bugs/1551028/+attachment/4583957/+files/check_glgenframebuffer.c ** Attachment removed: "Compile with 'gcc check_glgenframebuffer.c -lGL -lX11 -OSMesa' and it will fail" https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1551028/+attachment/4583957/+files/check_glgenframebuffer.c -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to cairo in Ubuntu. https://bugs.launchpad.net/bugs/1551028 Title: glGenFramebuffers fails when linked with OSMesa AND X11 Status in cairo package in Ubuntu: New Bug description: Hi. In latest update for Ubuntu Desktop 14.04.4 LTS, there is a serious problem when calling glGenFramebuffers() in a program that links both libOSMesa and libX11. Attached is a test program that can verify this. If the program is compiled with the following gcc check_glgenframebuffer.c -lGL -lX11 -lOSMesa then glGenFramebuffers() will fail when current context is set to GLX and the program will dump core upon exit. This is from gdb: Program received signal SIGSEGV, Segmentation fault. 0x00007ffff2ef930e in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so If the program is compiled with the following, then it works. gcc check_glgenframebuffer.c -lGL -lX11 This is a problem if you have a program that needs both libs such as the Open Source Video Mixer Snowmix. Best regards Peter Maersk-Moller Installed libs: ls -l /usr/lib/x86_64-linux-gnu/libOSMesa* lrwxrwxrwx 1 root root 18 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libOSMesa.so -> libOSMesa.so.6.5.3 lrwxrwxrwx 1 root root 18 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libOSMesa.so.6 -> libOSMesa.so.6.5.3 -rw-r--r-- 1 root root 3708216 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libOSMesa.so.6.5.3 ls -l /usr/lib/x86_64-linux-gnu/libX11* -rw-r--r-- 1 root root 2188236 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.a lrwxrwxrwx 1 root root 15 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.so -> libX11.so.6.3.0 lrwxrwxrwx 1 root root 15 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.so.6 -> libX11.so.6.3.0 -rw-r--r-- 1 root root 1265072 Dec 4 2013 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 ls -l /usr/lib/x86_64-linux-gnu/libGL.* lrwxrwxrwx 1 root root 13 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so ls -l /usr/lib/x86_64-linux-gnu/mesa/* -rw-r--r-- 1 root root 31 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf lrwxrwxrwx 1 root root 14 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/libGL.so -> libGL.so.1.2.0 lrwxrwxrwx 1 root root 14 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2.0 -rw-r--r-- 1 root root 413968 Jan 12 21:03 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 ldd /usr/lib/x86_64-linux-gnu/dri/i965_dri.so linux-vdso.so.1 => (0x00007ffe885cf000) libdrm_intel.so.1 => /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1 (0x00007fdb85bac000) libdrm_nouveau.so.2 => /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2 (0x00007fdb859a5000) libdrm_radeon.so.1 => /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1 (0x00007fdb85799000) libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fdb8558c000) libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fdb85362000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdb85144000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdb84f40000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdb84c3c000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdb84936000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdb84571000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdb8435b000) libpciaccess.so.0 => /usr/lib/x86_64-linux-gnu/libpciaccess.so.0 (0x00007fdb84152000) /lib64/ld-linux-x86-64.so.2 (0x00007fdb8652a000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fdb83f39000) ldd /usr/lib/x86_64-linux-gnu/libOSMesa.so linux-vdso.so.1 => (0x00007ffc773d0000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3c1cdce000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3c1cbca000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3c1c8c6000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3c1c5c0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3c1c1fb000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3c1bfe5000) /lib64/ld-linux-x86-64.so.2 (0x00007f3c1d57f000) ldd /usr/lib/x86_64-linux-gnu/libX11.so linux-vdso.so.1 => (0x00007ffe4328d000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f572a94c000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f572a748000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f572a383000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f572a17f000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f5729f79000) /lib64/ld-linux-x86-64.so.2 (0x00007f572aea0000) ldd /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 linux-vdso.so.1 => (0x00007ffc7f780000) libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f19a4f61000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f19a4d4f000) libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f19a4b4c000) libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f19a4946000) libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f19a4744000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f19a440f000) libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f19a41f8000) libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f19a3ff3000) libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f19a3df0000) libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f19a3bed000) libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f19a39e7000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f19a37c8000) libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f19a35c6000) libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f19a33c0000) libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f19a31b3000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f19a2f95000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f19a2d91000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f19a29cc000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f19a27c8000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f19a25c2000) /lib64/ld-linux-x86-64.so.2 (0x00007f19a53ee000) Hardware: Lenovo Thinkpad T61 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 0c) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1551028/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp