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
Hib Eris wrote:
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
Hi, Hib. --- error: patch failed: dlls/msi/tests/db.c:1966 error: dlls/msi/tests/db.c: patch does not apply --- Post a rebased version please, I'll try it on my box.
Nikolay S.
Hi Nikolay,
Thanks for your reply. Alexandre already pointed me to my mistake, so no need for you anymore to help out. Thanks anyway.
Hib
Hi, Hib.
error: patch failed: dlls/msi/tests/db.c:1966 error: dlls/msi/tests/db.c: patch does not apply
Post a rebased version please, I'll try it on my box.
Nikolay S.