[vbox-dev] a rare crash

Alexander Eichner Alexander.Eichner at Sun.COM
Thu Nov 5 21:17:20 GMT 2009


Hi Huihong,

this is a known problem. The list is corrupted for some reason but I  
don't know where it gets corrupted yet.
I'm working on it.

Regards,
Alexander Eichner

Am 05.11.2009 um 21:03 schrieb Huihong Luo:

> this doesn't happen often, just FYI
>
> static PPDMASYNCCOMPLETIONTASK  
> pdmR3AsyncCompletionGetTask(PPDMASYNCCOMPLETIONENDPOINT pEndpoint,  
> void *pvUser)
> {
>
> else
> {
> /* Grab a free task from the head. */
> AssertMsg(pEndpoint->cTasksCached > 0, ("No tasks cached but list  
> contain more than one element\n"));
> pTask = pEndpoint->pTasksFreeHead;
> pEndpoint->pTasksFreeHead = pTask->pNext; <==== CRASH HERE
> ASMAtomicDecU32(&pEndpoint->cTasksCached);
> }
>
>
> }
>
>
> > VBoxVMM.dll!pdmR3AsyncCompletionGetTask(PDMASYNCCOMPLETIONENDPOINT  
> * pEndpoint=0x020442d0, void * pvUser=0x00000000)  Line 824 + 0x5  
> bytes C++
>   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++
>   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++
>   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++
>   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++
>   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++
>   VBoxDDU.dll!VDRead(VBOXHDD * pDisk=0x030034f0, unsigned __int64  
> uOffset=68732457472, void * pvBuf=0x05930000, unsigned int  
> cbRead=512)  Line 2653 + 0xc bytes C++
>   VBoxDD.dll!drvvdRead(PDMIMEDIA * pInterface=0x059c0eac, unsigned  
> __int64 off=68732457472, void * pvBuf=0x05930000, unsigned int  
> cbRead=512)  Line 608 + 0x1d bytes C++
>   VBoxDD.dll!drvblockRead(PDMIBLOCK * pInterface=0x020ea654,  
> unsigned __int64 off=68732457472, void * pvBuf=0x05930000, unsigned  
> int cbRead=512)  Line 140 + 0x18 bytes C++
>   VBoxDD.dll!ataReadSectors(ATADevState * s=0x00000000, unsigned  
> __int64 u64Sector=134243081, void * pvBuf=0x05930000, unsigned int  
> cSectors=1, bool * fRedo=0x06f7fee3)  Line 1475 C++
>   VBoxDD.dll!ataReadSectorsSS(ATADevState * s=0x04411d00)  Line 1549  
> + 0x18 bytes C++
>   VBoxDD.dll!ataAsyncIOLoop(RTTHREADINT * ThreadSelf=0x0204c138,  
> void * pvUser=0x00000002)  Line 4872 + 0xd bytes C++
>   VBoxRT.dll!rtThreadMain(RTTHREADINT * pThread=0x0204c138, unsigned  
> int NativeThread=252, const char * pszThreadName=0x0204c1a0)  Line  
> 637 + 0xa bytes C++
>   VBoxRT.dll!rtThreadNativeMain(void * pvArgs=0x0204c138)  Line 106  
> + 0xb bytes C++
>   msvcr80.dll!_callthreadstartex()  Line 348 + 0x6 bytes C
>   msvcr80.dll!_threadstartex(void * ptd=0x031555b8)  Line 326 + 0x5  
> bytes C
>   kernel32.dll!@BaseThreadInitThunk at 12()  + 0x12 bytes
>   ntdll.dll!___RtlUserThreadStart at 8()  + 0x27 bytes
>   ntdll.dll!__RtlUserThreadStart at 8()  + 0x1b bytes
> _______________________________________________
> vbox-dev mailing list
> vbox-dev at virtualbox.org
> http://vbox.innotek.de/mailman/listinfo/vbox-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20091105/c9552444/attachment.html>


More information about the vbox-dev mailing list