Bug 1323477

Summary: seamonkey 2.40 crashes with media.fragmented-mp4.gmp.enabled set to true
Product: [Fedora] Fedora Reporter: Leszek Matok <lam>
Component: seamonkeyAssignee: Gecko Maintainer <gecko-bugs-nobody>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: caillon+fedoraproject, dmitry, gecko-bugs-nobody, kengert
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/710eaa3ef8b9293d5542842744c37cc4d456ec83
Whiteboard: abrt_hash:9bf5b00fdab2fe537f2710c439010d6e900b2f1f;
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-06-23 23:45:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: limits
none
File: maps
none
File: mountinfo
none
File: namespaces
none
File: open_fds
none
File: proc_pid_status
none
File: var_log_messages none

Description Leszek Matok 2016-04-03 13:07:59 UTC
Description of problem:
Was just viewing YouTube videos. Here it uses Flash (hence plugin-container crashed along with main seamonkey process), but I have the same issue on fully HTML5-enabled SeaMonkey.

Version-Release number of selected component:
seamonkey-2.40-1.fc23

Additional info:
reporter:       libreport-2.6.4
backtrace_rating: 4
cmdline:        /usr/lib64/seamonkey/seamonkey
crash_function: nsProfileLock::FatalSignalHandler
executable:     /usr/lib64/seamonkey/seamonkey
global_pid:     15730
kernel:         4.4.6-300.fc23.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (6 frames)
 #1 nsProfileLock::FatalSignalHandler at /usr/src/debug/seamonkey-2.40/seamonkey-2.40/mozilla/toolkit/profile/nsProfileLock.cpp:185
 #2 AsmJSFaultHandler at /usr/src/debug/seamonkey-2.40/seamonkey-2.40/mozilla/js/src/asmjs/AsmJSSignalHandlers.cpp:1135
 #4 mozilla::OffTheBooksMutex::Lock at ../../../dist/include/mozilla/Mutex.h:69
 #5 mozilla::BaseAutoLock<mozilla::Mutex>::BaseAutoLock at ../../dist/include/mozilla/Mutex.h:164
 #6 mozilla::MozPromise<nsTArray<mozilla::TrackInfo::TrackType>, mozilla::MediaDataDecoder::DecoderFailureReason, true>::Private::Reject<mozilla::MediaDataDecoder::DecoderFailureReason const&> at ../../dist/include/mozilla/MozPromise.h:682
 #7 mozilla::MozPromise<mozilla::TrackInfo::TrackType, mozilla::MediaDataDecoder::DecoderFailureReason, true>::AllPromiseHolder::Reject at ../../dist/include/mozilla/MozPromise.h:240

Potential duplicate: bug 1082378

Comment 1 Leszek Matok 2016-04-03 13:08:05 UTC
Created attachment 1142977 [details]
File: backtrace

Comment 2 Leszek Matok 2016-04-03 13:08:06 UTC
Created attachment 1142978 [details]
File: cgroup

Comment 3 Leszek Matok 2016-04-03 13:08:09 UTC
Created attachment 1142979 [details]
File: core_backtrace

Comment 4 Leszek Matok 2016-04-03 13:08:11 UTC
Created attachment 1142980 [details]
File: dso_list

Comment 5 Leszek Matok 2016-04-03 13:08:12 UTC
Created attachment 1142981 [details]
File: environ

Comment 6 Leszek Matok 2016-04-03 13:08:14 UTC
Created attachment 1142982 [details]
File: limits

Comment 7 Leszek Matok 2016-04-03 13:08:16 UTC
Created attachment 1142983 [details]
File: maps

Comment 8 Leszek Matok 2016-04-03 13:08:18 UTC
Created attachment 1142984 [details]
File: mountinfo

Comment 9 Leszek Matok 2016-04-03 13:08:19 UTC
Created attachment 1142985 [details]
File: namespaces

