[PATCH 05/10] msi: Add support for importing binary OBJECTS.

Hib Eris hib at hiberis.nl
Tue May 26 13:55:41 CDT 2009


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 at winehq.org> wrote:
> Hib Eris <hib at 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 at winehq.org
>



More information about the wine-devel mailing list