Closed Bug 894583 Opened 12 years ago Closed 9 years ago

Deadlock in nsCacheService and nsDeleteDir at BlockResourceBase.cpp:125

Categories

(Core :: Networking: Cache, defect)

25 Branch
All
Android
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: kats, Unassigned)

References

Details

From a recent m-c (+unrelated local changes) build: 07-16 16:22:04.042 I/Gecko ( 5147): ###!!! ASSERTION: Potential deadlock detected: 07-16 16:22:04.042 I/Gecko ( 5147): Cyclical dependency starts at 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsCacheService.mLock 07-16 16:22:04.042 I/Gecko ( 5147): Next dependency: 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsDeleteDir.mLock (currently acquired) 07-16 16:22:04.042 I/Gecko ( 5147): Cycle completed at 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsCacheService.mLock 07-16 16:22:04.042 I/Gecko ( 5147): Deadlock may happen for some other execution 07-16 16:22:04.042 I/Gecko ( 5147): 07-16 16:22:04.042 I/Gecko ( 5147): : 'Error', file /Users/kats/zspace/mozilla-git/obj-android-debug/xpcom/build/BlockingResourceBase.cpp, line 125 07-16 16:22:04.042 I/Gecko ( 5147): ###!!! ASSERTION: Potential deadlock detected: 07-16 16:22:04.042 I/Gecko ( 5147): Cyclical dependency starts at 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsCacheService.mLock 07-16 16:22:04.042 I/Gecko ( 5147): Next dependency: 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsDeleteDir.mLock (currently acquired) 07-16 16:22:04.042 I/Gecko ( 5147): Cycle completed at 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsCacheService.mLock 07-16 16:22:04.042 I/Gecko ( 5147): Deadlock may happen for some other execution 07-16 16:22:04.042 I/Gecko ( 5147): 07-16 16:22:04.042 I/Gecko ( 5147): : 'Error', file /Users/kats/zspace/mozilla-git/obj-android-debug/xpcom/build/BlockingResourceBase.cpp, line 125 07-16 16:22:04.042 I/Gecko ( 5147): ###!!! ASSERTION: Potential deadlock detected: 07-16 16:22:04.042 I/Gecko ( 5147): Cyclical dependency starts at 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsCacheService.mLock 07-16 16:22:04.042 I/Gecko ( 5147): Next dependency: 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsDeleteDir.mLock (currently acquired) 07-16 16:22:04.042 I/Gecko ( 5147): Cycle completed at 07-16 16:22:04.042 I/Gecko ( 5147): Mutex : nsCacheService.mLock 07-16 16:22:04.042 I/Gecko ( 5147): Deadlock may happen for some other execution 07-16 16:22:04.042 I/Gecko ( 5147): 07-16 16:22:04.042 I/Gecko ( 5147): : 'Error', file /Users/kats/zspace/mozilla-git/obj-android-debug/xpcom/build/BlockingResourceBase.cpp, line 125 07-16 16:22:04.042 I/Gecko ( 5147): WARNING: NS_ENSURE_TRUE(mThread != PR_GetCurrentThread()) failed: file /Users/kats/zspace/mozilla-git/xpcom/threads/nsThread.cpp, line 434 07-16 16:22:04.052 I/Gecko ( 5147): ###!!! ASSERTION: Potential deadlock detected: 07-16 16:22:04.052 I/Gecko ( 5147): Cyclical dependency starts at 07-16 16:22:04.052 I/Gecko ( 5147): Mutex : nsDeleteDir.mLock (currently acquired) 07-16 16:22:04.052 I/Gecko ( 5147): Cycle completed at 07-16 16:22:04.052 I/Gecko ( 5147): Mutex : nsDeleteDir.mLock (currently acquired) 07-16 16:22:04.052 I/Gecko ( 5147): 07-16 16:22:04.052 I/Gecko ( 5147): ###!!! Deadlock may happen NOW! 07-16 16:22:04.052 I/Gecko ( 5147): 07-16 16:22:04.052 I/Gecko ( 5147): : 'Error', file /Users/kats/zspace/mozilla-git/obj-android-debug/xpcom/build/BlockingResourceBase.cpp, line 125 This deadlock appears to have triggered and caused an ANR in Android.
is this limited to cache1?
Flags: needinfo?(michal.novotny)
Whiteboard: [necko-backlog]
Yes, this code will be removed together with the old cache. We use nsDeleteDir now in the cache2 only in case we want to remove old cache tree, but AFAICS the deadlock cannot happen in this case because we don't grab nsDeleteDir's lock when we hold nsCacheService's lock.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(michal.novotny)
Resolution: --- → WONTFIX
Whiteboard: [necko-backlog]
You need to log in before you can comment on or make changes to this bug.