Bug 725173 - SIGSEGV on startup
Summary: SIGSEGV on startup
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: firefox
Version: rawhide
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Martin Stransky
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-23 17:34 UTC by John Reiser
Modified: 2018-04-11 07:34 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-07 15:39:41 UTC
Type: ---


Attachments (Terms of Use)

Description John Reiser 2011-07-23 17:34:39 UTC
Description of problem: firefox crashes on startup.  /var/log/messages says:
Jul 23 08:40:03 f16r64 kernel: [  655.338323] crashreporter[1886]: segfault at ffffffffffffff68 ip 00007f3fe6a637c1 sp 00007fff7a91ec68 error 4 in libc-2.14.90.so[7f3fe69e1000+1a4000]
abrtd is running, but I don't see any results from abrtd.


Version-Release number of selected component (if applicable):
firefox-5.0-2.fc16.x86_64


How reproducible: every time (6 times so far)


Steps to Reproduce:
1. delete line "debugging=0" from /usr/bin/firefox
2. ./firefox -g
3.
  
Actual results:
$ ./firefox -g
/usr/lib64/firefox-5/run-mozilla.sh -g /usr/lib64/firefox-5/firefox
MOZILLA_FIVE_HOME=/usr/lib64/firefox-5
  LD_LIBRARY_PATH=/usr/lib64/firefox-5:/usr/lib64/firefox-5/plugins:/usr/lib64/firefox-5
DISPLAY=:0
FONTCONFIG_PATH=/etc/fonts:/usr/lib64/firefox-5/res/Xft
DYLD_LIBRARY_PATH=/usr/lib64/firefox-5:/usr/lib64/firefox-5
     LIBRARY_PATH=
       SHLIB_PATH=/usr/lib64/firefox-5:/usr/lib64/firefox-5
          LIBPATH=/usr/lib64/firefox-5:/usr/lib64/firefox-5
       ADDON_PATH=
      MOZ_PROGRAM=/usr/lib64/firefox-5/firefox
      MOZ_TOOLKIT=
        moz_debug=1
     moz_debugger=
moz_debugger_args=
/usr/lib64/firefox-5/run-mozilla.sh: line 116: type: ddd: not found
/usr/bin/gdb  --args /usr/lib64/firefox-5/firefox
GNU gdb (GDB) Fedora (7.3.50.20110722-1.fc16)
Copyright (C) 2011 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-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib64/firefox-5/firefox...Reading symbols from /usr/lib/debug/usr/lib64/firefox-5/firefox.debug...done.
done.
(gdb) run
Starting program: /usr/lib64/firefox-5/firefox 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
__strlen_sse2 () at ../sysdeps/x86_64/strlen.S:32
32		movdqu	(%rdi), %xmm1
Missing separate debuginfos, use: debuginfo-install PackageKit-gtk-module-0.6.16-1.fc16.x86_64 alsa-lib-1.0.24-2.fc15.x86_64 avahi-glib-0.6.30-3.fc16.x86_64 avahi-libs-0.6.30-3.fc16.x86_64 dbus-glib-0.92-2.fc15.x86_64 dbus-libs-1.4.10-1.fc16.x86_64 expat-2.0.1-11.fc15.x86_64 gtk2-engines-2.20.2-2.fc15.x86_64 hunspell-1.3.2-1.fc16.x86_64 keyutils-libs-1.5.1-1.fc16.x86_64 krb5-libs-1.9.1-8.fc16.x86_64 libICE-1.0.7-1.fc16.x86_64 libSM-1.2.0-2.fc15.x86_64 libX11-1.4.3-1.fc16.x86_64 libXau-1.0.6-2.fc15.x86_64 libXcomposite-0.4.3-2.fc15.x86_64 libXcursor-1.1.11-3.fc15.x86_64 libXdamage-1.1.3-2.fc15.x86_64 libXext-1.2.0-2.fc15.x86_64 libXfixes-5.0-1.fc16.x86_64 libXi-1.4.3-1.fc16.x86_64 libXinerama-1.1.1-2.fc15.x86_64 libXrandr-1.3.1-2.fc15.x86_64 libXrender-0.9.6-2.fc15.x86_64 libXt-1.1.1-1.fc16.x86_64 libart_lgpl-2.3.21-2.fc15.x86_64 libbonoboui-2.24.5-1.fc16.x86_64 libcom_err-1.41.14-2.fc15.x86_64 libgcrypt-1.5.0-1.fc16.x86_64 libgnome-keyring-3.1.1-1.fc16.x86_64 libgnomecanvas-2.30.3-2.fc15.x86_64 libgnomeui-2.24.5-2.fc15.x86_64 libgpg-error-1.10-1.fc16.x86_64 libjpeg-turbo-1.1.0-2.fc16.x86_64 libogg-1.2.2-3.fc15.x86_64 libtdb-1.2.9-10.fc16.x86_64 libtool-ltdl-2.4-6.fc16.x86_64 libuuid-2.19.1-2.fc16.x86_64 libvorbis-1.3.2-1.fc15.x86_64 libvpx-0.9.6-2.fc16.x86_64 libxcb-1.7-3.fc16.x86_64 libxml2-2.7.8-6.fc16.x86_64 nss-3.12.10-5.fc16.x86_64 nss-softokn-freebl-3.12.10-4.fc16.x86_64 nss-util-3.12.10-1.fc16.x86_64 openssl-1.0.0d-6.fc16.x86_64 pixman-0.22.2-1.fc16.x86_64 sqlite-3.7.7.1-1.fc16.x86_64 xcb-util-0.3.6-2.fc15.x86_64
(gdb) x/12i $pc-17
   0x3f526827b0 <__strlen_sse2>:	xor    %rax,%rax
   0x3f526827b3 <__strlen_sse2+3>:	mov    %edi,%ecx
   0x3f526827b5 <__strlen_sse2+5>:	and    $0x3f,%ecx
   0x3f526827b8 <__strlen_sse2+8>:	pxor   %xmm0,%xmm0
   0x3f526827bc <__strlen_sse2+12>:	cmp    $0x30,%ecx
   0x3f526827bf <__strlen_sse2+15>:	ja     0x3f526827da <__strlen_sse2+42>