Comment 10 Leszek Matok 2016-04-03 13:08:21 UTC
Created attachment 1142986 [details]
File: open_fds

Comment 11 Leszek Matok 2016-04-03 13:08:23 UTC
Created attachment 1142987 [details]
File: proc_pid_status

Comment 12 Leszek Matok 2016-04-03 13:08:24 UTC
Created attachment 1142988 [details]
File: var_log_messages

Comment 13 Leszek Matok 2016-04-03 13:35:59 UTC
Similar problem has been detected:

This time visited the same YouTube page, but with Flash plugin completely disabled (so we know for sure it's not related at all).

reporter:       libreport-2.6.4
backtrace_rating: 4
cmdline:        /usr/lib64/seamonkey/seamonkey
crash_function: nsProfileLock::FatalSignalHandler
executable:     /usr/lib64/seamonkey/seamonkey
global_pid:     17504
kernel:         4.4.6-300.fc23.x86_64
package:        seamonkey-2.40-1.fc23
reason:         seamonkey killed by SIGSEGV
runlevel:       N 5
type:           CCpp
uid:            1000

Comment 14 Leszek Matok 2016-04-03 13:38:20 UTC
And the video it's crashed on: https://www.youtube.com/watch?v=gT5tGHTu-Ws - perhaps some specific codec on that one.

Comment 15 Dmitry Butskoy 2016-04-03 21:35:44 UTC
Please, check it on the clean profile. According to backtrace, looks like another "profile lock" issue...

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

Comment 16 Leszek Matok 2016-04-05 21:21:49 UTC
That bug is not public so can't say whatever findings you have there. So I'll ask here:

How does "mozilla::MediaDataDecoder::DecoderFailureReason" signify a "profile lock" issue? Unless anything that is caught by "FatalSignalHandler" from the "nsProfileLock" object is a "profile lock" issue? I'm probably not understanding the reference you were making, but that's only because there seems to be no other public bug except mine...


So I'm reopening because I found and want to publish a work-around for other affected users. It also allows free reproducibility, which should point right to the cause.

So a work-around, and frankly, for me, a complete solution is:

sed -i '/gmp/d' .mozilla/seamonkey/*.default/prefs.js


On all my systems I had media.fragmented-mp4.gmp.enabled set to true, and that single preference either makes SeaMonkey crash on certain videos.

All my SeaMonkeys have been upgraded for years, the freshest profile was created under Fedora 18, so I'm not sure if I have set the gmp preferences myself or were they the default in the gmp-openh264 times.

But fact is, SeaMonkey 2.39 never crashed with those gmp settings enabled, and 2.40 crashes or hangs all the time.

I hope someone else finds this finding helpful, as it took me half a day to find! (including a false lead with removing youtube.com cookies from cookies.sqlite which also helped but only for a single session ;))

Comment 17 Dmitry Butskoy 2016-04-05 22:17:31 UTC
> SeaMonkey 2.39 never crashed with those gmp settings enabled, and 2.40 crashes or hangs all the time.

Since 2.40, SeaMonkey starts to use ffmpeg libraries directly. Previously, gstreamer was used to play media without using flash-plugin (support of gstreamer goes to be removed after 2.42 ...). Probably it is a reason why the *gmp* settings did not affect before, since *fragmented-mp4* are related mostly to ffmpeg. 

> I'm not sure if I have set the gmp preferences myself
Should be off by default.

Check it in "about:config" -- if it is highlighted (by bold), then it is not default.
If so, please, close this as "notabug" and change the bug summary to reflect the actual issue (for other people who might be affected by it).

Comment 18 Leszek Matok 2016-04-05 23:00:56 UTC
Even if I enabled that myself (perhaps I was just blindly setting all of *mp4* to true in the "old times"), it's still a crash and a 2.40 regression in my eyes :)

Comment 19 Dmitry Butskoy 2016-04-05 23:44:55 UTC
It seems that *fragmented-mp4* will go away in the next release at all :)