Closed Bug 1098166 Opened 5 years ago Closed 5 years ago

GonkDecoderModule::Shutdown is on off-main thread

Categories

(Core :: Audio/Video, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla37

People

(Reporter: ayang, Assigned: ayang)

References

Details

Attachments

(1 file)

1. play http://people.mozilla.org/~cpearce/fmp4/ on flame
2. pause and back to home or tun off screen
3. repeat 1, 2 few times
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 3724.3807]
0xb5304a32 in mozilla::GonkDecoderModule::Shutdown (this=0xb393a75c) at ../../../../../dom/media/fmp4/gonk/GonkDecoderModule.cpp:32
32        MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread.");
(gdb) bt
#0  0xb5304a32 in mozilla::GonkDecoderModule::Shutdown (this=0xb393a75c) at ../../../../../dom/media/fmp4/gonk/GonkDecoderModule.cpp:32
#1  0xb52ffb5a in mozilla::MP4Reader::Shutdown (this=0xb0cb1800) at ../../../../dom/media/fmp4/MP4Reader.cpp:166
#2  0xb473bbd4 in nsRunnableMethodImpl<tag_nsresult (nsMemoryReporterManager::*)(), void, true>::Run (this=<optimized out>) at ../../dist/include/nsThreadUtils.h:388
#3  0xb5283192 in mozilla::MediaTaskQueue::Runner::Run (this=0xb0a52050) at ../../../dom/media/MediaTaskQueue.cpp:194
#4  0xb4777ee6 in nsThreadPool::Run (this=0xb0c4c890) at ../../../xpcom/threads/nsThreadPool.cpp:220
#5  0xb47771f8 in nsThread::ProcessNextEvent (this=0xb0c4adc0, aMayWait=<optimized out>, aResult=0xafb65cf7) at ../../../xpcom/threads/nsThread.cpp:830
#6  0xb478b890 in NS_ProcessNextEvent (aThread=0xb0c4adc0, aMayWait=aMayWait@entry=false) at /home/alfredo/mozilla/mozilla-central/xpcom/glue/nsThreadUtils.cpp:265
#7  0xb4946af4 in mozilla::ipc::MessagePumpForNonMainThreads::Run (this=0xb100bf10, aDelegate=0xb0c12780) at ../../../ipc/glue/MessagePump.cpp:339
#8  0xb4932f20 in MessageLoop::RunInternal (this=this@entry=0xb0c12780) at ../../../ipc/chromium/src/base/message_loop.cc:233
#9  0xb4932f3a in RunHandler (this=0xb0c12780) at ../../../ipc/chromium/src/base/message_loop.cc:226
#10 MessageLoop::Run (this=this@entry=0xb0c12780) at ../../../ipc/chromium/src/base/message_loop.cc:200
#11 0xb4778324 in nsThread::ThreadFunc (aArg=0xb0c4adc0) at ../../../xpcom/threads/nsThread.cpp:350
#12 0xb6e8e5d0 in _pt_root (arg=0xb107d800) at ../../../../../nsprpub/pr/src/pthreads/ptthread.c:212
#13 0xb6f2422c in __thread_entry (func=0xb6e8e529 <_pt_root>, arg=0xb107d800, tls=0xafb65dd0) at bionic/libc/bionic/pthread_create.cpp:105
#14 0xb6f243c4 in pthread_create (thread_out=0xb0505afc, attr=<optimized out>, start_routine=0xb6e8e529 <_pt_root>, arg=0x78) at bionic/libc/bionic/pthread_create.cpp:224
Attached patch remove_assertSplinter Review
According to [1], it doesn't need to assert off main thread.

[1] http://dxr.mozilla.org/mozilla-central/source/dom/media/fmp4/PlatformDecoderModule.h?from=PlatformDecoderModule.h&case=true#95
Assignee: nobody → ayang
Attachment #8544489 - Flags: review?(ajones)
Attachment #8544489 - Flags: review?(ajones) → review+
No risk without try.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/0e68193f09c7
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
You need to log in before you can comment on or make changes to this bug.