Closed Bug 877638 Opened 11 years ago Closed 11 years ago

Crash in WakeLockBoolWrapper::UpdateWakeLock when running crashtests

Categories

(Core :: Audio/Video, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla24
Tracking Status
firefox22 --- wontfix
firefox23 --- wontfix
firefox24 --- fixed
b2g18 --- fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- wontfix
b2g-v1.1hd --- fixed

People

(Reporter: ehsan.akhgari, Assigned: baku)

References

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file, 1 obsolete file)

When I run the crashtests in content/media/test/crashtest on inbound, I now get a crash:

 0:15.75 ###!!! ABORT: You can't dereference a NULL nsCOMPtr with operator->().: 'mRawPtr != 0', file ../../../dist/include/nsCOMPtr.h, line 839
 0:15.77 nsCOMPtr<nsITimer>::operator->() const+0x0000004A [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x0017834A]
 0:15.77 mozilla::dom::HTMLMediaElement::WakeLockBoolWrapper::UpdateWakeLock()+0x00000160 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00FEA070]
 0:15.78 mozilla::dom::HTMLMediaElement::WakeLockBoolWrapper::operator=(bool)+0x00000053 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00FE1F93]
 0:15.78 mozilla::dom::HTMLMediaElement::Pause(mozilla::ErrorResult&)+0x0000010E [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00FE7B8E]
 0:15.78 mozilla::dom::HTMLMediaElement::Pause()+0x0000002D [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00FE7C7D]
 0:15.79 mozilla::dom::HTMLAudioElement::Pause()+0x00000015 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00F20795]
 0:15.79 mozilla::dom::HTMLMediaElement::UnbindFromTree(bool, bool)+0x0000006A [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00FEAECA]
 0:15.79 mozilla::dom::Element::UnbindFromTree(bool, bool)+0x000004CB [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00B9C5EB]
 0:15.80 nsGenericHTMLElement::UnbindFromTree(bool, bool)+0x00000152 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x011108F2]
 0:15.80 mozilla::dom::HTMLBodyElement::UnbindFromTree(bool, bool)+0x000000CE [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00F2D72E]
 0:15.80 mozilla::dom::Element::UnbindFromTree(bool, bool)+0x000004CB [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00B9C5EB]
 0:15.80 nsGenericHTMLElement::UnbindFromTree(bool, bool)+0x00000152 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x011108F2]
 0:15.85 mozilla::dom::HTMLSharedElement::UnbindFromTree(bool, bool)+0x00000054 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x01063134]
 0:15.85 nsDocument::cycleCollection::UnlinkImpl(void*)+0x000000BC [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00C771DC]
 0:15.85 nsHTMLDocument::cycleCollection::UnlinkImpl(void*)+0x0000002D [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x0115C69D]
 0:15.85 nsCycleCollector::CollectWhite(nsICycleCollectorListener*)+0x000003D7 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x02D8B9C7]
 0:15.85 nsCycleCollector::FinishCollection(nsICycleCollectorListener*)+0x00000031 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x02D89591]
 0:15.86 nsCycleCollector::ShutdownCollect(nsICycleCollectorListener*)+0x0000015E [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x02D8C7BE]
 0:15.86 nsCycleCollector::Shutdown()+0x000000A3 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x02D8CB93]
 0:15.86 nsCycleCollector_shutdown()+0x0000004D [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x02D8D3AD]
 0:15.86 mozilla::ShutdownXPCOM(nsIServiceManager*)+0x0000046A [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x02CE64FA]
 0:15.86 NS_ShutdownXPCOM+0x00000015 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x02CE6085]
 0:15.86 ScopedXPCOMStartup::~ScopedXPCOMStartup()+0x000000E0 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00010F60]
 0:15.86 ScopedXPCOMStartup::~ScopedXPCOMStartup()+0x00000015 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x00010E75]
 0:15.87 XREMain::XRE_main(int, char**, nsXREAppData const*)+0x0000031A [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x0001A84A]
 0:15.87 XRE_main+0x0000004D [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x0001AC4D]
 0:15.87 do_main(int, char**, nsIFile*)+0x00000667 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/firefox-bin +0x00002317]
 0:15.87 main+0x00000141 [/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/firefox-bin +0x00001851]
 0:15.87 ###!!! ABORT: You can't dereference a NULL nsCOMPtr with operator->().: 'mRawPtr != 0', file ../../../dist/include/nsCOMPtr.h, line 839
 0:15.89 TEST-UNEXPECTED-FAIL | Shutdown | Exited with code 1 during test run


This happens during shutdown.
Attached patch patch (obsolete) — Splinter Review
Attachment #755920 - Flags: review?(justin.lebar+bug)
Comment on attachment 755920 [details] [diff] [review]
patch

Review of attachment 755920 [details] [diff] [review]:
-----------------------------------------------------------------

::: content/html/content/src/HTMLMediaElement.cpp
@@ +2176,5 @@
>      nsCOMPtr<nsIPowerManagerService> pmService =
>        do_GetService(POWERMANAGERSERVICE_CONTRACTID);
>      NS_ENSURE_TRUE_VOID(pmService);
>  
> +    if (pmService) {

Don't we already null-check pmService in the previous line?
Attached patch patchSplinter Review
Attachment #755920 - Attachment is obsolete: true
Attachment #755920 - Flags: review?(justin.lebar+bug)
Attachment #755939 - Flags: review?(ehsan)
Attachment #755939 - Flags: review?(ehsan) → review+
Keywords: checkin-needed
https://hg.mozilla.org/integration/mozilla-inbound/rev/193beaecc378
Assignee: nobody → amarchesini
Flags: in-testsuite+
Keywords: checkin-needed
Crash Signature: [@ nsCOMPtr<nsITimer>::operator->()]
https://hg.mozilla.org/mozilla-central/rev/193beaecc378
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
Comment on attachment 755939 [details] [diff] [review]
patch

NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): unknown
User impact if declined: shutdown crashes --- probably little to no effect on b2g, but affects our tests
Testing completed: landed on central for a week
Risk to taking this patch (and alternatives if risky): incredibly low risk. Just an added null check to prevent a crash during shutdown.
String or UUID changes made by this patch: none
Attachment #755939 - Flags: approval-mozilla-b2g18?
Comment on attachment 755939 [details] [diff] [review]
patch

low risk, null check...looks good to land.
Attachment #755939 - Flags: approval-mozilla-b2g18? → approval-mozilla-b2g18+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: