Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

Firefox-bin will not exit properly



When I use firefox-bin and close the program it hangs in the background and doesn't completely close, the gui disappears as you would expect but the process still runs. I don't get this with firefox that I compiled. It happens with a new profile and in safe mode with no plugins/addons.


I don't know how to troubleshoot this, I don't see anything different in the terminal from one or the other (-bin or compiled). I think it is related to gmail though, it doesn't always hang but it seems that if I have gmail open the firefox process hangs.

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

I've been looking at this again and I think I've found the source of the problem. I came across a bug report which suggested disabling gstreamer in about:config, so I did that and sure enough I had no more problems. The only issue is that I want gstreamer support.


This is the report, the last post is exactly what happens to me as well:

I've narrowed it down to gstreamer and the gst-plugins, in particular media-plugins/gst-plugins-ffmpeg. I was using this, along with a couple of others, as an alternative to flash for sites like soundcloud. As a course of trying to get the exact problem causing package I have added an removed practically all the gst plugins, both 0.x and 1.x. I found that while sites like soundcloud do work with media-plugins/gst-plugins-ffmpeg installed, gmail's chat has a problem with it and causes the whole browser to not terminate after being closed.
I found this http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-1.x-README.txt


The gst-ffmpeg module for the GStreamer 0.10.x series has been renamed to gst-libav for the GStreamer 1.x series. Both use libav internally, it just did not seem a good idea to change the name during a stable series. The 1.x versions of this module can be found here: http://gstreamer.freedesktop.org/data/src/gst-libav/ (The git repository of gst-ffmpeg and gst-libav are the same, there is a symbolic link server side. The gst-ffmpeg version can be found in the 0.10 branch, and gst-libav in git master and the 1.x branches.



So would it be that firefox it probably build against a version that uses libav? Would this be considered a bug as far as funtoo's adoption of ffmpeg?


This is pretty annoying, it means I either have to compile firefox myself or use the bin version with flash, which I would prefer not to do.





edit: finally solved it. The bin version of firefox uses the 0.10.x versions of the gst-plugins. With good, bad and ugly 0.10.x versions installed gst-plugins-ffmpeg doesn't cause gmail to hang and gst-plugins-mad allows sites like soundcloud and bandcamp to work. I'm sure I did try this along the way but something must have been missing.

Link to comment
Share on other sites

  • 0

I don't have it set to sync, no.


Sorry, I meant if I open the browser and open funtoo.org, for example, then close the browser it doesn't hang. If I open the browser and then open gmail.com (web interface), then close the browser it hangs.


I noticed also that the spinner in the tab never stops on gmail.com as well and says "read ssl.gstatic.com" on the bottom left.


This is the output of the terminal when running firefox-bin and accessing gmail:

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

(process:26089): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

** (firefox:26089): CRITICAL **: gst_app_src_set_size: assertion 'GST_IS_APP_SRC (appsrc)' failed

I don't see anything that would indicate a problem in the troubleshooting section, this is the important modified settings:

browser.cache.disk.capacity    358400
browser.cache.disk.smart_size.first_run    false
browser.cache.frecency_experiment    2
browser.places.smartBookmarksVersion    7
browser.sessionstore.upgradeBackup.latestBuildID    20150108202552
browser.startup.homepage_override.buildID    20150108202552
browser.startup.homepage_override.mstone    35.0
dom.mozApps.used    true
extensions.lastAppVersion    35.0
media.gmp-gmpopenh264.lastUpdate    1421860308
media.gmp-gmpopenh264.version    1.1
media.gmp-manager.lastCheck    1421860298
network.cookie.prefsMigrated    true
places.history.expiration.transient_current_max_pages    103558
plugin.disable_full_page_plugin_for_types    application/pdf
plugin.importedState    true
privacy.sanitize.migrateFx3Prefs    true

This is a new profile though so that should all be default.

Link to comment
Share on other sites

  • 0

I did rebuild openssl a few days ago as there was an update that came through but before that the last time was October. I know I definitely had this problem before the rebuild a few days ago. That's interesting what they say in that link, I don't have access to do anything in the router I am currently using but should be using another in the next couple of weeks so I'll see if that changes anything. It's just strange that it does this only with the -bin and not the compiled version though.


Thanks for the help, I really appreciate it.

Link to comment
Share on other sites

  • 0

From a command line, try to launch FF with a strace command (it will generate *a lot of* information, don't pay much attention to what is reported by strace at this time) then close FF and note what are the very latest displayed lines. In my case FF exits properly:

$ strace firefox
execve("/usr/bin/firefox", ["firefox"], [/* 40 vars */]) = 0
brk(0)                                  = 0x193b000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9f3d24a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3

***** A lot of omitted text ****

[Firefox is closed]

***** A lot of omitted text ****

munmap(0x7fec2ccff000, 8392704)         = 0
write(11, "\0", 1)                      = 1
futex(0x7fec3a77a9d0, FUTEX_WAIT, 4015, NULL) = 0
munmap(0x7fec1fcfe000, 8392704)         = 0
munmap(0x7fec39143000, 5963902)         = 0
munmap(0x7fec3879f000, 10107970)        = 0
futex(0x7fec353ba98c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fec353ba988, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x7fec352ff9d0, FUTEX_WAIT, 4034, NULL) = 0
munmap(0x7fec24eff000, 8392704)         = 0
unlink("/root/.mozilla/firefox/8ejigyve.default/lock") = 0
close(6)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Could you please post your result here? At this point your instance of Firefox might be waiting for something to happen (lock on a file to be freed, futex, etc) but it is hard to tell a priori where and why it hangs.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...