Bug 1172949

Summary: GTK+3 Firefox fails to start with existing user, GTK+2 build works
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: firefoxAssignee: Martin Stransky <stransky>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: awilliam, gecko-bugs-nobody, kevin, stransky, yaneti
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-12 19:19:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Adam Williamson 2014-12-11 07:42:09 UTC
I just upgraded my desktop to Rawhide. Having problems starting the packaged Firefox, which is now GTK+ 3 on Rawhide. Here's the data I have so far:

1) The GTK+ 3 package does not work with my existing user account.
2) Moving ~/.mozilla and ~/.cache/mozilla does not help.
3) Starting with firefox -safe-mode does not help. (neither does 2) and 3) combined).
4) It doesn't work in GNOME or Xfce (so, not a desktop issue).
5) It *does* work with a new user account.
6) Upstream's static build - firefox-34.0.5.tar.bz2 - *does* work.
7) A rebuild of the Fedora package against GTK+ 2 instead of GTK+ 3 - all I did was change both %define toolkit_gtk3 lines to 0, bump the rev, and rebuild - *does* work.
8) Kevin Fenzi says the GTK+ 3 build works OK for him.

When I try to run it from the console, I see:

========

(process:19332): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

(process:19332): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

(firefox:19332): GLib-GObject-WARNING **: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version.

(firefox:19332): GLib-GObject-WARNING **: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version.

(firefox:19332): GLib-GObject-WARNING **: cannot register existing type 'GtkWidget'

(firefox:19332): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(firefox:19332): GLib-GObject-WARNING **: cannot register existing type 'GtkBuildable'

(firefox:19332): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(firefox:19332): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(firefox:19332): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(firefox:19332): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

=======

at which point it sticks. If I strace it, the main process is sitting at a FUTEX_WAIT. If I strace the threads, one of them seems to keep repeating this:

futex(0x7f9dbafc774c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 223, {1418274200, 855170000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f9dbafe63a0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f9dbafc774c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 225, {1418274201, 855365000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f9dbafe63a0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f9dbafc774c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 227, {1418274202, 855562000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f9dbafe63a0, FUTEX_WAKE_PRIVATE, 1) = 0

but I couldn't get much further than that. Kevin's console output in his 'working' case does not contain all the same glib errors as mine - only the sys_page_size failures and the GtkSettings deprecation warnings, I believe.

Comment 1 Yanko Kaneti 2014-12-11 08:10:36 UTC
Maybe bug 1161246 ?

Comment 2 Adam Williamson 2014-12-11 08:41:50 UTC
Neither the OSK nor the screen reader are enabled, but I do think some of the searches I did on the glib errors indicated they were somehow to do with a11y stuff. I just couldn't figure out any way to proceed from there - there doesn't seem to be some handy switch to flip to turn ATK or whatever 'on' or 'off', or even an obvious state indicator anywhere...

I *do* have a Japanese input method configured (but not usually selected). I wonder if that could have anything to do with it/

Comment 3 Martin Stransky 2014-12-11 11:15:52 UTC
Can you please investigate output of ld.so? If there's a library mismatch it should be there. LD_DEBUG=all firefox may do the trick.

Comment 4 Martin Stransky 2014-12-12 12:32:07 UTC
Please try to run $GNOME_ACCESSIBILITY=0 firefox

Comment 5 Adam Williamson 2014-12-12 17:27:59 UTC
yeah, I saw the other bug and had it on my list to test yesterday but wound up distracted by an anaconda bug...I'll get to it today.

Comment 6 Adam Williamson 2014-12-12 18:44:10 UTC
Yep, GNOME_ACCESSIBILITY=0 firefox works.

Comment 7 Adam Williamson 2014-12-12 19:19:09 UTC

*** This bug has been marked as a duplicate of bug 1161246 ***