Closed Bug 841590 Opened 11 years ago Closed 11 years ago

Bluetooth: ###!!! ASSERTION: op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0: 'op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0',

Categories

(Core :: DOM: Device Interfaces, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla21
blocking-b2g shira+
Tracking Status
firefox19 --- wontfix
firefox20 --- wontfix
firefox21 --- fixed
b2g18 --- fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- fixed

People

(Reporter: gwagner, Assigned: gwagner)

Details

Attachments

(1 file, 1 obsolete file)

Breakpoint 3, NS_DebugBreak_P (aSeverity=1, aStr=0x43dd7318 "op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0", 
    aExpr=0x43dd7318 "op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0", 
    aFile=0x43dd71cc "/Volumes/2mac/gaia/3src/debotorobuild/xpcom/build/pldhash.cpp", aLine=575)
    at /Volumes/2mac/gaia/3src/xpcom/base/nsDebugImpl.cpp:293
293	     sevString = "###!!! ASSERTION";
(gdb) bt
#0  NS_DebugBreak_P (aSeverity=1, aStr=0x43dd7318 "op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0", 
    aExpr=0x43dd7318 "op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0", 
    aFile=0x43dd71cc "/Volumes/2mac/gaia/3src/debotorobuild/xpcom/build/pldhash.cpp", aLine=575)
    at /Volumes/2mac/gaia/3src/xpcom/base/nsDebugImpl.cpp:293
#1  0x425c6424 in PL_DHashTableOperate (table=0x457bafd4, key=0x40475824, op=PL_DHASH_REMOVE)
    at /Volumes/2mac/gaia/3src/debotorobuild/xpcom/build/pldhash.cpp:574
#2  0x4185e672 in nsTHashtable<nsBaseHashtableET<nsStringHashKey, nsAutoPtr<mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal> > > >::RemoveEntry (this=0x457bafd4, aKey=...) at ../../dist/include/nsTHashtable.h:195
#3  0x4185e110 in nsBaseHashtable<nsStringHashKey, nsAutoPtr<mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal> >, mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal>*>::Remove (this=0x457bafd4, aKey=...) at ../../dist/include/nsBaseHashtable.h:161
#4  0x4185b268 in mozilla::dom::bluetooth::BluetoothService::RemoveObserverFromTable (this=0x457bafc0, key=...)
    at /Volumes/2mac/gaia/3src/dom/bluetooth/BluetoothService.cpp:289
#5  0x4185b23e in RemoveObserversExceptBluetoothManager (key=..., value=..., arg=0x457bafc0)
    at /Volumes/2mac/gaia/3src/dom/bluetooth/BluetoothService.cpp:280
#6  0x4185e7e6 in nsBaseHashtable<nsStringHashKey, nsAutoPtr<mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal> >, mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal>*>::s_EnumStub (table=0x457bafd4, hdr=0x40475820, number=0, arg=0xbedb9440)
    at ../../dist/include/nsBaseHashtable.h:419
#7  0x425c68b0 in PL_DHashTableEnumerate (table=0x457bafd4, 
    etor=0x4185e7b1 <nsBaseHashtable<nsStringHashKey, nsAutoPtr<mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal> >, mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal>*>::s_EnumStub(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)>, arg=0xbedb9440)
    at /Volumes/2mac/gaia/3src/debotorobuild/xpcom/build/pldhash.cpp:717
#8  0x4185e2c8 in nsBaseHashtable<nsStringHashKey, nsAutoPtr<mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal> >, mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal>*>::Enumerate (this=0x457bafd4, 
    enumFunc=0x4185b211 <RemoveObserversExceptBluetoothManager(nsAString_internal const&, nsAutoPtr<mozilla::ObserverList<mozilla::dom::bluetooth::BluetoothSignal> >&, void*)>, userArg=0x457bafc0) at ../../dist/include/nsBaseHashtable.h:223
#9  0x4185c12a in mozilla::dom::bluetooth::BluetoothService::SetEnabled (this=0x457bafc0, aEnabled=false)
    at /Volumes/2mac/gaia/3src/dom/bluetooth/BluetoothService.cpp:488
---Type <return> to continue, or q <return> to quit---
#10 0x4185a190 in mozilla::dom::bluetooth::BluetoothService::ToggleBtAck::Run (this=0x49d72780)
    at /Volumes/2mac/gaia/3src/dom/bluetooth/BluetoothService.cpp:130
#11 0x42627c38 in nsThread::ProcessNextEvent (this=0x40404390, mayWait=false, result=0xbedb9707)
    at /Volumes/2mac/gaia/3src/xpcom/threads/nsThread.cpp:627
#12 0x425c44da in NS_ProcessNextEvent_P (thread=0x40404390, mayWait=false)
    at /Volumes/2mac/gaia/3src/debotorobuild/xpcom/build/nsThreadUtils.cpp:238
#13 0x41fd93be in mozilla::ipc::MessagePump::Run (this=0x40402430, aDelegate=0x4042b0c0) at /Volumes/2mac/gaia/3src/ipc/glue/MessagePump.cpp:82
#14 0x42682524 in MessageLoop::RunInternal (this=0x4042b0c0) at /Volumes/2mac/gaia/3src/ipc/chromium/src/base/message_loop.cc:215
#15 0x426824be in MessageLoop::RunHandler (this=0x4042b0c0) at /Volumes/2mac/gaia/3src/ipc/chromium/src/base/message_loop.cc:208
#16 0x42682466 in MessageLoop::Run (this=0x4042b0c0) at /Volumes/2mac/gaia/3src/ipc/chromium/src/base/message_loop.cc:182
#17 0x41e79cba in nsBaseAppShell::Run (this=0x45625700) at /Volumes/2mac/gaia/3src/widget/xpwidgets/nsBaseAppShell.cpp:163
#18 0x41ca3230 in nsAppStartup::Run (this=0x45627370) at /Volumes/2mac/gaia/3src/toolkit/components/startup/nsAppStartup.cpp:288
#19 0x40b3fd80 in XREMain::XRE_mainRun (this=0xbedb9990) at /Volumes/2mac/gaia/3src/toolkit/xre/nsAppRunner.cpp:3871
#20 0x40b3ffb2 in XREMain::XRE_main (this=0xbedb9990, argc=1, argv=0xbedbbba4, aAppData=0x3a7f4)
Attached patch patch (obsolete) — Splinter Review
mrbkaps patch
Assignee: nobody → anygregor
Attachment #714149 - Flags: review?(bent.mozilla)
Attached patch patchSplinter Review
Attachment #714149 - Attachment is obsolete: true
Attachment #714149 - Flags: review?(bent.mozilla)
Attachment #714163 - Flags: review?(bent.mozilla)
Attachment #714163 - Flags: review?(bent.mozilla) → review+
I know it's late but if we can squeeze this in we should. Our hash tables don't support recursive calls like this and I have no idea what kind of corruption can occur if it happens. Since this holds the observers for all bluetooth nodes I would imagine it could cause some serious problems.
blocking-b2g: --- → tef?
https://hg.mozilla.org/mozilla-central/rev/a871b38f1716
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla21
Please get this uplifted to tip and v1.0.1 before the end of today, we'll want this for CS of shira to avoid corruption and other problems that could be caused by this.
blocking-b2g: tef? → shira+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: