Hi all, hmm, I've tested it again with current git, and it still works fine here.
I have looked at my new code and it does not seem wrong to me, but maybe it is somewhere else. Unfortunately, as I cannot reproduce this failure, I have no idea how to debug it. Does this fail for other people as well? Just a wild guess... could it have something to do with 64-bit vs. 32-bit? I am running on 32-bit. Alexandre, did you run the test on 32 or 64 bit? So, I can only ask for someone to please also try http://www.winehq.org/pipermail/wine-patches/2009-May/073272.html and see if it works for him/her. Hib On Tue, May 26, 2009 at 3:30 PM, Alexandre Julliard <[email protected]> wrote: > Hib Eris <[email protected]> writes: > >> --- >> dlls/msi/database.c | 63 >> +++++++++++++++++++++++++++++++++++++++++++++++--- >> dlls/msi/msipriv.h | 3 +- >> dlls/msi/record.c | 2 +- >> dlls/msi/tests/db.c | 12 +++++----- >> 4 files changed, 68 insertions(+), 12 deletions(-) > > This doesn't work here: > > ../../../tools/runtest -q -P wine -M msi.dll -T ../../.. -p msi_test.exe.so > db.c && touch db.ok > wine: Unhandled page fault on write access to 0x00000004 at address > 0x7bc4460e (thread 0019), starting debugger... > Unhandled exception: page fault on write access to 0x00000004 in 32-bit code > (0x7bc4460e). > Register dump: > CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b > EIP:7bc4460e ESP:0032f770 EBP:0032f7e8 EFLAGS:00010202( R- -- I - - - ) > EAX:00000000 EBX:7bc94448 ECX:00110014 EDX:00000000 > ESI:0012dcc8 EDI:0012dc48 > Stack dump: > 0x0032f770: 0032f784 00110014 00000020 0012dd00 > 0x0032f780: 0032f794 4d430002 0032f7bc 0012dc58 > 0x0032f790: 0032f7a4 00110014 00000070 4d430003 > 0x0032f7a0: 00000000 4d430003 00000000 00000000 > 0x0032f7b0: 00000000 00000000 00000000 4d430000 > 0x0032f7c0: 0012dc58 00000070 00000000 00000000 > Backtrace: > =>0 0x7bc4460e HEAP_CreateFreeBlock+0x3be(subheap=0x110014, ptr=0x12dc48, > size=128) [/home/julliard/wine/wine/dlls/ntdll/../../include/wine/list.h:98] > in ntdll (0x0032f7e8) > 1 0x7bc44847 HEAP_MakeInUseBlockFree+0x57(subheap=0x110014, pArena=<is not > available>) [/home/julliard/wine/wine/dlls/ntdll/heap.c:586] in ntdll > (0x0032f838) > 2 0x7bc44b3c RtlFreeHeap+0x18c(heap=0x110000, flags=2, ptr=0x12dcc8) > [/home/julliard/wine/wine/dlls/ntdll/heap.c:1480] in ntdll (0x0032f898) > 3 0x6081aa8e free_table+0x3e(table=<register EDI not in topmost frame>) > [/home/julliard/wine/wine/dlls/msi/msipriv.h:1059] in msi (0x0032f8b8) > 4 0x6081abae free_cached_tables+0x2e(db=<register ESI not in topmost frame>) > [/home/julliard/wine/wine/dlls/msi/../../include/wine/list.h:133] in msi > (0x0032f8c8) > 5 0x607d3ec2 MSI_CloseDatabase+0x42(arg=0x12b7e8) > [/home/julliard/wine/wine/dlls/msi/database.c:66] in msi (0x0032f8e8) > 6 0x607e6b58 msiobj_release+0x48(info=<register ESI not in topmost frame>) > [/home/julliard/wine/wine/dlls/msi/handle.c:257] in msi (0x0032f918) > 7 0x607e6ccf MsiCloseHandle+0xbf(handle=<is not available>) > [/home/julliard/wine/wine/dlls/msi/handle.c:311] in msi (0x0032f948) > 8 0x6066abda test_binary_import+0x33a() > [/home/julliard/wine/wine/dlls/msi/tests/db.c:1991] in msi_test (0x0032fca8) > 9 0x60677d7e func_db+0x264e() > [/home/julliard/wine/wine/dlls/msi/tests/db.c:7672] in msi_test (0x0032fde8) > 10 0x60749a80 run_test+0x130(name="db.c") > [/home/julliard/wine/wine/dlls/msi/tests/../../../include/wine/test.h:456] in > msi_test (0x0032fe28) > 11 0x60749c6f main+0x11f(argc=<register ECX not in topmost frame>, > argv=<register ECX not in topmost frame>) > [/home/julliard/wine/wine/dlls/msi/tests/../../../include/wine/test.h:505] in > msi_test (0x0032fed8) > 12 0x6074a484 __wine_spec_exe_entry+0x84(peb=0x7ffdf000) > [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in msi_test > (0x0032ff08) > 13 0x7b878660 start_process+0x130(arg=(nil)) > [/home/julliard/wine/wine/dlls/kernel32/process.c:941] in kernel32 > (0x0032ffe8) > 14 0x6002bc07 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000) > 0x7bc4460e HEAP_CreateFreeBlock+0x3be > [/home/julliard/wine/wine/dlls/ntdll/../../include/wine/list.h:98] in ntdll: > movl %eax,0x4(%edx) > 98 elem->next->prev = elem->prev; > > > -- > Alexandre Julliard > [email protected] >
