Closed
Bug 585674
Opened 14 years ago
Closed 14 years ago
Assertion failed: p->id==SQLITE_MUTEX_RECURSIVE || winMutexNotheld2(p, tid), file db/sqlite3/src/sqlite3.c, line 16005
Categories
(Core :: SQLite and Embedded Database Bindings, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: MatsPalmgren_bugz, Unassigned)
References
()
Details
Assertion failed: p->id==SQLITE_MUTEX_RECURSIVE || winMutexNotheld2(p, tid), file db/sqlite3/src/sqlite3.c, line 16005
I got the above assertion while trying to reproduce bug 585287 in a local
Firefox debug build on Windows 7 (32-bit build on 64-bit Windows).
STEPS TO REPRODUCE
1. Open "Organize Bookmarks"
2. select a few bookmarks
3. start dragging them around, drop them on the Firefox window after a while,
drag-n-drop them again while the page is loading, drag and hover the
page while its loading etc...
ACTUAL RESULTS
msvcr100d.dll!_NMSG_WRITE(int rterrnum) Line 217 C
msvcr100d.dll!abort() Line 61 + 0x7 bytes C
msvcr100d.dll!_wassert(const wchar_t * expr, const wchar_t * filename, unsigned int lineno) Line 153 C
> mozsqlite3.dll!winMutexEnter(sqlite3_mutex * p) Line 16005 + 0x2c bytes C
mozsqlite3.dll!pcache1Fetch(sqlite3_pcache * p, unsigned int iKey, int createFlag) Line 31514 + 0x10 bytes C
mozsqlite3.dll!sqlite3PcacheFetch(PCache * pCache, unsigned int pgno, int createFlag, PgHdr * * ppPage) Line 30639 + 0x11 bytes C
mozsqlite3.dll!sqlite3PagerAcquire(Pager * pPager, unsigned int pgno, PgHdr * * ppPage, int noContent) Line 36014 + 0x13 bytes C
mozsqlite3.dll!btreeGetPage(BtShared * pBt, unsigned int pgno, MemPage * * ppPage, int noContent) Line 40095 + 0x12 bytes C
mozsqlite3.dll!getAndInitPage(BtShared * pBt, unsigned int pgno, MemPage * * ppPage) Line 40146 + 0xb bytes C
mozsqlite3.dll!moveToChild(BtCursor * pCur, unsigned int newPgno) Line 42544 C
mozsqlite3.dll!sqlite3BtreeMovetoUnpacked(BtCursor * pCur, UnpackedRecord * pIdxKey, __int64 intKey, int biasRight, int * pRes) Line 43005 C
mozsqlite3.dll!sqlite3VdbeExec(Vdbe * p) Line 57641 + 0x23 bytes C
msvcr100d.dll!_unlock(int locknum) Line 375 C
msvcr100d.dll!_free_dbg(void * pUserData, int nBlockUse) Line 1270 + 0x7 bytes C++
mozsqlite3.dll!winMutexEnter(sqlite3_mutex * p) Line 16008 C
xul.dll!mozilla::storage::stepStmt(sqlite3_stmt * aStatement) Line 283 + 0x6 bytes C++
xul.dll!mozilla::storage::Statement::ExecuteStep(int * _moreResults) Line 617 + 0x8 bytes C++
xul.dll!mozilla::storage::Statement::Execute() Line 582 + 0xe bytes C++
xul.dll!nsUrlClassifierSubStore::ExpireAddChunk(unsigned int tableId, unsigned int addChunkId) Line 1010 + 0x10 bytes C++
xul.dll!nsUrlClassifierDBServiceWorker::AddChunk(unsigned int tableId, unsigned int chunkNum, nsTArray<nsUrlClassifierEntry> & entries) Line 2582 + 0xe bytes C++
xul.dll!nsUrlClassifierDBServiceWorker::ProcessChunk(int * done) Line 2708 C++
xul.dll!nsUrlClassifierDBServiceWorker::UpdateStream(const nsACString_internal & chunk) Line 3097 C++
xul.dll!NS_InvokeByIndex_P(nsISupports * that, unsigned int methodIndex, unsigned int paramCount, nsXPTCVariant * params) Line 103 C++
xul.dll!nsProxyObjectCallInfo::Run() Line 181 + 0x1a bytes C++
xul.dll!nsThread::ProcessNextEvent(int mayWait, int * result) Line 547 + 0xe bytes C++
xul.dll!NS_ProcessNextEvent_P(nsIThread * thread, int mayWait) Line 250 + 0xd bytes C++
xul.dll!nsThread::ThreadFunc(void * arg) Line 263 + 0x8 bytes C++
nspr4.dll!_PR_NativeRunThread(void * arg) Line 426 + 0x9 bytes C
nspr4.dll!pr_root(void * arg) Line 122 + 0xd bytes C
msvcr100d.dll!_callthreadstartex() Line 314 + 0xf bytes C
msvcr100d.dll!_threadstartex(void * ptd) Line 297 C
kernel32.dll!76bf3677()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!77419d72()
ntdll.dll!77419d45()
- p 0x6ba03068 {mutex={...} id=6 nRef=0 ...} sqlite3_mutex *
- mutex {DebugInfo=0x002b3188 LockCount=-1 RecursionCount=0 ...} _RTL_CRITICAL_SECTION
- DebugInfo 0x002b3188 {Type=0 CreatorBackTraceIndex=0 CriticalSection=0x6ba03068 ...} _RTL_CRITICAL_SECTION_DEBUG *
Type 0 unsigned short
CreatorBackTraceIndex 0 unsigned short
- CriticalSection 0x6ba03068 {DebugInfo=0x002b3188 LockCount=-1 RecursionCount=0 ...} _RTL_CRITICAL_SECTION *
- DebugInfo 0x002b3188 {Type=0 CreatorBackTraceIndex=0 CriticalSection=0x6ba03068 ...} _RTL_CRITICAL_SECTION_DEBUG *
Type 0 unsigned short
CreatorBackTraceIndex 0 unsigned short
+ CriticalSection 0x6ba03068 {DebugInfo=0x002b3188 LockCount=-1 RecursionCount=0 ...} _RTL_CRITICAL_SECTION *
+ ProcessLocksList {Flink=0x002b31b8 Blink=0x002b3168 } _LIST_ENTRY
EntryCount 0 unsigned long
ContentionCount 69 unsigned long
Flags 0 unsigned long
CreatorBackTraceIndexHigh 0 unsigned short
SpareWORD 24948 unsigned short
LockCount -1 long
RecursionCount 0 long
OwningThread 0x00000000 void *
LockSemaphore 0x000005a8 void *
SpinCount 0 unsigned long
+ ProcessLocksList {Flink=0x002b31b8 Blink=0x002b3168 } _LIST_ENTRY
EntryCount 0 unsigned long
ContentionCount 69 unsigned long
Flags 0 unsigned long
CreatorBackTraceIndexHigh 0 unsigned short
SpareWORD 24948 unsigned short
LockCount -1 long
RecursionCount 0 long
OwningThread 0x00000000 void *
LockSemaphore 0x000005a8 void *
SpinCount 0 unsigned long
id 6 int
nRef 0 int
owner 1500 unsigned long
trace 0 int
p->id 6 int
tid 3476 unsigned long
Comment 1•14 years ago
|
||
I've notified the SQLite team about this. Doesn't look like we are doing anything to cause it to be entered.
Comment 2•14 years ago
|
||
Looks like the debug assertion was not threadsafe. This will be fixed in the next SQLite.
Depends on: SQLite3.7.1
Comment 3•14 years ago
|
||
Fixed by bug 583611.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Updated•29 days ago
|
Product: Toolkit → Core
You need to log in
before you can comment on or make changes to this bug.
Description
•