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.
https://bugs.winehq.org/show_bug.cgi?id=55712
--- Comment #1 from Géza Búza bghome@gmail.com --- Created attachment 75219 --> https://bugs.winehq.org/attachment.cgi?id=75219 Patch to enable wait for server listening
https://bugs.winehq.org/show_bug.cgi?id=55712
--- Comment #2 from Géza Búza bghome@gmail.com --- Created attachment 75221 --> https://bugs.winehq.org/attachment.cgi?id=75221 wineserver log
Call to
NtFsControlFile( pipe_dev, NULL, NULL, NULL, &iosb, FSCTL_PIPE_WAIT, pipe_wait, wait_size, NULL, 0 );
fails on the wineserver side with OBJECT_NAME_NOT_FOUND error (see line 56670 in the log).
https://bugs.winehq.org/show_bug.cgi?id=55712
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #3 from Zeb Figura z.figura12@gmail.com --- That code was added intentionally, though. It might be incorrect, but it needs tests to prove it.