[PATCH 2/4] widl: Write out calls to freeing functions for return types on the server in generated code.

Alexandre Julliard julliard at winehq.org
Mon Jul 7 06:30:00 CDT 2008


"Rob Shearman" <robertshearman at gmail.com> writes:

>  tools/widl/proxy.c  |    3 +++
>  tools/widl/server.c |    3 +++
>  2 files changed, 6 insertions(+), 0 deletions(-)

This one doesn't work:

../../../tools/runtest -q -P wine -M rpcrt4.dll -T ../../.. -p rpcrt4_test.exe.so server.c && touch server.ok
err:rpc:I_RpcReceive we got fault packet with status 0x3e6
wine: Unhandled exception 0x000003e6 at address 0x7b8449a0 (thread 001a), starting debugger...
Unhandled exception: 0x000003e6 in 32-bit code (0x7b844a16).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7b844a16 ESP:0033f9f4 EBP:0033fa58 EFLAGS:00000246(   - 00      - IZP1)
 EAX:7b82eb79 EBX:7b8b30e8 ECX:00110048 EDX:00000000
 ESI:0033fac4 EDI:00000000
Stack dump:
0x0033f9f4:  00000000 0011fa30 0033fa20 608b0dd4
0x0033fa04:  000003e6 00000000 00000000 7b8449a0
0x0033fa14:  00000000 608abe79 608abd5c 000003e6
0x0033fa24:  0011f840 00000000 608a2567 00110000
0x0033fa34:  00000000 0011fa30 608b0dd4 00000000
0x0033fa44:  0033fba0 0033fa78 60899ea8 0033fba0
Backtrace:
=>1 0x7b844a16 RaiseException+0x76(code=0x3e6, flags=0x0, nbargs=0x0, args=0x0) [/home/julliard/wine/wine/dlls/kernel32/except.c:85] in kernel32 (0x0033fa58)
  2 0x608a2e75 RpcRaiseException+0x35(exception=0x3e6) [/home/julliard/wine/wine/dlls/rpcrt4/rpcrt4_main.c:184] in rpcrt4 (0x0033fa78)
  3 0x60874e30 NdrFreeBuffer(pStubMsg=0x1) [/home/julliard/wine/wine/dlls/rpcrt4/ndr_clientserver.c:184] in rpcrt4 (0x0033faa8)
  4 0x6055ecab get_filename+0x7b() [/home/julliard/wine/wine/dlls/rpcrt4/tests/server_c.c:4198] in rpcrt4_test (0x0033fbd8)
  5 0x6055c2e1 basic_tests+0xb41() [/home/julliard/wine/wine/dlls/rpcrt4/tests/server.c:850] in rpcrt4_test (0x0033fd58)
  6 0x6055cf5d run_tests+0x1d() [/home/julliard/wine/wine/dlls/rpcrt4/tests/server.c:865] in rpcrt4_test (0x0033fe08)
  7 0x6055dfd6 func_server+0x586() [/home/julliard/wine/wine/dlls/rpcrt4/tests/server.c:1262] in rpcrt4_test (0x0033fe68)
  8 0x6056b0f0 run_test+0x130(name=0x110403) [/home/julliard/wine/wine/dlls/rpcrt4/tests/../../../include/wine/test.h:451] in rpcrt4_test (0x0033fea8)
  9 0x6056b2f3 main+0x133(argc=<register ECX not in topmost frame>, argv=<register ECX not in topmost frame>) [/home/julliard/wine/wine/dlls/rpcrt4/tests/../../../include/wine/test.h:499] in rpcrt4_test (0x0033fed8)
  10 0x6056ba7b __wine_spec_exe_entry+0x5b(peb=0x7ffdf000) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in rpcrt4_test (0x0033ff08)
  11 0x7b876d47 start_process+0xc7(arg=0x0) [/home/julliard/wine/wine/dlls/kernel32/process.c:904] in kernel32 (0x0033ffe8)
  12 0x600289c7 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)
0x7b844a16 RaiseException+0x76 [/home/julliard/wine/wine/dlls/kernel32/except.c:85] in kernel32: movl	0xfffffffc(%ebp),%ebx

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list