I've never been able to get this to work (trying on and off for 4y or so). Every attempt goes like this:
~ $ mumble-overlay glxgears
set
set
/usr/bin/mumble-overlay: line 63: 5091 Segmentation fault LD_PRELOAD="${MUMBLE_PRELOAD} ${LD_PRELOAD}" "${@}"
Here's the relevant output of glxinfo:
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD CAICOS
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.7.0-devel (git-4d35eef)
OpenGL core profile shading language version string: 3.30
One weird thing is if I try to run mumble-overlay glxinfo, it manages to print the "name of display: :0.0" line before crashing.
I've tried getting it to run in gdb but it doesn't seem to want to cooperate, or else I would've provided more useful details here.
It might be helpful to know what version of mumble this is, and what (presumably Linux) distribution this is on. And -- does glxgears work on this system (i.e. without trying to use the overlay)?
Just discovered this from 2014 which sounds like a plausible explanation. Is it accurate?
What's the status of this issue? 5 years later and mumble-overlay is still completely unusable on Linux...
Which application are you encountering the issue with?
Running any application with mumble-overlay crashes with a segfault. Tested with glxgears and a variety of other applications.
Which distribution are you using? Is Mumble compiled from source or provided as official package?
I'm using Gentoo, and have compiled Mumble from source (using the package provided in Gentoo's official repositories).
Here's some output from gdb, if it's helpful in any way. It doesn't seem to provide any useful information at a glance...
kat@prefect ~ % gdb --args env LD_PRELOAD=/usr/lib64/mumble/libmumble.so glxgears
GNU gdb (Gentoo 9.2 vanilla) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from env...
(No debugging symbols found in env)
(gdb) run
Starting program: /usr/bin/env LD_PRELOAD=/usr/lib64/mumble/libmumble.so glxgears
process 18239 is executing new program: /usr/bin/glxgears
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff7a55dea in ?? () from /usr/lib64/libGLdispatch.so.0
#2 0x00007ffff7a54179 in ?? () from /usr/lib64/libGLdispatch.so.0
#3 0x00007ffff7fe1e7a in ?? () from /lib64/ld-linux-x86-64.so.2
#4 0x00007ffff7fe1f91 in ?? () from /lib64/ld-linux-x86-64.so.2
#5 0x00007ffff7fd30ca in ?? () from /lib64/ld-linux-x86-64.so.2
#6 0x0000000000000001 in ?? ()
#7 0x00007fffffffe7f6 in ?? ()
#8 0x0000000000000000 in ?? ()
(gdb)
Could you paste here the output of readelf -a /usr/bin/glxgears, please?
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x2f00
Start of program headers: 64 (bytes into file)
Start of section headers: 25416 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 11
Size of section headers: 64 (bytes)
Number of section headers: 26
Section header string table index: 25
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .interp PROGBITS 00000000000002a8 000002a8
000000000000001c 0000000000000000 A 0 0 1
[ 2] .note.ABI-tag NOTE 00000000000002c4 000002c4
0000000000000020 0000000000000000 A 0 0 4
[ 3] .gnu.hash GNU_HASH 00000000000002e8 000002e8
0000000000000028 0000000000000000 A 4 0 8
[ 4] .dynsym DYNSYM 0000000000000310 00000310
0000000000000660 0000000000000018 A 5 1 8
[ 5] .dynstr STRTAB 0000000000000970 00000970
00000000000003a3 0000000000000000 A 0 0 1
[ 6] .gnu.version VERSYM 0000000000000d14 00000d14
0000000000000088 0000000000000002 A 4 0 2
[ 7] .gnu.version_r VERNEED 0000000000000da0 00000da0
0000000000000060 0000000000000000 A 5 2 8
[ 8] .rela.dyn RELA 0000000000000e00 00000e00
00000000000000d8 0000000000000018 A 4 0 8
[ 9] .rela.plt RELA 0000000000000ed8 00000ed8
00000000000005b8 0000000000000018 AI 4 22 8
[10] .init PROGBITS 0000000000002000 00002000
0000000000000017 0000000000000000 AX 0 0 4
[11] .plt PROGBITS 0000000000002020 00002020
00000000000003e0 0000000000000010 AX 0 0 16
[12] .plt.got PROGBITS 0000000000002400 00002400
0000000000000008 0000000000000008 AX 0 0 8
[13] .text PROGBITS 0000000000002410 00002410
0000000000001e31 0000000000000000 AX 0 0 16
[14] .fini PROGBITS 0000000000004244 00004244
0000000000000009 0000000000000000 AX 0 0 4
[15] .rodata PROGBITS 0000000000005000 00005000
00000000000004ac 0000000000000000 A 0 0 16
[16] .eh_frame_hdr PROGBITS 00000000000054ac 000054ac
0000000000000064 0000000000000000 A 0 0 4
[17] .eh_frame PROGBITS 0000000000005510 00005510
0000000000000298 0000000000000000 A 0 0 8
[18] .init_array INIT_ARRAY 0000000000006db8 00005db8
0000000000000008 0000000000000008 WA 0 0 8
[19] .fini_array FINI_ARRAY 0000000000006dc0 00005dc0
0000000000000008 0000000000000008 WA 0 0 8
[20] .dynamic DYNAMIC 0000000000006dc8 00005dc8
0000000000000210 0000000000000010 WA 5 0 8
[21] .got PROGBITS 0000000000006fd8 00005fd8
0000000000000028 0000000000000008 WA 0 0 8
[22] .got.plt PROGBITS 0000000000007000 00006000
0000000000000200 0000000000000008 WA 0 0 8
[23] .data PROGBITS 0000000000007200 00006200
000000000000006c 0000000000000000 WA 0 0 16
[24] .bss NOBITS 0000000000007270 0000626c
0000000000000038 0000000000000000 WA 0 0 8
[25] .shstrtab STRTAB 0000000000000000 0000626c
00000000000000db 0000000000000000 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
l (large), p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000000040 0x0000000000000040
0x0000000000000268 0x0000000000000268 R 0x8
INTERP 0x00000000000002a8 0x00000000000002a8 0x00000000000002a8
0x000000000000001c 0x000000000000001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000001490 0x0000000000001490 R 0x1000
LOAD 0x0000000000002000 0x0000000000002000 0x0000000000002000
0x000000000000224d 0x000000000000224d R E 0x1000
LOAD 0x0000000000005000 0x0000000000005000 0x0000000000005000
0x00000000000007a8 0x00000000000007a8 R 0x1000
LOAD 0x0000000000005db8 0x0000000000006db8 0x0000000000006db8
0x00000000000004b4 0x00000000000004f0 RW 0x1000
DYNAMIC 0x0000000000005dc8 0x0000000000006dc8 0x0000000000006dc8
0x0000000000000210 0x0000000000000210 RW 0x8
NOTE 0x00000000000002c4 0x00000000000002c4 0x00000000000002c4
0x0000000000000020 0x0000000000000020 R 0x4
GNU_EH_FRAME 0x00000000000054ac 0x00000000000054ac 0x00000000000054ac
0x0000000000000064 0x0000000000000064 R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
GNU_RELRO 0x0000000000005db8 0x0000000000006db8 0x0000000000006db8
0x0000000000000248 0x0000000000000248 R 0x1
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt
03 .init .plt .plt.got .text .fini
04 .rodata .eh_frame_hdr .eh_frame
05 .init_array .fini_array .dynamic .got .got.plt .data .bss
06 .dynamic
07 .note.ABI-tag
08 .eh_frame_hdr
09
10 .init_array .fini_array .dynamic .got
Dynamic section at offset 0x5dc8 contains 29 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libGL.so.1]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libX11.so.6]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x2000
0x000000000000000d (FINI) 0x4244
0x0000000000000019 (INIT_ARRAY) 0x6db8
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x6dc0
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x2e8
0x0000000000000005 (STRTAB) 0x970
0x0000000000000006 (SYMTAB) 0x310
0x000000000000000a (STRSZ) 931 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x7000
0x0000000000000002 (PLTRELSZ) 1464 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0xed8
0x0000000000000007 (RELA) 0xe00
0x0000000000000008 (RELASZ) 216 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffb (FLAGS_1) Flags: PIE
0x000000006ffffffe (VERNEED) 0xda0
0x000000006fffffff (VERNEEDNUM) 2
0x000000006ffffff0 (VERSYM) 0xd14
0x000000006ffffff9 (RELACOUNT) 3
0x0000000000000000 (NULL) 0x0
Relocation section '.rela.dyn' at offset 0xe00 contains 9 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000006db8 000000000008 R_X86_64_RELATIVE 3010
000000006dc0 000000000008 R_X86_64_RELATIVE 2fc0
000000007208 000000000008 R_X86_64_RELATIVE 7208
000000006fd8 000900000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
000000006fe0 001200000006 R_X86_64_GLOB_DAT 0000000000000000 __libc_start_main@GLIBC_2.2.5 + 0
000000006fe8 001900000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_deregisterTMClone + 0
000000006ff0 001f00000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTa + 0
000000006ff8 004200000006 R_X86_64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.2.5 + 0
000000007270 004300000005 R_X86_64_COPY 0000000000007270 stdout@GLIBC_2.2.5 + 0
Relocation section '.rela.plt' at offset 0xed8 contains 61 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000007018 000100000007 R_X86_64_JUMP_SLO 0000000000000000 glTranslated + 0
000000007020 000200000007 R_X86_64_JUMP_SLO 0000000000000000 XLookupKeysym + 0
000000007028 000300000007 R_X86_64_JUMP_SLO 0000000000000000 glNormal3f + 0
000000007030 000400000007 R_X86_64_JUMP_SLO 0000000000000000 glEnd + 0
000000007038 000500000007 R_X86_64_JUMP_SLO 0000000000000000 glXMakeCurrent + 0
000000007040 000600000007 R_X86_64_JUMP_SLO 0000000000000000 XFree + 0
000000007048 000700000007 R_X86_64_JUMP_SLO 0000000000000000 glEnable + 0
000000007050 000800000007 R_X86_64_JUMP_SLO 0000000000000000 glMatrixMode + 0
000000007058 000a00000007 R_X86_64_JUMP_SLO 0000000000000000 puts@GLIBC_2.2.5 + 0
000000007060 000b00000007 R_X86_64_JUMP_SLO 0000000000000000 XLookupString + 0
000000007068 000c00000007 R_X86_64_JUMP_SLO 0000000000000000 glClear + 0
000000007070 000d00000007 R_X86_64_JUMP_SLO 0000000000000000 exit@GLIBC_2.2.5 + 0
000000007078 000e00000007 R_X86_64_JUMP_SLO 0000000000000000 glXGetProcAddressARB + 0
000000007080 000f00000007 R_X86_64_JUMP_SLO 0000000000000000 __printf_chk@GLIBC_2.3.4 + 0
000000007088 001000000007 R_X86_64_JUMP_SLO 0000000000000000 gettimeofday@GLIBC_2.2.5 + 0
000000007090 001100000007 R_X86_64_JUMP_SLO 0000000000000000 glGenLists + 0
000000007098 001300000007 R_X86_64_JUMP_SLO 0000000000000000 glXDestroyContext + 0
0000000070a0 001400000007 R_X86_64_JUMP_SLO 0000000000000000 glXCreateContext + 0
0000000070a8 001500000007 R_X86_64_JUMP_SLO 0000000000000000 XCreateWindow + 0
0000000070b0 001600000007 R_X86_64_JUMP_SLO 0000000000000000 XCreateColormap + 0
0000000070b8 001700000007 R_X86_64_JUMP_SLO 0000000000000000 glLoadIdentity + 0
0000000070c0 001800000007 R_X86_64_JUMP_SLO 0000000000000000 XOpenDisplay + 0
0000000070c8 001a00000007 R_X86_64_JUMP_SLO 0000000000000000 glShadeModel + 0
0000000070d0 001b00000007 R_X86_64_JUMP_SLO 0000000000000000 glNewList + 0
0000000070d8 001c00000007 R_X86_64_JUMP_SLO 0000000000000000 strlen@GLIBC_2.2.5 + 0
0000000070e0 001d00000007 R_X86_64_JUMP_SLO 0000000000000000 glXQueryDrawable + 0
0000000070e8 001e00000007 R_X86_64_JUMP_SLO 0000000000000000 glDrawBuffer + 0
0000000070f0 002000000007 R_X86_64_JUMP_SLO 0000000000000000 XDestroyWindow + 0
0000000070f8 002100000007 R_X86_64_JUMP_SLO 0000000000000000 XCloseDisplay + 0
000000007100 002200000007 R_X86_64_JUMP_SLO 0000000000000000 glXSwapBuffers + 0
000000007108 002300000007 R_X86_64_JUMP_SLO 0000000000000000 XNextEvent + 0
000000007110 002400000007 R_X86_64_JUMP_SLO 0000000000000000 glFrustum + 0
000000007118 002500000007 R_X86_64_JUMP_SLO 0000000000000000 strstr@GLIBC_2.2.5 + 0
000000007120 002600000007 R_X86_64_JUMP_SLO 0000000000000000 glTranslatef + 0
000000007128 002700000007 R_X86_64_JUMP_SLO 0000000000000000 XMapWindow + 0
000000007130 002800000007 R_X86_64_JUMP_SLO 0000000000000000 glEndList + 0
000000007138 002900000007 R_X86_64_JUMP_SLO 0000000000000000 glXChooseVisual + 0
000000007140 002a00000007 R_X86_64_JUMP_SLO 0000000000000000 getenv@GLIBC_2.2.5 + 0
000000007148 002b00000007 R_X86_64_JUMP_SLO 0000000000000000 glMaterialfv + 0
000000007150 002c00000007 R_X86_64_JUMP_SLO 0000000000000000 glRotatef + 0
000000007158 002d00000007 R_X86_64_JUMP_SLO 0000000000000000 sincos@GLIBC_2.2.5 + 0
000000007160 002e00000007 R_X86_64_JUMP_SLO 0000000000000000 __stack_chk_fail@GLIBC_2.4 + 0
000000007168 002f00000007 R_X86_64_JUMP_SLO 0000000000000000 glBegin + 0
000000007170 003000000007 R_X86_64_JUMP_SLO 0000000000000000 glLightfv + 0
000000007178 003100000007 R_X86_64_JUMP_SLO 0000000000000000 glVertex3f + 0
000000007180 003200000007 R_X86_64_JUMP_SLO 0000000000000000 XSetNormalHints + 0
000000007188 003300000007 R_X86_64_JUMP_SLO 0000000000000000 glPushMatrix + 0
000000007190 003400000007 R_X86_64_JUMP_SLO 0000000000000000 XInternAtom + 0
000000007198 003500000007 R_X86_64_JUMP_SLO 0000000000000000 glGetString + 0
0000000071a0 003600000007 R_X86_64_JUMP_SLO 0000000000000000 glCallList + 0
0000000071a8 003700000007 R_X86_64_JUMP_SLO 0000000000000000 XSetStandardProperties + 0
0000000071b0 003800000007 R_X86_64_JUMP_SLO 0000000000000000 XChangeProperty + 0
0000000071b8 003900000007 R_X86_64_JUMP_SLO 0000000000000000 glPopMatrix + 0
0000000071c0 003a00000007 R_X86_64_JUMP_SLO 0000000000000000 glViewport + 0
0000000071c8 003b00000007 R_X86_64_JUMP_SLO 0000000000000000 glDeleteLists + 0
0000000071d0 003c00000007 R_X86_64_JUMP_SLO 0000000000000000 strtod@GLIBC_2.2.5 + 0
0000000071d8 003d00000007 R_X86_64_JUMP_SLO 0000000000000000 XPending + 0
0000000071e0 003e00000007 R_X86_64_JUMP_SLO 0000000000000000 fflush@GLIBC_2.2.5 + 0
0000000071e8 003f00000007 R_X86_64_JUMP_SLO 0000000000000000 glXQueryExtensionsStri + 0
0000000071f0 004000000007 R_X86_64_JUMP_SLO 0000000000000000 sqrtf@GLIBC_2.2.5 + 0
0000000071f8 004100000007 R_X86_64_JUMP_SLO 0000000000000000 XParseGeometry + 0
The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported.
Symbol table '.dynsym' contains 68 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glTranslated
2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XLookupKeysym
3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glNormal3f
4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glEnd
5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXMakeCurrent
6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XFree
7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glEnable
8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glMatrixMode
9: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.2.5 (2)
11: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XLookupString
12: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glClear
13: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.2.5 (2)
14: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXGetProcAddressARB
15: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.3.4 (3)
16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gettimeofday@GLIBC_2.2.5 (2)
17: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glGenLists
18: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.2.5 (2)
19: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXDestroyContext
20: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXCreateContext
21: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XCreateWindow
22: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XCreateColormap
23: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glLoadIdentity
24: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XOpenDisplay
25: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab
26: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glShadeModel
27: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glNewList
28: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strlen@GLIBC_2.2.5 (2)
29: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXQueryDrawable
30: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glDrawBuffer
31: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable
32: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XDestroyWindow
33: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XCloseDisplay
34: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXSwapBuffers
35: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XNextEvent
36: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glFrustum
37: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strstr@GLIBC_2.2.5 (2)
38: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glTranslatef
39: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XMapWindow
40: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glEndList
41: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXChooseVisual
42: 0000000000000000 0 FUNC GLOBAL DEFAULT UND getenv@GLIBC_2.2.5 (2)
43: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glMaterialfv
44: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glRotatef
45: 0000000000000000 0 FUNC GLOBAL DEFAULT UND sincos@GLIBC_2.2.5 (4)
46: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.4 (5)
47: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glBegin
48: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glLightfv
49: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glVertex3f
50: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XSetNormalHints
51: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glPushMatrix
52: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XInternAtom
53: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glGetString
54: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glCallList
55: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XSetStandardProperties
56: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XChangeProperty
57: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glPopMatrix
58: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glViewport
59: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glDeleteLists
60: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strtod@GLIBC_2.2.5 (2)
61: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XPending
62: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fflush@GLIBC_2.2.5 (2)
63: 0000000000000000 0 FUNC GLOBAL DEFAULT UND glXQueryExtensionsString
64: 0000000000000000 0 FUNC GLOBAL DEFAULT UND sqrtf@GLIBC_2.2.5 (4)
65: 0000000000000000 0 FUNC GLOBAL DEFAULT UND XParseGeometry
66: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.2.5 (2)
67: 0000000000007270 8 OBJECT GLOBAL DEFAULT 24 stdout@GLIBC_2.2.5 (2)
Histogram for `.gnu.hash' bucket list length (total of 2 buckets):
Length Number % of total Coverage
0 1 ( 50.0%)
1 0 ( 0.0%) 0.0%
2 1 ( 50.0%) 100.0%
Version symbols section '.gnu.version' contains 68 entries:
Addr: 0x0000000000000d14 Offset: 0x000d14 Link: 4 (.dynsym)
000: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
004: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
008: 0 (*local*) 0 (*local*) 2 (GLIBC_2.2.5) 0 (*local*)
00c: 0 (*local*) 2 (GLIBC_2.2.5) 0 (*local*) 3 (GLIBC_2.3.4)
010: 2 (GLIBC_2.2.5) 0 (*local*) 2 (GLIBC_2.2.5) 0 (*local*)
014: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
018: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
01c: 2 (GLIBC_2.2.5) 0 (*local*) 0 (*local*) 0 (*local*)
020: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
024: 0 (*local*) 2 (GLIBC_2.2.5) 0 (*local*) 0 (*local*)
028: 0 (*local*) 0 (*local*) 2 (GLIBC_2.2.5) 0 (*local*)
02c: 0 (*local*) 4 (GLIBC_2.2.5) 5 (GLIBC_2.4) 0 (*local*)
030: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
034: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
038: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
03c: 2 (GLIBC_2.2.5) 0 (*local*) 2 (GLIBC_2.2.5) 0 (*local*)
040: 4 (GLIBC_2.2.5) 0 (*local*) 2 (GLIBC_2.2.5) 2 (GLIBC_2.2.5)
Version needs section '.gnu.version_r' contains 2 entries:
Addr: 0x0000000000000da0 Offset: 0x000da0 Link: 5 (.dynstr)
000000: Version: 1 File: libm.so.6 Cnt: 1
0x0010: Name: GLIBC_2.2.5 Flags: none Version: 4
0x0020: Version: 1 File: libc.so.6 Cnt: 3
0x0030: Name: GLIBC_2.4 Flags: none Version: 5
0x0040: Name: GLIBC_2.3.4 Flags: none Version: 3
0x0050: Name: GLIBC_2.2.5 Flags: none Version: 2
Displaying notes found in: .note.ABI-tag
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 3.2.0
https://bugs.gentoo.org/527504 suggests that the issue happens when libc is built without DT_HASH.
readelf -d /lib/x86_64-linux-gnu/libdl.so.2
Output on my machine:
Dynamic section at offset 0x3d90 contains 29 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]
0x000000000000000e (SONAME) Library soname: [libdl.so.2]
0x000000000000000c (INIT) 0x1000
0x000000000000000d (FINI) 0x2048
0x0000000000000019 (INIT_ARRAY) 0x4d70
0x000000000000001b (INIT_ARRAYSZ) 16 (bytes)
0x000000000000001a (FINI_ARRAY) 0x4d80
0x000000000000001c (FINI_ARRAYSZ) 16 (bytes)
0x0000000000000004 (HASH) 0x280
0x000000006ffffef5 (GNU_HASH) 0x438
0x0000000000000005 (STRTAB) 0x908
0x0000000000000006 (SYMTAB) 0x500
0x000000000000000a (STRSZ) 569 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x5000
0x0000000000000002 (PLTRELSZ) 312 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0xe38
0x0000000000000007 (RELA) 0xca0
0x0000000000000008 (RELASZ) 408 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffc (VERDEF) 0xb98
0x000000006ffffffd (VERDEFNUM) 5
0x000000006ffffffe (VERNEED) 0xc40
0x000000006fffffff (VERNEEDNUM) 2
0x000000006ffffff0 (VERSYM) 0xb42
0x000000006ffffff9 (RELACOUNT) 5
0x0000000000000000 (NULL) 0x0
Could you paste the output of the command, please? if HASH is missing, we know the bug report is right.
Dynamic section at offset 0x3ec0 contains 30 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x00000001 (NEEDED) Shared library: [ld-linux.so.2]
0x0000000e (SONAME) Library soname: [libdl.so.2]
0x0000000c (INIT) 0x1000
0x0000000d (FINI) 0x2244
0x00000019 (INIT_ARRAY) 0x4eb0
0x0000001b (INIT_ARRAYSZ) 8 (bytes)
0x0000001a (FINI_ARRAY) 0x4eb8
0x0000001c (FINI_ARRAYSZ) 8 (bytes)
0x6ffffef5 (GNU_HASH) 0x174
0x00000005 (STRTAB) 0x52c
0x00000006 (SYMTAB) 0x25c
0x0000000a (STRSZ) 582 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000003 (PLTGOT) 0x5000
0x00000002 (PLTRELSZ) 104 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x99c
0x00000011 (REL) 0x914
0x00000012 (RELSZ) 136 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffc (VERDEF) 0x7cc
0x6ffffffd (VERDEFNUM) 6
0x0000001e (FLAGS) BIND_NOW
0x6ffffffb (FLAGS_1) Flags: NOW
0x6ffffffe (VERNEED) 0x894
0x6fffffff (VERNEEDNUM) 2
0x6ffffff0 (VERSYM) 0x772
0x6ffffffa (RELCOUNT) 5
0x00000000 (NULL) 0x0
(note that I used /lib/libdl.so.2, as the given file doesn't exist on my system)
Ah, sorry, that's the 32bit copy. Here's /lib64/libdl.so.2:
Dynamic section at offset 0x2d80 contains 30 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]
0x000000000000000e (SONAME) Library soname: [libdl.so.2]
0x000000000000000c (INIT) 0x1000
0x000000000000000d (FINI) 0x1f08
0x0000000000000019 (INIT_ARRAY) 0x3d60
0x000000000000001b (INIT_ARRAYSZ) 16 (bytes)
0x000000000000001a (FINI_ARRAY) 0x3d70
0x000000000000001c (FINI_ARRAYSZ) 16 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x258
0x0000000000000005 (STRTAB) 0x728
0x0000000000000006 (SYMTAB) 0x320
0x000000000000000a (STRSZ) 569 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x4000
0x0000000000000002 (PLTRELSZ) 312 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0xc58
0x0000000000000007 (RELA) 0xac0
0x0000000000000008 (RELASZ) 408 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffc (VERDEF) 0x9b8
0x000000006ffffffd (VERDEFNUM) 5
0x000000000000001e (FLAGS) BIND_NOW
0x000000006ffffffb (FLAGS_1) Flags: NOW
0x000000006ffffffe (VERNEED) 0xa60
0x000000006fffffff (VERNEEDNUM) 2
0x000000006ffffff0 (VERSYM) 0x962
0x000000006ffffff9 (RELACOUNT) 5
0x0000000000000000 (NULL) 0x0
Could you confirm that #4534 fixes the issue, please?
Indeed, it does. Confirmed on Gentoo x86_64
Awesome, thank you very much for your help!