https://bugs.winehq.org/show_bug.cgi?id=55712
Bug ID: 55712 Summary: rpcrt4: NdrClientInitializeNew() does not wait for server connection Product: Wine Version: 8.15 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: rpc Assignee: wine-bugs@winehq.org Reporter: bghome@gmail.com Distribution: ---
Created attachment 75218 --> https://bugs.winehq.org/attachment.cgi?id=75218 Application log (WINEDEBUG=+timestamp,+pid,+tid,+seh,+rpc,+file,+sync)
I'm debugging a crash of the RekordboxAgent application. The problem is that it's terminated by the RPC_S_SERVER_UNAVAILABLE exception.
I noticed that the client connection for the endpoint .\pipe\wine_plugplay (see NdrClientInitializeNew() API call on line 11168) had been triggered before the server started listening (see NdrServerInitializeNew() API call on line 13286).
Since the application works well under Windows 10/11, I believe it's a wine implementation related problem. To me it seems like the client connection should wait until the server becomes available. I made a small patch to test this theory (see rpcrt4.patch). Now I can see in the logs that the WaitNamedPipeW API is called on line 11189, but looks like does not have the desired effect as rpcrt4_conn_open_pipe connection failed appears immediately on line 11194.
Any help regarding that would be appreciated.