=> 0x3f526827c1 <__strlen_sse2+17>:	movdqu (%rdi),%xmm1
   0x3f526827c5 <__strlen_sse2+21>:	pcmpeqb %xmm1,%xmm0
   0x3f526827c9 <__strlen_sse2+25>:	pmovmskb %xmm0,%edx
   0x3f526827cd <__strlen_sse2+29>:	test   %edx,%edx
   0x3f526827cf <__strlen_sse2+31>:	jne    0x3f5268284b <__strlen_sse2+155>
   0x3f526827d1 <__strlen_sse2+33>:	mov    %rdi,%rax
(gdb) info reg
rax            0x0	0
rbx            0x6b9490	7050384
rcx            0x20	32
rdx            0x20707041	544239681
rsi            0x3f5fa11732	272187332402
rdi            0xffffffffffffff60	-160
rbp            0xffffffffffffff60	0xffffffffffffff60
rsp            0x7fffffff8818	0x7fffffff8818
r8             0x3	3
r9             0x3f52737820	271966238752
r10            0x1	1
r11            0x3f527736c0	271966484160
r12            0xffffffffffffff60	-160
r13            0x1	1
r14            0x3f5fa11732	272187332402
r15            0x6372d8	6517464
rip            0x3f526827c1	0x3f526827c1 <__strlen_sse2+17>
eflags         0x10287	[ CF PF SF IF RF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
(gdb) bt
#0  __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:32
#1  0x0000003f54660ff2 in g_strdup (
    str=0xffffffffffffff60 <Address 0xffffffffffffff60 out of bounds>)
    at gstrfuncs.c:99
#2  0x0000003f5521a816 in g_param_spec_internal (param_type=<optimized out>, 
    name=<optimized out>, nick=0x3f5fa1172b "App ID", 
    blurb=0xffffffffffffff60 <Address 0xffffffffffffff60 out of bounds>, 
    flags=G_PARAM_READABLE) at gparam.c:444
#3  0x0000003f5521ee98 in g_param_spec_string (name=<optimized out>, 
    nick=<optimized out>, blurb=<optimized out>, default_value=0x0, 
    flags=<optimized out>) at gparamspecs.c:2199
#4  0x0000003f5fa0b089 in gnome_program_class_init (klass=0x6b8e40)
    at gnome-program.c:509
#5  gnome_program_class_init_trampoline (klass=0x6b8e40, data=<optimized out>)
    at gnome-program.c:148
#6  0x0000003f55230677 in type_class_init_Wm (pclass=0x649900, node=0x6b8d30)
    at gtype.c:2212
#7  g_type_class_ref (type=<optimized out>) at gtype.c:2912
#8  0x0000003f5fa0d7dd in gnome_program_init_common (type=7048496, 
    app_id=0x7ffff6e28e25 "Gecko", app_version=0x7ffff6eee4cd "1.0", 
    module_info=0x3f6109c540, argc=1, argv=0x7fffffffdf48, first_property_name=0x0, 
    args=0x7fffffff89a8, nparams=-1, params=0x0) at gnome-program.c:1918
