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