Closed Bug 940075 Opened 11 years ago Closed 11 years ago

crash in mozilla::dom::PBrowserChild::SendRecordingDeviceEvents(nsString const&, bool const&, bool const&)

Categories

(Core :: WebRTC: Audio/Video, defect)

26 Branch
ARM
Gonk (Firefox OS)
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla28
Tracking Status
firefox28 --- fixed
b2g-v1.2 --- verified

People

(Reporter: jsmith, Assigned: schien)

References

Details

(Keywords: crash, reproducible, Whiteboard: [b2g-crash])

Crash Data

This bug was filed from the Socorro interface and is 
report bp-492bd7cb-5ac0-47fc-a9c6-ddcc12131118.
=============================================================

Saw this when I tried to kill an existing gUM audio process running gUM. I'm working on getting exact STR on this.

Frame 	Module 	Signature 	Source
0 	libxul.so 	mozilla::dom::PBrowserChild::SendRecordingDeviceEvents(nsString const&, bool const&, bool const&) 	ipc/chromium/src/chrome/common/ipc_message.h
1 	libxul.so 	mozilla::GetUserMediaNotificationEvent::Run() 	dom/media/MediaManager.cpp
2 	libxul.so 	nsThread::ProcessNextEvent(bool, bool*) 	xpcom/threads/nsThread.cpp
3 	libxul.so 	NS_ProcessNextEvent(nsIThread*, bool) 	xpcom/glue/nsThreadUtils.cpp
4 	libxul.so 	mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) 	ipc/glue/MessagePump.cpp
5 	libxul.so 	mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) 	ipc/glue/MessagePump.cpp
6 	libxul.so 	MessageLoop::RunInternal() 	ipc/chromium/src/base/message_loop.cc
7 	libxul.so 	MessageLoop::Run() 	ipc/chromium/src/base/message_loop.cc
8 	libxul.so 	nsBaseAppShell::Run() 	widget/xpwidgets/nsBaseAppShell.cpp
9 	libxul.so 	XRE_RunAppShell 	toolkit/xre/nsEmbedFunctions.cpp
10 	libxul.so 	mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) 	ipc/glue/MessagePump.cpp
11 	libxul.so 	MessageLoop::RunInternal() 	ipc/chromium/src/base/message_loop.cc
12 	libxul.so 	MessageLoop::Run() 	ipc/chromium/src/base/message_loop.cc
13 	libxul.so 	XRE_InitChildProcess 	toolkit/xre/nsEmbedFunctions.cpp
14 	plugin-container 	main 	ipc/app/MozillaRuntimeMain.cpp
15 	libc.so 	__libc_init 	bionic/libc/bionic/libc_init_dynamic.c
16 		@0xb00045a9
Whiteboard: [b2g-crash]
STR

1. Go to http://mozilla.github.io/qa-testcase-data/webapi/webrtc/iframemozqagum.html
2. Request audio & accept permissions
3. Go to http://テスト.mozqa.com/qa-testcase-data/webapi/webrtc/gum_test.html
4. Kill the browser process

Expected

The browser process should shutdown cleanly

Actual

Crash on shutdown.

Notes

Looks like after #3 occurs that the browser process thinks recording is happening, which in fact, there is no recording present.
Keywords: reproducible
Looks like this bug will only reproduce if bug 940045 reproduces first.
Depends on: 940045
Flags: needinfo?(rjesup)
As I think we'll be landing bug 940045 soon, let's retest once that lands.
Flags: needinfo?(rjesup)
http://mxr.mozilla.org/mozilla-central/source/dom/media/MediaManager.cpp#1855
|TabChild::GetFrom| returns nullptr under this scenario because the corresponding docshell is detached from window. This means we're unable to notify parent process that recording is being shutdown.
The reason I move |SendRecordingDeviceEvents| from PContent to PBrowser is because I need to get page URL in parent process. Since we are going to get page URL direct from child process, I'll move |SendRecordingDeviceEvents| back to PContent.
I'll merge the required modification to Bug 940045.
Is this fixed now that bug 940045 has landed?
Flags: needinfo?(schien)
Yes, no longer seeing crash in PBrowserChild::SendRecordingDeviceEvents in today's m-c.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(schien)
Resolution: --- → FIXED
Keywords: verifyme
QA Contact: jsmith
Assignee: nobody → schien
Target Milestone: --- → mozilla28
Verified on 12/12/2013 1.2 build - no longer seeing a crash.
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.