scalien/scaliendb — Issue #365: ASSERT in StorageEnvironment on storage-refactor branch
Author: agazso
Created: 2012-01-12 18:19:11+00:00
State: open

In StorageEnviromnent::OnChunkMerge line 1588, when inputChunk is removed from fileChunks list, it is already removed from any InLists.

End of log:

2012-01-12 19:03:32.802: Commiting done in track 1
2012-01-12 19:03:32.818: Opening chunk file C:\ScalienDB\sharddb/chunks/chunk.00000000000000018530
2012-01-12 19:03:32.818: numOps: 22
2012-01-12 19:03:32.834: Commiting in track 1
2012-01-12 19:03:32.834: Commiting done in track 1
2012-01-12 19:03:32.834: Opening chunk file C:\ScalienDB\sharddb/chunks/chunk.00000000000000018492
2012-01-12 19:03:32.834: numOps: 23
2012-01-12 19:03:32.834: Commiting in track 1
2012-01-12 19:03:32.834: Opening chunk file C:\ScalienDB\sharddb/chunks/chunk.00000000000000018488
2012-01-12 19:03:32.834: Commiting done in track 1
2012-01-12 19:03:32.849: numOps: 27
2012-01-12 19:03:32.849: Commiting in track 1
2012-01-12 19:03:32.865: Commiting done in track 1
2012-01-12 19:03:32.881: Done merging chunk 18830, elapsed: 595, size: 16k, bps: 28kB/s
2012-01-12 19:03:32.881: numOps: 21
2012-01-12 19:03:32.881: WriteTOC started
2012-01-12 19:03:32.881: WriteTOC finished
Assertion failed: t->next != t && t->prev != t, file Z:\ScalienDB\Source\src\Sys
tem/Containers/InList.h, line 198
2012-01-12 19:11:23.135: Softclock diff: 28634

Call stack:

ScalienDB.storage-refactor.exe!_NMSG_WRITE(int rterrnum) Line 217	C
ScalienDB.storage-refactor.exe!abort() Line 71	C
ScalienDB.storage-refactor.exe!_wassert(const wchar_t * expr, const wchar_t * filename, unsigned int lineno) Line 153	C
ScalienDB.storage-refactor.exe!InList::Remove(StorageFileChunk * t) Line 198 + 0x5e bytes	C++
ScalienDB.storage-refactor.exe!StorageEnvironment::OnChunkMerge(StorageMergeChunkJob * job) Line 1590	C++
ScalienDB.storage-refactor.exe!StorageMergeChunkJob::OnComplete() Line 83	C++
ScalienDB.storage-refactor.exe!JobProcessor::OnComplete() Line 98	C++
ScalienDB.storage-refactor.exe!MFunc::Thunk(void * arg) Line 81	C++
ScalienDB.storage-refactor.exe!Callable::Execute() Line 22 + 0x3b bytes	C++
ScalienDB.storage-refactor.exe!Call(Callable & callable) Line 39	C++
ScalienDB.storage-refactor.exe!CallWarnTimeout(Callable & callable) Line 115	C++
ScalienDB.storage-refactor.exe!ProcessCompletionCallbacks() Line 812	C++
ScalienDB.storage-refactor.exe!IOProcessor::Poll(int msec) Line 661 + 0x5 bytes	C++
ScalienDB.storage-refactor.exe!EventLoop::RunOnce() Line 69	C++
ScalienDB.storage-refactor.exe!EventLoop::Run() Line 75 + 0x5 bytes	C++
ScalienDB.storage-refactor.exe!RunApplication() Line 87	C++
ScalienDB.storage-refactor.exe!Service::Main(int argc, char * * argv, void (void)* serviceFunc) Line 369	C++
ScalienDB.storage-refactor.exe!RunMain(int argc, char * * argv) Line 58	C++
ScalienDB.storage-refactor.exe!main(int argc, char * * argv) Line 29 + 0x14 bytes	C++
ScalienDB.storage-refactor.exe!__tmainCRTStartup() Line 278 + 0x19 bytes	C
ScalienDB.storage-refactor.exe!mainCRTStartup() Line 189	C
kernel32.dll!00000000778d652d()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!0000000077a0c521()