https://bugs.winehq.org/show_bug.cgi?id=35933
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
it seems the RPC service can be run as normal process using '-no-service' command line switch for easier reproducing/debugging.
--- snip --- $ winedbg ./EvoSvc.exe -no-service --- snip ---
(start the client)
Unfortunately there is a watchdog timer which shuts the RPC server down after 30 secs.
--- snip --- ... Evolve is running... 2014-Apr-06 00:29:09.952654 - Shutting down... 2014-Apr-06 00:29:09.953202 - The client didn't connect within the expected time. Shutting down service... 2014-Apr-06 00:29:09.955963 - Shutting down RPC server... --- snip ---
This one is responsible:
--- snip --- 002c:Call KERNEL32.CreateTimerQueueTimer(00595a2c,00000000,004175f0,0059584c,00007530,00000000,00000008) ret=00415470 --- snip ---
0x7530 -> 30000 msecs
Patching the timeout constant at raw file offset: 0x14857
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Echobit/Evolve $ cp EvoSvc.exe EvoSvc.bak $ printf '\x01' | dd of=EvoSvc.exe bs=1 seek=84058 count=1 conv=notrunc --- snip ---
Power to the debuggers! :)
--- snip --- Wine-dbg>b client_get_handle
Wine-dbg>c ... Wine-dbg>n 274 switch (pProcHeader->handle_type) Wine-dbg>n 347 FIXME("RPC_FC_CALLBACK_HANDLE\n"); Wine-dbg>bt Backtrace: =>0 0x7ed0e81c client_get_handle+0x494(pStubMsg=0x11ade98, pProcHeader=0x5144c2, pFormat="", phBinding=0x11ade94) [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/ndr_stubless.c:347] in rpcrt4 (0x011ad9a8) 1 0x7ed0f827 ndr_client_call+0x3c0(pStubDesc=<couldn't compute location>, pFormat=<couldn't compute location>, stack_top=<couldn't compute location>, fpu_stack=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/ndr_stubless.c:665] in rpcrt4 (0x011ae0d8) 2 0x7ed10876 NdrClientCall2+0x3a(desc=0x5143e8, format="4H") [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/ndr_stubless.c:977] in rpcrt4 (0x011ae118) 3 0x00410857 in evosvc (+0x10856) (0x011ae12c) 4 0x00423050 in evosvc (+0x2304f) (0x011ae16c) 5 0x00423d38 in evosvc (+0x23d37) (0x011ae1a8) 6 0x7ed1089d call_server_func+0x1c() in rpcrt4 (0x011ae1c8) 7 0x7ed116ad NdrStubCall2+0x7fe(pThis=<couldn't compute location>, pChannel=<couldn't compute location>, pRpcMsg=<couldn't compute location>, pdwStubPhase=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/ndr_stubless.c:1378] in rpcrt4 (0x011ae7a8) 8 0x7ed11968 NdrServerCall2+0x3f(pRpcMsg=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/ndr_stubless.c:1450] in rpcrt4 (0x011ae7e8) 9 0x7ed22aef process_request_packet+0x33a(conn=0x1246b8, hdr=0x124818, msg=0x124780) [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/rpc_server.c:441] in rpcrt4 (0x011ae928) 10 0x7ed22f43 RPCRT4_process_packet+0x114(conn=0x1246b8, hdr=0x124818, msg=0x124780, auth_data=0x0(nil), auth_length=0) [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/rpc_server.c:519] in rpcrt4 (0x011ae988) 11 0x7ed230d6 RPCRT4_worker_thread+0x4e(the_arg=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/rpcrt4/rpc_server.c:541] in rpcrt4 (0x011ae9d8) 12 0x7bc9002f worker_thread_proc+0x14d(param=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/ntdll/threadpool.c:110] in ntdll (0x011aea48) 13 0x7bc866cc call_thread_func_wrapper+0xb() in ntdll (0x011aea68) ... --- snip ---
Regards