Heap issues

Randall Walls rwalls at gwi.net
Fri Oct 7 20:41:20 CDT 2005

I've been (unsuccessfully) attempting to run a children's program 
through wine for some time. I've been trying successive releases since 
about may, without luck. The program appears to be extremely simple, 
just some painting apps for toddlers, but each run fails with what looks 
like a heap issue. The program is by Creative Wonders called Sesame 
Street Toddlers Deluxe Art workshop. I'm attaching the output that 
winedbg gives, but would appreciate any feedback. I'm fairly comfortable 
with winedbg, so I can provide additional info about the crash if 
needed. Mostly I'm just curious if this is an issue with Wine's heap 
implementation, or if it is more likely just a poorly built application 
that I should give up on.

winedbg output:
21:23:34 slight - cdrom>wine: Unhandled exception (thread 0014), 
starting debugger...
WineDbg starting on pid 0xf
Unhandled exception: page fault on read access to 0x41ea6f30 in 32-bit 
code (0x4019fa56).
In 32 bit mode.
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:0087
 EIP:4019fa56 ESP:420254d0 EBP:420254f4 EFLAGS:00210287(   - 00      RISP1C)
 EAX:000090c8 EBX:401d8e28 ECX:41eb0000 EDX:00110000
 ESI:41ea6f30 EDI:41dd6f28
Stack dump:
0x420254d0:  00001000 00000004 40075bac 000090c8
0x420254e0:  41dd6f38 4019f9fb 401d8e28 41dc6f20
0x420254f0:  00010000 42025538 4019dcd9 41da0000
0x42025500:  41dd6f28 000d0008 00000000 401bd230
0x42025510:  00000802 00000000 00000000 41dc6f28
0x42025520:  00000000 40370000 41da0000 4052ca5c
=>1 0x4019fa56 in ntdll (+0x1fa56) (0x420254f4)
  2 0x4019dcd9 RtlAllocateHeap+0x1e9 in ntdll (0x42025538)
  3 0x404ccd4d HeapAlloc+0x2d in kernel32 (0x42025550)
  4 0x404cabbc GLOBAL_Alloc+0x7c in kernel32 (0x42025588)
  5 0x404cad06 GlobalAlloc16+0x46 in kernel32 (0x420255a8)
  6 0x4051a387 K32WOWGlobalAlloc16+0x27 in kernel32 (0x420255bc)
  7 0x404d0a94 DllMain+0x94 in kernel32 (0x420255d8)
  8 0x4051c378 __wine_spec_dll_entry+0x38 in kernel32 (0x420255f8)
  9 0x401a1292 call_dll_entry_point+0x12 in ntdll (0x42025610)
  10 0x401a396a in ntdll (+0x2396a) (0x42025698)
  11 0x401a165e MODULE_DllThreadAttach+0xae in ntdll (0x420256c0)
  12 0x4050e202 GetCurrentThreadId+0x136 in kernel32 (0x42025798)
  13 0x401c21a2 NtCurrentTeb+0x1be in ntdll (0x42025fec)
  14 0x40106b8a __clone+0x5a in libc.so.6 (0x00000000)
0x4019fa56: testb       $0x1,0x0(%esi)
Module  Address                 Debug info      Name (77 modules)
ELF     0x40000000-40017000     Deferred        ld-linux.so.2
ELF     0x40032000-4004c000     Deferred        libwine.so.1
ELF     0x4004d000-4016a000     Export          libc.so.6
ELF     0x4016a000-4016e000     Deferred        libdl.so.2
ELF     0x4016e000-401e8000     Export          ntdll<elf>
  \-PE  0x40180000-401e8000     \               ntdll
ELF     0x40203000-402f8000     Deferred        libwine_unicode.so.1
ELF     0x402f8000-4031b000     Deferred        libm.so.6
ELF     0x40336000-4033f000     Deferred        libnss_compat.so.2
ELF     0x4033f000-40355000     Deferred        libnsl.so.1
ELF     0x40355000-4035f000     Deferred        libnss_nis.so.2
ELF     0x4035f000-40369000     Deferred        libnss_files.so.2
ELF     0x40482000-4058c000     Export          kernel32<elf>
  \-PE  0x404a0000-4058c000     \               kernel32
ELF     0x405c2000-405d7000     Deferred        winevdm<elf>
  \-PE  0x405d0000-405d7000     \               winevdm
ELF     0x406e0000-40815000     Deferred        user32<elf>
  \-PE  0x40700000-40815000     \               user32
