Flash Memory Hang

From: Shane (shane_at_dontsendme.com)
Date: 04/28/04


Date: Wed, 28 Apr 2004 14:06:48 -0400

Hi Guys,

When the registry is bothered frequently, the flash memory driver does not
respond. After several dozens of iterations - each iteration has 2 reads and
1 write of registry, the terminal hangs. Is there any QFE about this?

Here's a call stack of that situation.

Cheers,
Shane

================== call stack of services.exe ========================
NK!SC_WaitForMultiple(unsigned long 0x00000000, void * const * 0x00000001,
int 0x00000041, unsigned long 0x00000001) line 4429 + 20 bytes
NK!UB_WaitForMultiple(unsigned long 0x00000000, void * const * 0x00000001,
int 0x00000041, unsigned long 0x00000001) line 4478
COREDLL!xxx_WaitForSingleObject(void * 0x00000000, unsigned long 0x00000001)
line 107 + 56 bytes
MSFMD!CP_StartCompactor(unsigned long 0x00000000, unsigned long 0x00000001,
int 0x00000041) line 302 + 12 bytes
MSFMD!SM_GetNextFreeSector(unsigned long * 0x00000000, int 0x00000001) line
377
MSFMD!InternalWriteToMedia(_SG_REQ * 0x00000000, int 0x00000001) line 978 +
12 bytes
MSFMD!WriteToMedia(_SG_REQ * 0x00000000) line 1202 + 12 bytes
MSFMD!DSK_IOControl(unsigned long 0x00000000, unsigned long 0x00000001,
unsigned char * 0x00000041, unsigned long 0x00000001, unsigned char *
0x00000000, unsigned long 0x00000000, unsigned long * 0x0c11f354) line 533
+ 8 bytes
DEVICE!FS_DevDeviceIoControl(fsopendev_t * 0x00000000, unsigned long
0x00000001, void * 0x00000041, unsigned long 0x00000001, void * 0x00000000,
unsigned long 0x0c11f354, unsigned long * 0x00034e30, _OVERLAPPED *
0x00000000) line 1252 + 44 bytes
NK!SC_DeviceIoControl(void * 0x00000000, unsigned long 0x00000001, void *
0x00000041, unsigned long 0x00000001, void * 0x00000000, unsigned long
0x00000000, unsigned long * 0x0c11f52c, _OVERLAPPED * 0x00000000) line 3649
+ 64 bytes
COREDLL!xxx_DeviceIoControl(void * 0x00000000, unsigned long 0x00000001,
void * 0x00000041, unsigned long 0x00000001, void * 0x00000000, unsigned
long 0x00000000, unsigned long * 0x0c11f354, _OVERLAPPED * 0x00000000) line
27 + 92 bytes
MSPART!WritePartition(unsigned long 0x00000000, unsigned char * 0x00000001,
unsigned long 0x00000041, unsigned char * 0x00000001, unsigned long
0x00000000, unsigned long * 0x0c11f354) line 608 + 56 bytes
MSPART!PD_DeviceIoControl(unsigned long 0x00000000, unsigned long
0x00000001, unsigned char * 0x00000041, unsigned long 0x00000001, unsigned
char * 0x00000000, unsigned long 0x00000000, unsigned long * 0x0c11f354)
line 658
FSDMGR!CPartDriver::DeviceIoControl(CPartDriver * const 0x00000000, unsigned
long 0x00000001, unsigned long 0x00000041, void * 0x00000001, unsigned long
0x00000000, void * 0x00000000, unsigned long 0x0c11f354, unsigned long *
0x0000001c) line 245 + 48 bytes
FSDMGR!PartitionIoControl(CPartition * 0x00000000, unsigned long 0x00000001,
void * 0x00000041, unsigned long 0x00000001, void * 0x00000000, unsigned
long 0x00000000, unsigned long * 0x0c11f354, _OVERLAPPED * 0x00000000) line
28 + 40 bytes
FSDMGR!FSDMGR_DiskIoControl(_DSK * 0x00000000, unsigned long 0x00000001,
void * 0x00000041, unsigned long 0x00000001, void * 0x00000000, unsigned
long 0x00000000, unsigned long * 0x0c11f354, _OVERLAPPED * 0x00000000) line
586 + 60 bytes
FATFSD!ReadWriteDisk2(_VOLUME * 0x00000000, void * 0x00000001, unsigned long
0x00000041, _DISK_INFO * 0x00000001, unsigned long 0x00000000, int
0x00064a80, void * 0x00065d90) line 450 + 48 bytes
FATFSD!ReadWriteDisk(_VOLUME * 0x00000000, void * 0x00000001, unsigned long
0x00000041, _DISK_INFO * 0x00000001, unsigned long 0x000000e9, int
0x00000007, void * 0x460071f0, int 0x00000001) line 267
FATFSD!WriteVolume(_VOLUME * 0x00000000, unsigned long 0x00000001, int
0x00000041, void * 0x00000001) line 239
FATFSD!WriteStreamData(_DSTREAM * 0x00000000, unsigned long 0x00000001,
const void * 0x00000041, unsigned long 0x00000001, unsigned long *
0x00000000, int 0x00000000) line 942 + 24 bytes
FATFSD!FATFSWriteFile(_FHANDLE * 0x00000000, const void * 0x00000001,
unsigned long 0x00000041, unsigned long * 0x00000001, _OVERLAPPED *
0x0c11f584, unsigned long * 0x00000001, unsigned long * 0x00063c40) line
496 + 20 bytes
FATFSD!FAT_WriteFileWithSeek(_FHANDLE * 0x00000000, const void * 0x00000001,
unsigned long 0x00000041, unsigned long * 0x00000001, _OVERLAPPED *
0x00000000, unsigned long 0x00015010, unsigned long 0x00000000) line 838 +
44 bytes
FSDMGR!FSDMGR_WriteFileWithSeek(_HDL * 0x00000000, const void * 0x00000001,
unsigned long 0x00000041, unsigned long * 0x00000001, _OVERLAPPED *
0x00015010, unsigned long 0x00000000, unsigned long 0x00000000) line 857 +
64 bytes
NK!SC_WriteFileWithSeek(void * 0x00000000, const void * 0x00000001, unsigned
long 0x00000041, unsigned long * 0x00000001, _OVERLAPPED * 0x8287ad60 VAcs,
unsigned long 0x807786d0, unsigned long 0x00000000) line 3534 + 56 bytes
NK!FlushMapBuffersLogged(FSMAP * 0x00000000, unsigned long 0x00000001,
unsigned long 0x00000041, unsigned long 0x00000001) line 2434 + 44 bytes
NK!SC_FlushViewOfFile(const void * 0x00000000, unsigned long 0x00000001)
line 1021 + 32 bytes
COREDLL!xxx_FlushViewOfFile(const void * 0x00000000, unsigned long
0x00000001) line 515 + 52 bytes
FILESYS!FSVolFlush(_CEGUID * 0x00000000, SharedVolInfo_t * 0x00000001, long
* 0x00000041) line 153
FILESYS!RegFlushHive(heap_t * 0x00000000) line 170 + 20 bytes
FILESYS!prgRegFlushKey(HKEY__ * 0x00000000) line 1279 + 24 bytes
COREDLL!xxx_RegFlushKey(HKEY__ * 0x00000000) line 28
ACME!RegWrapper::CloseRegKey() line 601
ACME!RegWrapper::~RegWrapper() line 68
ACME!WindowProc(HWND__ * 0x000000f6, unsigned int 0x00000000, unsigned int
0x00000000, long 0x00000000) line 1120 + 20 bytes
COREDLL!xxx_PerformCallBack4(_CALLBACKINFO * 0x00000000, void * 0x00000001)
line 32
GWES!WindowProcCallback(void * 0x00000000, long (HWND__ *, unsigned int,
unsigned int, long)* 0x00000001, CWindow * 0x00000041, unsigned int
0x00000001, unsigned int 0x806c1002, long 0x02738ffc, unsigned char *
0x000f33d0) line 2329 + 24 bytes
GWES!CWindow::CallWindowProcWInternal(CePtr_t<long (__cdecl*)(HWND__
*,unsigned int,unsigned int,long)> {...}, HWND__ * 0x00000000, unsigned int
0x00000001, unsigned int 0x00000041, long 0x00000001, SendMsgEntry_t *
0x0c11fc00) line 2501 + 40 bytes
GWES!MsgQueue::DispatchReceivedMsg(MsgQueue * const 0x00000000) line 2751 +
28 bytes
GWES!MsgQueue::GetEvent(MsgQueue * const 0x00000000, MsgqGetEventFlag
mgefNull, HWND__ * 0x00000041, unsigned int 0x00000001, unsigned int
0x03f8c9a0, tagMSG * 0x0a0ef518) line 2966
GWES!MsgQueue::PeekMessageW_I(tagMSG * 0x00000000, HWND__ * 0x00000001,
unsigned int 0x00000041, unsigned int 0x00000001, unsigned int 0x00000001)
line 4928
COREDLL!xxx_PeekMessageW(tagMSG * 0x00000000, HWND__ * 0x00000001, unsigned
int 0x00000041, unsigned int 0x00000001, unsigned int 0x00000001) line 2786
+ 68 bytes
ACME!ThreadMessagePump(void * 0x0c02f3ec) line 398 + 28 bytes
COREDLL!ThreadBaseFunc(void * 0x00000000, unsigned long 0x00000001) line
419



Relevant Pages