Bug 1399646 - Frequent deadlocks requiring SIGKILL
Summary: Frequent deadlocks requiring SIGKILL
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: firefox
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Gecko Maintainer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-29 13:50 UTC by bob
Modified: 2017-12-12 10:10 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-12 10:10:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
GDB output (21.35 KB, application/octet-stream)
2016-11-29 17:16 UTC, bob
no flags Details

Description bob 2016-11-29 13:50:16 UTC
Description of problem:
After a variable length of time, the Firefox UI locks up. I have a keyboard shortcut for xkill which normally does the trick, but unusually the Firefox process continues to run in the background. Only after `killall -9 firefox` am I able to launch it again.

It takes too long for me to have run several trials and confirm the following, but I've observed that it seems to happen sooner the longer that https://eyewire.org is open. My extremely stab-in-the-dark guess is that there's an asset in the cache that is causing one of the image decode threads to get caught in a deadlock, as if I revisit the site as soon as the browser re-opens the deadlock happens after a couple of minutes instead of 20+. But again, I could just be imagining things.

I'll attach some GDB output after it happens again, but from memory I can say that there's about 91 threads all waiting in the pthread API (either pthread_wait_cond or poll, with the exception of the DBus thread of course which is in poll as called by GMainLoop). Something odd I noticed was that the pthread lock the main thread was waiting on had its lock field set to 0. I don't know much about the pthread API, so this mightn't mean anything, but it struck me as odd.

Version-Release number of selected component (if applicable):
firefox-50.0-2.fc25.x86_64, although 50.0-1 also suffered the same issue.

How reproducible:
Always

Steps to Reproduce:
1. Open Firefox
2. Leave open for a while (sometimes it takes a few hours)

Actual results:
Firefox hangs, attaching to PID with GDB shows a lot of threads all waiting on locks.

Expected results:
Firefox continues to operate as usual

Comment 1 bob 2016-11-29 17:16:57 UTC
Created attachment 1225917 [details]
GDB output

Added as an attachment to keep the thread readable

Comment 2 bob 2016-12-01 18:41:42 UTC
I forgot I had Electrolysis enabled, which seemed like an obvious culprit. I disabled it and the issue seemed to have gone away (e.g. eyewire.org doesn't reliably trigger the issue anymore). I was considering closing this ticket, but it froze again; this time upon opening a new window. Poking around in GDB looks very similar to the session I attached, so I guess e10s exacerbated it as opposed to being the cause.

Comment 3 Fedora End Of Life 2017-11-16 18:41:00 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 4 Fedora End Of Life 2017-12-12 10:10:20 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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