https://bugs.winehq.org/show_bug.cgi?id=18477
--- Comment #22 from Rafał Mużyło galtgendo@o2.pl --- I'm seeing a very similar crash in a different app, where this patch doesn't help - the crash still happens.
=>0 0x7ef5f63e HEAP_CreateFreeBlock+0x36e(subheap=0x2160000, ptr=0x2160028, size=0x6040) [wine-1.7.53/include/wine/list.h:100] in ntdll (0x0033f748) 1 0x7ef5f904 HEAP_MakeInUseBlockFree+0x183(subheap=0x2160000, pArena=<is not available>) [wine-1.7.53/dlls/ntdll/heap.c:655] in ntdll (0x0033f7e8) 2 0x7ef6064a RtlFreeHeap+0xc9(heap=<couldn't compute location>, flags=<couldn't compute location>, ptr=<couldn't compute location>) [wine-1.7.53/dlls/ntdll/heap.c:1770] in ntdll (0x0033f858) 3 0x7e1d7f52 wined3d_resource_free_sysmem+0x31(resource=0x25085e8) [wine-1.7.53/dlls/wined3d/resource.c:322] in wined3d (0x0033f888) 4 0x7e1d8606 resource_cleanup+0x65(resource=0x25085e8) [wine-1.7.53/dlls/wined3d/resource.c:238] in wined3d (0x0033f8c8) 5 0x7e217636 surface_cleanup+0x245(surface=<is not available>) [wine-1.7.53/dlls/wined3d/surface.c:103] in wined3d (0x0033f918) 6 0x7e219194 wined3d_surface_destroy+0x53(surface=<is not available>) [wine-1.7.53/dlls/wined3d/surface.c:110] in wined3d (0x0033f948) 7 0x7e22b626 wined3d_texture_cleanup+0x55(texture=0x25103e8) [wine-1.7.53/dlls/wined3d/texture.c:127] in wined3d (0x0033f988) 8 0x7e22dc34 wined3d_texture_decref+0x73(texture=<couldn't compute location>) [wine-1.7.53/dlls/wined3d/texture.c:415] in wined3d (0x0033f9c8) 9 0x7e2c49f3 in d3d9 (+0x249f2) (0x0033fa28)
On a potentially interesting note: LIBGL_ALWAYS_SOFTWARE makes no difference toward the crash, but LIBGL_ALWAYS_INDIRECT in a way does, it triggers a somewhat different crash almost immediately:
=>0 0x7e2c2b12 d3d9_texture_2d_UnlockRect+0x52(iface=<couldn't compute location>, level=<couldn't compute location>) [wine-1.7.53/dlls/d3d9/texture.c:378] in d3d9 (0x0033f958) 0x7e2c2b12 d3d9_texture_2d_UnlockRect+0x52 [wine-1.7.53/dlls/d3d9/texture.c:378] in d3d9: call *0x38(%edx)