[Bug 7555] Trying to run OpenWorkbench on Wine - file i/o problem

Wine Bugs wine-bugs at winehq.org
Mon Mar 12 01:19:33 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=7555





------- Additional Comments From damjan.jov at gmail.com  2007-12-03 01:19 -------
Confirming with GIT just after wine 0.9.32.

Firstly, Java 1.6 is a mission to install, it doesn't install properly unless
you have MSVCR71.DLL around, and to reinstall it you have to delete ~/.wine. Is
there some reason we don't have a builtin MSVCR71.DLL in wine?

If you attach winedbg before clicking on File->Save As, you get the following
(from the beginning of the function where it crashes):
        0x00411810: pushl       $0xff
        0x00411812: pushl       $0x57e438
        0x00411817: movl        %fs:0x0,%eax
        0x0041181d: pushl       %eax
        0x0041181e: movl        %esp,%fs:0x00000000
        0x00411825: subl        $68,%esp
        0x00411828: pushl       %ebx
        0x00411829: pushl       %ebp
        0x0041182a: pushl       %esi
        0x0041182b: pushl       %edi
        0x0041182c: movl        %ecx,%esi
        0x0041182e: call        *0x5ac0e8 -> 0x7ee83956 GetVersion
[/usr/src/wine/dlls/kernel32/version.c:110] in kernel32
        0x00411834: movl        %esi,%ecx
        0x00411836: movzbl      %eax,%ebx
        0x00411839: call        0x004114c0
        0x0041183e: movl        %eax,%edi
CRASH=> 0x00411840: movl        0x20(%edi),%ecx
        0x00411843: leal        0x10(%esp),%eax
        0x00411847: pushl       %eax
        0x00411848: pushl       %ecx
        0x00411849: call        *0x5ae774 -> 0x7eb977d1 GetWindowRect
[/usr/src/wine/dlls/user32/winpos.c:168] in user32

So function 0x004114c0 returns 0, and the code expects something else.
Unfortunately function 0x004114c0 is long and complicated.

A +all trace is not very revealing either:

0009:Call user32.GetWindow(0001009e,00000002) ret=004115fb
0009: get_window_tree( handle=0x1009e )
0009: get_window_tree() = 0 { parent=0x30080, owner=(nil), next_sibling=(nil),
prev_sibling=0x1009c, first_sibling=0x100a6, last_sibling=0x1009e,
first_child=0x100aa, last_child=0x100bc }
0009:Ret  user32.GetWindow() retval=00000000 ret=004115fb
0009:CALL MFC71.2372(00000000) ret=00411601
0009:Call kernel32.TlsGetValue(00000004) ret=7c15aeac
0009:Ret  kernel32.TlsGetValue() retval=001749b8 ret=7c15aeac
0009:Call kernel32.TlsGetValue(00000004) ret=7c15aeac
0009:Ret  kernel32.TlsGetValue() retval=001749b8 ret=7c15aeac
0009:RET  MFC71.2372() retval=00000000 ret=00411601
0009:CALL MFC71.578() ret=00411615
0009:RET  MFC71.578() retval=7c220074 ret=00411615
0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x411840

It could be GetWindow returns 0, which is passed into MFC71.2372, which returns
0, which causes the crash. But GetWindow is asked for the next sibling, which is
nil. Is it some obscure bug in wine's window management?


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list