firefox panics in run-time relocation code
Andrew Belashov
bel at orel.ru
Tue Oct 26 07:09:23 PDT 2004
Hello, All!
firefox compiled from ports.
Someone has the same problem?
---[terminal session start]---
bel at jail$ uname -a
FreeBSD jail.localdomain 5.3-BETA7 FreeBSD 5.3-BETA7 #11: Thu Oct 14
13:02:53 MSD 2004 bel at bel.localdomain:/usr/obj/usr/src/sys/SUNC3D sparc64
bel at jail$ pkg_info|grep firefox
firefox-1.0.1.p_4 Web browser based on the browser portion of Mozilla
bel at jail$ pkg_info|grep xorg
xorg-6.7.0_1 X.Org distribution metaport
xorg-clients-6.7.0_4 X client programs and related files from X.Org
xorg-documents-6.7.0 Documentation of X11 protocol and libraries from X.Org
xorg-fonts-100dpi-6.7.0 X.Org 100dpi bitmap fonts
xorg-fonts-75dpi-6.7.0 X.Org 75dpi bitmap fonts
xorg-fonts-cyrillic-6.7.0 X.Org Cyrillic bitmap fonts
xorg-fonts-encodings-6.7.0 X.Org font encoding files
xorg-fonts-miscbitmaps-6.7.0 X.Org miscellaneous bitmap fonts
xorg-fonts-truetype-6.7.0 X.Org TrueType fonts
xorg-fonts-type1-6.7.0 X.Org Type1 fonts
xorg-fontserver-6.7.0 X font server from X.Org
xorg-libraries-6.7.0_2 X11 libraries and headers from X.Org
xorg-nestserver-6.7.0 Nesting X server from X.Org
xorg-printserver-6.7.0 X Print server from X.Org
xorg-server-6.7.0_9 X.Org X server and related programs
xorg-vfbserver-6.7.0 X virtual framebuffer server from X.Org
bel at jail$ pkg_info|grep lib
glib-2.4.7 Some useful routines of C programming (current stable versi
lcms-1.13,1 Light Color Management System -- a color management library
libIDL-0.8.4 A library for creating trees of CORBA Interface Definition
libXft-2.1.6 A client-sided font API for X applications
libiconv-1.9.2_1 A character set conversion library
libmng-1.0.8 Multiple-image Network Graphics (MNG) reference library
libtool-1.3.5_2 Generic shared library support script (version 1.3)
libtool-1.5.10 Generic shared library support script (version 1.5)
libxml2-2.6.14 XML parser library for GNOME
nspr-4.4.1_1 A platform-neutral API for system level and libc like funct
p5-libwww-5.79_1 Perl5 library for WWW access
pkgconfig-0.15.0_1 A utility used to retrieve information about installed libr
tiff-3.7.0 Tools and library routines for working with TIFF images
xorg-documents-6.7.0 Documentation of X11 protocol and libraries from X.Org
xorg-libraries-6.7.0_2 X11 libraries and headers from X.Org
bel at jail$ firefox
(firefox-bin:2590): Gdk-WARNING **: locale not supported by Xlib
(firefox-bin:2590): Gdk-WARNING **: can not set locale modifiers
Segmentation fault (core dumped)
bel at jail$ gdb /usr/X11R6/lib/firefox/lib/firefox-0.10.1/firefox-bin firefox-bin.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc64-marcel-freebsd"...
[...]
#0 0x0000000040225278 in reloc_jmpslot () from /libexec/ld-elf.so.1
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
[...]
0x0000000040224c20 0x0000000040240560 Yes /libexec/ld-elf.so.1
(gdb) add-symbol-file /usr/obj/usr/src/libexec/rtld-elf/ld-elf.so.1 0x0000000040224c20
add symbol table from file "/usr/obj/usr/src/libexec/rtld-elf/ld-elf.so.1" at
.text_addr = 0x40224c20
(y or n) y
Reading symbols from /usr/obj/usr/src/libexec/rtld-elf/ld-elf.so.1...done.
(gdb) frame 0
#0 0x0000000040225278 in reloc_jmpslot (wherep=0x0, target=0, obj=0x40248000,
refobj=0x40248000, rel=0x10a958)
at /usr/src/libexec/rtld-elf/sparc64/reloc.c:535
535 where[2] = JMP | LOVAL(target);
(gdb) bt full
#0 0x0000000040225278 in reloc_jmpslot (wherep=0x0, target=0, obj=0x40248000,
refobj=0x40248000, rel=0x10a958)
at /usr/src/libexec/rtld-elf/sparc64/reloc.c:535
rela = (const Elf_Rela *) 0x10a958
offset = 0
where = (Elf_Half *) 0x113
#1 0x0000000040225c28 in _rtld_bind (obj=0x40248000, reloff=1052096)
at /usr/src/libexec/rtld-elf/rtld.c:477
rel = (const Elf_Rel *) 0x10a958
def = (const Elf_Sym *) 0x100dc0
defobj = (const Obj_Entry *) 0x40248000
where = (Elf_Addr *) 0x0
target = 1076133888
lockstate = 1
#2 0x0000000040224d20 in _rtld_bind_start_1 ()
at /usr/src/libexec/rtld-elf/sparc64/rtld_start.S:166
No locals.
#3 0x0000000040224d20 in _rtld_bind_start_1 ()
at /usr/src/libexec/rtld-elf/sparc64/rtld_start.S:166
No locals.
Previous frame identical to this frame (corrupt stack?)
(gdb) frame 1
#1 0x0000000040225c28 in _rtld_bind (obj=0x40248000, reloff=1052096)
at /usr/src/libexec/rtld-elf/rtld.c:477
477 target = reloc_jmpslot(where, target, defobj, obj, rel);
(gdb) p where
$2 = (Elf_Addr *) 0x0
(gdb) p obj[0]
$1 = {magic = 3578837114, version = 1, next = 0x40248200,
path = 0x4024a000 "/usr/X11R6/lib/firefox/lib/firefox-0.10.1/firefox-bin",
origin_path = 0x0, refcount = 3, dl_refcount = 1,
mapbase = 0x100000 <Address 0x100000 out of bounds>, mapsize = 1187840,
textsize = 114688, vaddrbase = 1048576, relocbase = 0x0, dynamic = 0x21cb20,
entry = 0x10b4a0 "\235?©@?\006 \004?\006 \b?<`", phdr = 0x100040,
phsize = 336, interp = 0x100190 "/libexec/ld-elf.so.1", tlsindex = 0,
tlsinit = 0x0, tlsinitsize = 0, tlssize = 0, tlsoffset = 0, tlsalign = 0,
pltgot = 0x21cf00, rel = 0x0, relsize = 0, rela = 0x108720,
relasize = 11592, pltrel = 0x0, pltrelsize = 0, pltrela = 0x108f90,
pltrelasize = 9432, symtab = 0x100dc0, strtab = 0x103ce8 "",
strsize = 18996, buckets = 0x1001c8, nbuckets = 263, chains = 0x1005e4,
nchains = 503, rpath = 0x0, needed = 0x40246020, init = 0, fini = 0,
mainprog = 1 '\001', rtld = 0 '\0', textrel = 0 '\0', symbolic = 0 '\0',
bind_now = 0 '\0', traced = 0 '\0', jmpslots_done = 0 '\0',
init_done = 1 '\001', tls_done = 1 '\001', linkmap = {
l_addr = 0x100000 <Address 0x100000 out of bounds>,
l_name = 0x4024a000 "/usr/X11R6/lib/firefox/lib/firefox-0.10.1/firefox-bin",
l_ld = 0x21cb20, l_next = 0x40248360, l_prev = 0x0}, dldags = {
stqh_first = 0x0, stqh_last = 0x40248188}, dagmembers = {stqh_first = 0x0,
stqh_last = 0x40248198}, dev = 0, ino = 0, priv = 0x0}
(gdb) q
---[terminal session end]---
--
With best regards,
Andrew Belashov.
More information about the freebsd-sparc64
mailing list