The default bug view has changed. See this FAQ.

Intermittent netwerk/test/unit/test_bug650955.js | test failed (with xpcshell return code: 1), see following log: after "###!!! ASSERTION: record not found: 'Not Reached'"

RESOLVED FIXED in mozilla14

Status

()

Core
Networking
RESOLVED FIXED
6 years ago
4 years ago

People

(Reporter: philor, Assigned: michal)

Tracking

({assertion, intermittent-failure})

Trunk
mozilla14
x86
Mac OS X
assertion, intermittent-failure
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
+++ This bug was initially created as a clone of Bug #685804 +++

I sort of expected to see that I'd previously misstarred this as bug 685804, but apparently not.

https://tbpl.mozilla.org/php/getParsedLog.php?id=6637138&tree=Fx-Team
Rev3 MacOSX Leopard 10.5.8 fx-team debug test xpcshell on 2011-10-01 02:54:25 PDT for push ce689bad5e34

TEST-UNEXPECTED-FAIL | /Users/cltbld/talos-slave/test/build/xpcshell/tests/netwerk/test/unit/test_bug650955.js | test failed (with xpcshell return code: 1), see following log:
>>>>>>>
...
TEST-PASS | /Users/cltbld/talos-slave/test/build/xpcshell/tests/netwerk/test/unit/head_channels.js | [null : 144] 13 == 13

TEST-INFO | (xpcshell/head.js) | test 2 pending
###!!! ASSERTION: record not found: 'Not Reached', file /builds/slave/fx-team-osx-dbg/build/netwerk/cache/nsDiskCacheMap.cpp, line 458
catch_exception_raise+0x000DA66B [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/XUL +0x0010F1EF]
catch_exception_raise+0x000DB0E5 [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/XUL +0x0010FC69]
catch_exception_raise+0x000C6F2E [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/XUL +0x000FBAB2]
catch_exception_raise+0x000C792A [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/XUL +0x000FC4AE]
XRE_AddStaticComponent+0x0000A54E [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/XUL +0x017B35AE]
mozilla::layers::FrameMetrics::operator==(mozilla::layers::FrameMetrics const&) const+0x0001841F [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/XUL +0x01740A4F]
XRE_AddStaticComponent+0x0000B121 [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/XUL +0x017B4181]
PR_Select+0x00000450 [/Users/cltbld/talos-slave/test/build/NightlyDebug.app/Contents/MacOS/libnspr4.dylib +0x00029C01]
_pthread_start+0x00000141 [/usr/lib/libSystem.B.dylib +0x00032155]
thread_start+0x00000022 [/usr/lib/libSystem.B.dylib +0x00032012]
###!!! ASSERTION: record not found: 'Not Reached', file /builds/slave/fx-team-osx-dbg/build/netwerk/cache/nsDiskCacheMap.cpp, line 458
<<<<<<<
PROCESS-CRASH | /Users/cltbld/talos-slave/test/build/xpcshell/tests/netwerk/test/unit/test_bug650955.js | application crashed (minidump found)


And the bit of stack before the assertion-kill:

4  XUL!nsDiskCacheMap::UpdateRecord [nsDiskCacheMap.cpp:ce689bad5e34 : 458 + 0x31]
    eip = 0x02bb01ef   esp = 0xb040ec80   ebp = 0xb040ecd8   ebx = 0x02bb0007
    esi = 0x000000fe   edi = 0x00000000
    Found by: call frame info
 5  XUL!nsDiskCacheMap::WriteDiskCacheEntry [nsDiskCacheMap.cpp:ce689bad5e34 : 862 + 0x14]
    eip = 0x02bb0c69   esp = 0xb040ece0   ebp = 0xb040ed78   ebx = 0x02bb09b2
    esi = 0x000000fe   edi = 0x00000000
    Found by: call frame info
 6  XUL!nsDiskCacheDevice::DeactivateEntry_Private [nsDiskCacheDevice.cpp:ce689bad5e34 : 596 + 0x14]
    eip = 0x02b9cab2   esp = 0xb040ed80   ebp = 0xb040edb8   ebx = 0x02b9d44b
    esi = 0x00000000   edi = 0x00000000
    Found by: call frame info
 7  XUL!nsDiskCacheDeviceDeactivateEntryEvent::Run [nsDiskCacheDevice.cpp:ce689bad5e34 : 108 + 0x21]
    eip = 0x02b9d4ae   esp = 0xb040edc0   ebp = 0xb040ede8   ebx = 0x02b9d44b
    esi = 0x00000000   edi = 0x00000000
    Found by: call frame info
 8  XUL!nsThread::ProcessNextEvent [nsThread.cpp:ce689bad5e34 : 631 + 0x18]
    eip = 0x042545ae   esp = 0xb040edf0   ebp = 0xb040ee98   ebx = 0x04254204
    esi = 0x00000000   edi = 0x00000000
    Found by: call frame info
 9  XUL!NS_ProcessNextEvent_P [nsThreadUtils.cpp:ce689bad5e34 : 245 + 0x20]
    eip = 0x041e1a4f   esp = 0xb040eea0   ebp = 0xb040eee8   ebx = 0x041e19d2
Comment hidden (Treeherder Robot)
This looks bad...

Updated

6 years ago
Assignee: nobody → michal.novotny
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Keywords: assertion
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
(Assignee)

Comment 82

5 years ago
Created attachment 612393 [details] [diff] [review]
fix

In nsDiskCacheDevice::ClearDiskCache() we check if we have any active entry bound to the disk cache. If not, it is safe to remove the whole cache and create a new one. The problem is that nsDiskCacheDevice::Shutdown_Private() calls nsCacheService::SyncWithCacheIOThread() which releases the cache lock and all pending events on the cache IO thread are processed so some new entry can be bound to the device.
Attachment #612393 - Flags: review?(jduell.mcbugs)
Comment on attachment 612393 [details] [diff] [review]
fix

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

Seems ok.  I was going to suggest that we set the bool *collision argument to 'false' before the early abort, but we don't know what to set it to (at some level the API for nsDiskCacheDevice::FindEntry seems a little wrong, as we really have four conditions: key found, not found + no collision, not found + collision, or--the new one--function failed, so no entry and we don't know about collision).   But I see the caller is setting the arg to 'false' before calling the function anyway, so it's ok for now at least.
Attachment #612393 - Flags: review?(jduell.mcbugs) → review+
(Assignee)

Comment 84

5 years ago
http://hg.mozilla.org/integration/mozilla-inbound/rev/fba161c486a0
https://hg.mozilla.org/mozilla-central/rev/fba161c486a0
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla14
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Keywords: intermittent-failure
Whiteboard: [orange]
Comment hidden (Treeherder Robot)
You need to log in before you can comment on or make changes to this bug.