"Vincent Povirk" <vincent(a)codeweavers.com> writes:
> From 1d583fc07db661bd0f0d0d00ea82c6208c3b744f Mon Sep 17 00:00:00 2001
> From: Vincent Povirk <vincent(a)codeweavers.com>
> Date: Tue, 17 Nov 2009 11:20:34 -0600
> Subject: [PATCH 4/7] ole32: Add a test for freeing the parent of an open stream.
It doesn't work here:
../../../tools/runtest -q -P wine -M ole32.dll -T ../../.. -p ole32_test.exe.so storage32.c && touch storage32.ok
wine: Unhandled page fault on read access to 0x454556d6 at address 0x687dc2dd (thread 0045), starting debugger...
Unhandled exception: page fault on read access to 0x454556d6 in 32-bit code (0x687dc2dd).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:687dc2dd ESP:0032f980 EBP:0032f9b8 EFLAGS:00010216( R- -- I -A-P- )
EAX:45455246 EBX:688587e4 ECX:00110058 EDX:00000100
ESI:45455246 EDI:00000011
Stack dump:
0x0032f980: 00000000 00000100 00000000 00000080
0x0032f990: 0032f9dc 0032f9b0 0032f9b8 7bc45af1
0x0032f9a0: 00000040 00040000 00141c80 7bc346cf
0x0032f9b0: 00141c58 688587e4 0032fa68 687dc339
0x0032f9c0: 45455246 00000002 0032f9dc 00000000
0x0032f9d0: 00000000 0032f9dc 00000000 00000000
Backtrace:
=>0 0x687dc2dd StorageImpl_ReadRawDirEntry+0x3d(This=0x45455246, index=256, buffer="") [/home/julliard/wine/wine/dlls/ole32/storage32.c:3002] in ole32 (0x0032f9b8)
1 0x687dc339 StorageImpl_ReadDirEntry+0x39(This=0x45455246, index=2, buffer=0x32fa98) [/home/julliard/wine/wine/dlls/ole32/storage32.c:3127] in ole32 (0x0032fa68)
2 0x687d8268 StgStreamImpl_SetSize+0x98(iface=<register ESI not in topmost frame>, libNewSize=<register EDI not in topmost frame>) [/home/julliard/wine/wine/dlls/ole32/stg_stream.c:614] in ole32 (0x0032fb28)
3 0x687d86ee StgStreamImpl_Write+0x1ce(iface=0x141cd8, pv=0x6867cadc, cb=17, pcbWritten=<register EDI not in topmost frame>) [/home/julliard/wine/wine/dlls/ole32/stg_stream.c:420] in ole32 (0x0032fb78)
4 0x68662ea2 test_parent_free+0x222() [/home/julliard/wine/wine/dlls/ole32/tests/storage32.c:1322] in ole32_test (0x0032fbc8)
5 0x6866deea func_storage32+0x14ca() [/home/julliard/wine/wine/dlls/ole32/tests/storage32.c:2470] in ole32_test (0x0032fd98)
6 0x68671b40 run_test+0x130(name="storage32.c") [/home/julliard/wine/wine/dlls/ole32/tests/../../../include/wine/test.h:537] in ole32_test (0x0032fdd8)
7 0x68671d2e main+0x11e(argc=<register ECX not in topmost frame>, argv=<register ECX not in topmost frame>) [/home/julliard/wine/wine/dlls/ole32/tests/../../../include/wine/test.h:586] in ole32_test (0x0032fe88)
8 0x686727b4 __wine_spec_exe_entry+0x84(peb=0x7ffdf000) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in ole32_test (0x0032feb8)
9 0x7b8768a5 start_process+0x55(peb=<register ESI not in topmost frame>) [/home/julliard/wine/wine/dlls/kernel32/process.c:1025] in kernel32 (0x0032fee8)
10 0x7bc6de64 call_thread_func+0xc() in ntdll (0x0032fef8)
11 0x7bc6e080 call_thread_entry_point+0x70(entry=0x7b876850, arg=0x7ffdf000) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2342] in ntdll (0x0032ffc8)
12 0x7bc4b20a in ntdll (+0x3b20a) (0x0032ffe8)
13 0x68027e4d wine_call_on_stack+0x1d() in libwine.so.1 (0x00000000)
0x687dc2dd StorageImpl_ReadRawDirEntry+0x3d [/home/julliard/wine/wine/dlls/ole32/storage32.c:3002] in ole32: movl 0x490(%eax),%eax
3002 hr = BlockChainStream_ReadAt(
--
Alexandre Julliard
julliard(a)winehq.org