<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Huihong,</div><div><br></div><div>this is a known problem. The list is corrupted for some reason but I don't know where it gets corrupted yet.</div><div>I'm working on it.</div><div><br></div><div>Regards,</div><div>Alexander Eichner</div><br><div><div>Am 05.11.2009 um 21:03 schrieb Huihong Luo:</div><br class="Apple-interchange-newline"><blockquote type="cite"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font: inherit;"><div>this doesn't happen often, just FYI</div> <div> </div><font color="#0000ff" size="2"><font color="#0000ff" size="2"> </font></font><div><font color="#0000ff" size="2"><font color="#0000ff" size="2">static</font></font><font size="2"> PPDMASYNCCOMPLETIONTASK pdmR3AsyncCompletionGetTask(PPDMASYNCCOMPLETIONENDPOINT pEndpoint, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">void</font></font><font size="2"> *pvUser)</font></div><font size="2"> <div>{</div> <div> </div><font color="#0000ff" size="2"><font color="#0000ff" size="2"> <div>else</div></font></font><font size="2"> <div>{</div> </font><div><font color="#008000" size="2"><font color="#008000" size="2">/* Grab a free task from the head. */</font></font></div><font color="#008000" size="2"><font color="#008000" size="2"></font></font><font size="2"> </font><div><font size="2">AssertMsg(pEndpoint->cTasksCached > 0, (</font><font color="#800000" size="2"><font color="#800000" size="2">"No tasks cached but list contain more than one element\n"</font></font><font size="2">));</font></div><font size="2"> <div>pTask = pEndpoint->pTasksFreeHead;</div> <div><font color="#ff0000">pEndpoint->pTasksFreeHead = pTask->pNext; <==== CRASH HERE</font></div> <div>ASMAtomicDecU32(&pEndpoint->cTasksCached);</div> <div>}</div> <div> </div></font></font> <div> </div> <div>}</div> <div> </div> <div> </div> <div>> VBoxVMM.dll!pdmR3AsyncCompletionGetTask(PDMASYNCCOMPLETIONENDPOINT * pEndpoint=0x020442d0, void * pvUser=0x00000000)  Line 824 + 0x5 bytes C++<br>  VBoxVMM.dll!PDMR3AsyncCompletionEpRead(PDMASYNCCOMPLETIONENDPOINT * pEndpoint=0x020442d0, __int64 off=845623296, const PDMDATASEG * paSegments=0x06f7fd98, unsigned int cSegments=1, unsigned int cbRead=512, void * pvUser=0x00000000, PDMASYNCCOMPLETIONTASK * * ppTask=0x06f7fdac)  Line 1076 + 0xa bytes C++<br>  VBoxDD.dll!drvvdAsyncIOReadSync(void * pvUser=0x059c0ea8, void * pStorage=0x030974a0, unsigned __int64 uOffset=845623296, unsigned int cbRead=512, void * pvBuf=0x03162b18, unsigned int * pcbRead=0x00000000)  Line 321 + 0x28 bytes C++<br>  VBoxDDU.dll!vhdFileReadSync(VHDIMAGE * pImage=0x00000000, unsigned __int64 off=845623296, void * pvBuf=0x03162b18, unsigned int cbRead=512, unsigned int * pcbRead=0x00000000)  Line 350 + 0x25 bytes C++<br>  VBoxDDU.dll!vhdRead(void * pBackendData=0x03162840, unsigned __int64 uOffset=846021632, void * pvBuf=0x05930000, unsigned int cbRead=1651608, unsigned int * pcbActuallyRead=0x06f7fe1c)  Line 1159 + 0x2c bytes C++<br>  VBoxDDU.dll!vdReadHelper(VBOXHDD * pDisk=0x06f7fe44, VDIMAGE * pImage=0x030a28b0, unsigned __int64 uOffset=68732457472, void * pvBuf=0x00000000, unsigned int cbRead=512)  Line 322 + 0x17 bytes C++<br>  VBoxDDU.dll!VDRead(VBOXHDD * pDisk=0x030034f0, unsigned __int64 uOffset=68732457472, void * pvBuf=0x05930000, unsigned int cbRead=512)  Line 2653 + 0xc bytes C++<br>  VBoxDD.dll!drvvdRead(PDMIMEDIA * pInterface=0x059c0eac, unsigned __int64 off=68732457472, void * pvBuf=0x05930000, unsigned int cbRead=512)  Line 608 + 0x1d bytes C++<br>  VBoxDD.dll!drvblockRead(PDMIBLOCK * pInterface=0x020ea654, unsigned __int64 off=68732457472, void * pvBuf=0x05930000, unsigned int cbRead=512)  Line 140 + 0x18 bytes C++<br>  VBoxDD.dll!ataReadSectors(ATADevState * s=0x00000000, unsigned __int64 u64Sector=134243081, void * pvBuf=0x05930000, unsigned int cSectors=1, bool * fRedo=0x06f7fee3)  Line 1475 C++<br>  VBoxDD.dll!ataReadSectorsSS(ATADevState * s=0x04411d00)  Line 1549 + 0x18 bytes C++<br>  VBoxDD.dll!ataAsyncIOLoop(RTTHREADINT * ThreadSelf=0x0204c138, void * pvUser=0x00000002)  Line 4872 + 0xd bytes C++<br>  VBoxRT.dll!rtThreadMain(RTTHREADINT * pThread=0x0204c138, unsigned int NativeThread=252, const char * pszThreadName=0x0204c1a0)  Line 637 + 0xa bytes C++<br>  VBoxRT.dll!rtThreadNativeMain(void * pvArgs=0x0204c138)  Line 106 + 0xb bytes C++<br>  msvcr80.dll!_callthreadstartex()  Line 348 + 0x6 bytes C<br>  msvcr80.dll!_threadstartex(void * ptd=0x031555b8)  Line 326 + 0x5 bytes C<br>  <a href="mailto:kernel32.dll!@BaseThreadInitThunk@12">kernel32.dll!@BaseThreadInitThunk@12</a>()  + 0x12 bytes <br>  <a href="mailto:ntdll.dll!___RtlUserThreadStart@8">ntdll.dll!___RtlUserThreadStart@8</a>()  + 0x27 bytes <br>  <a href="mailto:ntdll.dll!__RtlUserThreadStart@8">ntdll.dll!__RtlUserThreadStart@8</a>()  + 0x1b bytes <br></div></td></tr></tbody></table> _______________________________________________<br>vbox-dev mailing list<br><a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a><br>http://vbox.innotek.de/mailman/listinfo/vbox-dev<br></blockquote></div><br></body></html>