convert 16bit comm stuff to use handles - oops

lawson_whitney at juno.com lawson_whitney at juno.com
Sat Jun 30 09:32:35 CDT 2001



On Sat, 30 Jun 2001, Mike McCormack wrote:

>
> Hi,
>
> this is the first step in cleaning up the 16bit comm code.
> This patch is untested, so have a look, and give it a go!
>
> Mike
>
> ChangeLog:
> * dlls/kernel/comm.c
>   Use handles instead of unix fds.
>
>
>
> ------------------------------------------
> mailto:Mike_McCormack at looksmart.com.au
> ph +82 16 430 0425

Sorry, Mike.  Something in the current Wine has broken my 16 bit app,
and with or without your patch it crashes as attached.  It worked on
June 22 2001.  I wish I had tested it more often, there is a bit or
water over the dam since then.  It may take some time to find what has
broken it, if I am clever enough to do so at all.

Lawson
---oops---probable user head space error---
-------------- next part --------------
Unhandled exception: page fault on read access to 0x01bf00c2
 in 32-bit code (0x01bf00c2).
In 32-bit mode.
Symbol h_errno is invalid
Symbol hack_digit is invalid
0x01bf00c2: *** Invalid address 0x01bf00c2
-- no code --
Wine-dbg>bt
Backtrace:
=>0 0x01bf00c2 (ebp=40776cdc)
  1 0x40a8a8a7 (WINPROC_wrapper+0x17 in libuser.so) (ebp=40776d00)
  2 0x40a8a926 (WINPROC_CallWndProc+0x76(proc=0x40a288f8, hwnd=0x5c8,
msg=0x600, wParam=0xc02e, lParam=0x0) [winproc.c:171] in libuser.so)
(ebp=40776d2c)
  3 0x40a8fc9b (WINPROC_CallProc16To32A+0x4f(func=0x40a288f8,
hwnd=0x5c8, msg=0x600, wParam=0xc02e, lParam=0x0) [winproc.c:2406] in
libuser.so) (ebp=40776d58)
  4 0x40a8ff42 (CallWindowProc16+0xb2(func=0x40d90d08, hwnd=0x5c8,
msg=0x600, wParam=0xc02e, lParam=0x0) [winproc.c:2528] in libuser.so)
(ebp=40776d84)
  5 0x40a73261 (DispatchMessage16+0xe1(msg=0x40904eca) [message.c:2273]
in libuser.so) (ebp=40776dc8)
  6 0x40a24b8d (USER_CallFrom16_p_long_p+0x31(proc=0x40a73180,
args=0x409202e8) [user.spec.c:1324] in libuser.so) (ebp=40776ddc)
  7 0x4008225e (__wine_call_from_16_long+0x8e [asmrelay.s] in
libntdll.so) (ebp=40776e0c)
  8 0x01e7:0xa733 (bp=d6ac)
  9 0x01e7:0xa7a9 (bp=d6bc)
  10 0x01e7:0xaf18 (bp=d6d4)
  11 0x01ff:0x55ff (bp=d6e6, far call assumed)
  12 0x01ff:0x00c8 (bp=0000)

Wine-dbg>
Wine-dbg>up
Wine-dbg>info local
Wine-dbg>up
171         retvalue = WINPROC_wrapper( proc, hwnd, msg, wParam, lParam
);
Wine-dbg>info local
WINPROC_CallWndProc:proc == 0x40a288f8
WINPROC_CallWndProc:hwnd == 0x000005c8
WINPROC_CallWndProc:msg == 0x00000600
WINPROC_CallWndProc:wParam == 0x0000c02e
WINPROC_CallWndProc:lParam == 0x00000000
WINPROC_CallWndProc:retvalue (optimized into register $edi) ==
0x411e4470
WINPROC_CallWndProc:iWndsLocks (optimized into register $esi) ==
0x40ab28d8
WINPROC_CallWndProc:ret (optimized into register $eax) == 0x01bf00c2
WINPROC_CallWndProc:ret (optimized into register $eax) == 0x01bf00c2
Wine-dbg>up
2406        return WINPROC_UnmapMsg16To32A( hwnd, msg32, wParam32,
lParam, result );
Wine-dbg>info local
WINPROC_CallProc16To32A:func == 0x40a288f8
WINPROC_CallProc16To32A:hwnd == 0x000005c8
WINPROC_CallProc16To32A:msg == 0x00000600
WINPROC_CallProc16To32A:wParam == 0x0000c02e
WINPROC_CallProc16To32A:lParam == 0x00000000
WINPROC_CallProc16To32A:hwnd (optimized into register $esi) ==
0x40ab28d8
WINPROC_CallProc16To32A:result (optimized into register $eax) ==
0x01bf00c2
WINPROC_CallProc16To32A:msg32 == 0x00000600
WINPROC_CallProc16To32A:wParam32 == 0x0000c02e
Wine-dbg>
Wine-dbg>up
2406        return WINPROC_UnmapMsg16To32A( hwnd, msg32, wParam32,
lParam, result );
Wine-dbg>info local
WINPROC_CallProc16To32A:func == 0x40a288f8
WINPROC_CallProc16To32A:hwnd == 0x000005c8
WINPROC_CallProc16To32A:msg == 0x00000600
WINPROC_CallProc16To32A:wParam == 0x0000c02e
WINPROC_CallProc16To32A:lParam == 0x00000000
WINPROC_CallProc16To32A:hwnd (optimized into register $esi) ==
0x40ab28d8
WINPROC_CallProc16To32A:result (optimized into register $eax) ==
0x01bf00c2
WINPROC_CallProc16To32A:msg32 == 0x00000600
WINPROC_CallProc16To32A:wParam32 == 0x0000c02e
Wine-dbg>up
2528            return WINPROC_CallProc16To32A(
proc->thunk.t_from16.proc,
Wine-dbg>


More information about the wine-patches mailing list