http://bugs.winehq.org/show_bug.cgi?id=18564
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #19 from Dan Kegel dank@kegel.com 2009-11-04 21:21:49 --- qq is indeed suffering from heap corruption. I did 'winetricks vc2005run riched20' and poked at the 2009 International beta a bit with winedbg, and it crashes in a heap operation:
... fixme:crypt:SystemFunction041 (0x1c66098, a48, 1): stub [RtlDecryptMemory] fixme:crypt:SystemFunction040 (0x1bd800, a48, 1): stub [RtlEncryptMemory] fixme:mountmgr:harddisk_ioctl unsupported ioctl 74080 fixme:storage:StorageImpl_Commit (0x1bdca8 4): stub ... fixme:gdiplus:GdipImageGetFrameDimensionsCount stub fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_RESET_URLCACHE_SESSION: STUB fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_END_BROWSER_SESSION: STUB fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_RESET_URLCACHE_SESSION: STUB First chance exception: page fault on write access to 0x67190f8a in 32-bit code (0x682fe2de). Backtrace: =>0 0x682fe2de HEAP_CreateFreeBlock+0x3be 1 0x682fe4c6 HEAP_ShrinkBlock+0x46 2 0x682ffddd RtlAllocateHeap+0xcd(heap=0x650000, flags=<is not available>, size=10) [wine-git/dlls/ntdll/heap.c:1419] in ntdll
Running it under valgrind was not terribly enlightening, but I did see a few suspicious bits, including several uninitialized variables in qq itself; see the attached file for details. Anyone know a QQ developer? They might benefit from running a debug version of qq under valgrind+wine.
Running with winetricks ie6 didn't help, btw. Running with winetricks gdiplus made it crash earlier -- who knows, maybe that's interesting. It seemed to crash while handling a WMCHAR_MAP_DISPATCHMESSAGE message?