[2.15~pre6] regression: crashes in dlopen()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GLibC |
Fix Released
|
Critical
|
|||
eglibc (Ubuntu) |
Fix Released
|
High
|
Matthias Klose |
Bug Description
I have used eglibc 2.15~pre6-0ubuntu4 from https:/
This can be reduced to this test case:
With precise's libc6 2.13, it works:
/usr/lib/
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-
#
"/usr/lib/
"svg" 2 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
"image/svg+xml" "image/svg" "image/svg-xml" "image/
"svg" "svgz" "svg.gz" ""
" <svg" "* " 100
" <!DOCTYPE svg" "* " 100
With the PPA version it crashes:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000005446 in ?? ()
(gdb) bt
#0 0x0000000000005446 in ?? ()
#1 0x00007ffff5137fc5 in floor ()
at ../sysdeps/
#2 0x00007ffff7de6a2b in ?? () from /lib64/
#3 0x00007ffff7ded936 in ?? () from /lib64/
#4 0x00007ffff7de9126 in ?? () from /lib64/
#5 0x00007ffff7ded2ca in ?? () from /lib64/
#6 0x00007ffff7107f26 in dlopen_doit (a=0x7fffffffe280) at dlopen.c:67
#7 0x00007ffff7de9126 in ?? () from /lib64/
#8 0x00007ffff710852f in _dlerror_run (operate=
args=
#9 0x00007ffff7107fc1 in __dlopen (file=<optimized out>, mode=<optimized out>)
at dlopen.c:88
#10 0x00007ffff7bd76fc in _g_module_open (bind_local=
bind_
file_
at /build/
#11 g_module_open (
file_
at /build/
#12 0x00000000004010a0 in ?? ()
#13 0x0000000000400d94 in ?? ()
#14 0x00007ffff732c76d in __libc_start_main (main=0x400cf0, argc=2,
ubp_
rtld_
Unfortunately the backtrace is rather useless. I do have the matching libc6-dbg, it just doesn't seem to help here.
description: | updated |
Changed in eglibc (Ubuntu): | |
assignee: | nobody → Matthias Klose (doko) |
Changed in eglibc (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in glibc: | |
importance: | Unknown → Critical |
status: | Unknown → Confirmed |
Changed in glibc: | |
status: | Confirmed → Fix Released |
The reason for "useless" stack trace is a GDB bug: sourceware. org/bugzilla/ show_bug. cgi?id= 9538
http://
You should be able to get a more useful info by using explicit
add-symbol-file /usr/lib/ debug/lib/ x86_64- linux-gnu/ ld-2.15. so <ld-linux- load-address>
(where ld-linux- load-address is available from "info shared")