ELF     0x40815000-408a5000     Deferred        gdi32<elf>
  \-PE  0x40830000-408a5000     \               gdi32
ELF     0x408a5000-408e3000     Deferred        advapi32<elf>
  \-PE  0x408b0000-408e3000     \               advapi32
ELF     0x408fe000-40968000     Deferred        libfreetype.so.6
ELF     0x40968000-40979000     Deferred        libz.so.1
ELF     0x40979000-409fd000     Deferred        winex11.drv<elf>
  \-PE  0x40990000-409fd000     \               winex11.drv
ELF     0x40a18000-40a20000     Deferred        libsm.so.6
ELF     0x40a20000-40a38000     Deferred        libice.so.6
ELF     0x40a38000-40a3e000     Deferred        libxxf86dga.so.1
ELF     0x40a3e000-40a43000     Deferred        libxxf86vm.so.1
ELF     0x40a43000-40a51000     Deferred        libxext.so.6
ELF     0x40a51000-40b1b000     Deferred        libx11.so.6
ELF     0x40b1b000-40b93000     Deferred        libgl.so.1
ELF     0x40b93000-412e4000     Deferred        libglcore.so.1
ELF     0x412e4000-412e6000     Deferred        libnvidia-tls.so.1
ELF     0x41399000-413a1000     Deferred        libxrender.so.1
ELF     0x413a1000-413a4000     Deferred        libxrandr.so.2
ELF     0x413a4000-413a7000     Deferred        xlcdef.so.2
ELF     0x413a7000-413c5000     Deferred        ximcp.so.2
ELF     0x413c5000-413e2000     Deferred        imm32<elf>
  \-PE  0x413d0000-413e2000     \               imm32
ELF     0x413e5000-413e9000     Deferred        iso8859-1.so
ELF     0x41404000-4140d000     Deferred        libxcursor.so.1
ELF     0x41451000-414b4000     Deferred        winedos<elf>
  \-PE  0x41460000-414b4000     \               winedos
ELF     0x414b4000-41538000     Deferred        winmm<elf>
  \-PE  0x414c0000-41538000     \               winmm
ELF     0x41538000-4157f000     Deferred        wineoss.drv<elf>
  \-PE  0x41550000-4157f000     \               wineoss.drv
ELF     0x4157f000-41597000     Deferred        msacm.drv<elf>
  \-PE  0x41590000-41597000     \               msacm.drv
ELF     0x41597000-415ba000     Deferred        msacm32<elf>
  \-PE  0x415a0000-415ba000     \               msacm32
ELF     0x416d0000-416e5000     Deferred        midimap<elf>
  \-PE  0x416e0000-416e5000     \               midimap
ELF     0x41827000-418be000     Deferred        comdlg32<elf>
  \-PE  0x41830000-418be000     \               comdlg32
ELF     0x418be000-41989000     Deferred        shell32<elf>
  \-PE  0x418d0000-41989000     \               shell32
ELF     0x41989000-419e4000     Deferred        shlwapi<elf>
  \-PE  0x419a0000-419e4000     \               shlwapi
ELF     0x419e4000-41a78000     Deferred        ole32<elf>
  \-PE  0x41a00000-41a78000     \               ole32
ELF     0x41a78000-41abe000     Deferred        rpcrt4<elf>
  \-PE  0x41a90000-41abe000     \               rpcrt4
ELF     0x41abe000-41adc000     Deferred        iphlpapi<elf>
  \-PE  0x41ad0000-41adc000     \               iphlpapi
ELF     0x41adc000-41bad000     Deferred        comctl32<elf>
  \-PE  0x41af0000-41bad000     \               comctl32
ELF     0x41bad000-41bd8000     Deferred        winspool.drv<elf>
  \-PE  0x41bc0000-41bd8000     \               winspool.drv
ELF     0x41c4b000-41c67000     Deferred        libcups.so.2
ELF     0x41c67000-41c98000     Deferred        libssl.so.0
ELF     0x41c98000-41d97000     Deferred        libcrypto.so.0
ELF     0x41eb0000-41ee3000     Deferred        uxtheme<elf>
  \-PE  0x41ec0000-41ee3000     \               uxtheme
ELF     0x7bf00000-7bf07000     Deferred        <wine-loader>
process  tid      prio (all id:s are in hex)
0000000f (D) E:\winevdm.exe
        00000014   15 <==
        00000011    0
        00000010    0
WineDbg terminated on pid 0xf

Much obliged,

Randall Walls

More information about the wine-devel mailing list