#9  0x0000003f5fa0dc5d in gnome_program_initv (type=<optimized out>, 
    app_id=<optimized out>, app_version=<optimized out>, module_info=<optimized out>, 
    argc=<optimized out>, argv=<optimized out>, first_property_name=0x0, 
    args=0x7fffffff89a8) at gnome-program.c:2109
#10 0x0000003f5fa0dd4f in gnome_program_init (app_id=0x7ffff6e28e25 "Gecko", 
    app_version=0x7ffff6eee4cd "1.0", module_info=0x3f6109c540, argc=1, 
    argv=0x7fffffffdf48, first_property_name=0x0) at gnome-program.c:1888
#11 0x00007ffff6419a59 in nsNativeAppSupportUnix::Start (this=<optimized out>, 
    aRetVal=<optimized out>) at nsNativeAppSupportUnix.cpp:533
#12 0x00007ffff64134e2 in XRE_main (argc=<optimized out>, argv=<optimized out>, 
    aAppData=<optimized out>) at nsAppRunner.cpp:3332
#13 0x0000000000401916 in main (argc=1, argv=0x7fffffffdf48) at nsXULStub.cpp:568
(gdb) 


Expected results: no crash


Additional info:

Comment 1 John Reiser 2011-07-23 21:46:36 UTC
Poking around, it looks like some i18n call "_(\"...\")" returned a bad pointer:

(gdb) info bre
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x0000003f5521ee70 in g_param_spec_string 
                                                   at gparamspecs.c:2198
	breakpoint already hit 37 times

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/lib64/firefox-5/firefox 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 1, g_param_spec_string (name=0x3f5f5add7c "gtk-theme-name", 
    nick=0x3f5f5b3c4e "Theme Name", 
    blurb=0x3f5f5b38a4 "Name of theme RC file to load", 
    default_value=0x3f5f5b38c2 "Raleigh", flags=227) at gparamspecs.c:2198
2198	{
(gdb) c 36
Will ignore next 35 crossings of breakpoint 1.  Continuing.

Breakpoint 1, g_param_spec_string (name=0x3f5fa11732 "app-id", 
    nick=0x3f5fa1172b "App ID", 
    blurb=0xffffffffffffff60 <Address 0xffffffffffffff60 out of bounds>, 
    default_value=0x0, flags=G_PARAM_READABLE) at gparamspecs.c:2198
2198	{
(gdb) up
#1  0x0000003f5fa0b089 in gnome_program_class_init (klass=0x6b8e40)
    at gnome-program.c:509
509		(object_class,
(gdb) l
504				      g_getenv ("GNOME2_PATH"),
505				      (G_PARAM_READABLE | G_PARAM_WRITABLE |
506				       G_PARAM_CONSTRUCT_ONLY)));
507	
508	    g_object_class_install_property
509		(object_class,
510		 PROP_APP_ID,
511		 g_param_spec_string (GNOME_PARAM_APP_ID,
512				      _("App ID"),
513				      _("ID string to use for this application"),
(gdb) 
514				      NULL, G_PARAM_READABLE));
515	
516	    g_object_class_install_property
517		(object_class,
518		 PROP_APP_VERSION,
519		 g_param_spec_string (GNOME_PARAM_APP_VERSION,
520				      _("App version"),
521				      _("Version of this application"),
522				      NULL, G_PARAM_READABLE));
523

Comment 2 Tomáš Bžatek 2011-08-05 13:38:22 UTC
This looks like a crash in libgnome. Can you please report locale of your desktop session?

Comment 3 John Reiser 2011-08-05 14:36:22 UTC
   $ set | sort | grep '^L'
   LANG=en_US.UTF-8
   LESSOPTS=...
so in particular, no LC_* variables.

Comment 4 Matěj Cepl 2011-10-13 08:47:33 UTC
(In reply to comment #3)
>    $ set | sort | grep '^L'
>    LANG=en_US.UTF-8
>    LESSOPTS=...
> so in particular, no LC_* variables.

That would be probably an output of command locale which we are after.

Comment 5 John Reiser 2011-10-13 14:39:53 UTC
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ 

Note that this is implied directly by the LANG= value of Comment 3.

Comment 6 Martin Stransky 2011-12-07 14:18:23 UTC
Can you still reproduce that bug?

Comment 7 John Reiser 2011-12-07 15:39:41 UTC
No, I cannot reproduce this in up-to-date Fedora 16.
firefox-8.0-3.fc16.x86_64
glibc-2.14.90-19.x86_64


Note You need to log in before you can comment on or make changes to this bug.