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 julliard@winehq.org wrote:
Hib Eris hib@hiberis.nl 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 julliard@winehq.org