[Bug 34408] Section 8 Prejudice (Steam) fails on startup, complains with: "Please use the launcher" (failure to set named pipe to message mode via SetNamedPipeHandleState)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jan 1 19:05:15 CST 2014


http://bugs.winehq.org/show_bug.cgi?id=34408

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |RESOLVED
                URL|                            |http://store.steampowered.c
                   |                            |om/app/97100/
                 CC|                            |focht at gmx.net
          Component|-unknown                    |kernel32
         Resolution|---                         |DUPLICATE
            Summary|STEAM Section 8 Prejudice   |Section 8 Prejudice (Steam)
                   |won't start on wine 1.6     |fails on startup, complains
                   |                            |with: "Please use the
                   |                            |launcher" (failure to set
                   |                            |named pipe to message mode
                   |                            |via
                   |                            |SetNamedPipeHandleState)

--- Comment #18 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

Actually a dupe of bug 17273 (SetNamedPipeHandleState being a stub) and bug
17195 (place where the current patches for needed pipe message mode support
live).

Parent-child relationship of processes:

--- snip ---
Wine-dbg>info process
 pid      threads  executable (all id:s are in hex)
...
 00000008 41       'steam.exe'
 0000005a 1        \_ 'S9.exe'
 00000031 3           \_ 'S9-Win32-F.exe'
--- snip ---

'S9.exe' (launcher) and 'S9-Win32-F.exe' communicate via named pipes.

Relevant part of trace log:

--- snip ---
$ pwd
/home/focht/wine-apps/steam/wineprefix/drive_c/Program Files/Steam

$ WINEDEBUG=+tid,+seh,+relay wine ./steam.exe -applaunch 97100 >>log.txt 2>&1
...
005e:Call KERNEL32.CreateToolhelp32Snapshot(00000002,00000000) ret=0170c308
005e:Ret  KERNEL32.CreateToolhelp32Snapshot() retval=00000214 ret=0170c308
005e:Call KERNEL32.Process32FirstW(00000214,02faecc0) ret=0170c356
005e:Ret  KERNEL32.Process32FirstW() retval=00000001 ret=0170c356
005e:Call KERNEL32.Process32NextW(00000214,02faecc0) ret=0170c392
005e:Ret  KERNEL32.Process32NextW() retval=00000001 ret=0170c392
...
005e:Call KERNEL32.Process32NextW(00000214,02faecc0) ret=0170c392
005e:Ret  KERNEL32.Process32NextW() retval=00000001 ret=0170c392
005e:Call KERNEL32.OpenProcess(00000400,00000000,00000059) ret=0170c3a8
005e:Ret  KERNEL32.OpenProcess() retval=00000218 ret=0170c3a8
005e:Call
KERNEL32.GetProcessTimes(00000218,02faec9c,02faec94,02faecac,02faec8c)
ret=0170c3fa
005e:Ret  KERNEL32.GetProcessTimes() retval=00000001 ret=0170c3fa
005e:Call
KERNEL32.GetProcessTimes(ffffffff,02faeca4,02faec94,02faecac,02faec8c)
ret=0170c426
005e:Ret  KERNEL32.GetProcessTimes() retval=00000001 ret=0170c426
005e:Call KERNEL32.CompareFileTime(02faec9c,02faeca4) ret=0170c440
005e:Ret  KERNEL32.CompareFileTime() retval=ffffffff ret=0170c440
005e:Call KERNEL32.CloseHandle(00000218) ret=0170c46e
005e:Ret  KERNEL32.CloseHandle() retval=00000001 ret=0170c46e
005e:Call KERNEL32.CloseHandle(00000214) ret=0170c47a
005e:Ret  KERNEL32.CloseHandle() retval=00000001 ret=0170c47a
005e:Call msvcrt._vsnwprintf(02faef74,00000011,020eb3a0
L"\\\\.\\pipe\\%08x",02faeef8) ret=0170c4c5
005e:Ret  msvcrt._vsnwprintf() retval=00000011 ret=0170c4c5
005e:Call KERNEL32.CreateFileW(02faef74
L"\\\\.\\pipe\\00000059",c0000000,00000000,00000000,00000003,40000000,00000000)
ret=0170c82d
005e:Ret  KERNEL32.CreateFileW() retval=00000214 ret=0170c82d
005e:Call KERNEL32.SetNamedPipeHandleState(00000214,02faef6c,00000000,00000000)
ret=0170c852
005e:Ret  KERNEL32.SetNamedPipeHandleState() retval=00000000 ret=0170c852
005e:Call KERNEL32.GetLastError() ret=0170c75b
005e:Ret  KERNEL32.GetLastError() retval=00000000 ret=0170c75b
005e:Call KERNEL32.CloseHandle(00000214) ret=0170c8ab
005e:Ret  KERNEL32.CloseHandle() retval=00000001 ret=0170c8ab
005e:Call advapi32.CryptReleaseContext(085ac818,00000000) ret=0170d003
005e:Call rsaenh.CPReleaseContext(00000007,00000000) ret=7eb16ea2
005e:Call ntdll.RtlFreeHeap(00110000,00000000,085ae218) ret=f73330d1
005e:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=f73330d1
005e:Ret  rsaenh.CPReleaseContext() retval=00000001 ret=7eb16ea2
005e:Ret  advapi32.CryptReleaseContext() retval=00000001 ret=0170d003
...
005e:Call KERNEL32.GetLastError() ret=01506f51
005e:Ret  KERNEL32.GetLastError() retval=00000000 ret=01506f51
005e:Call msvcrt._vsnwprintf_s(02faf014,00000400,000003ff,02033b10 L"ERROR
[%d]",02faefe0) ret=0042c8ce
005e:Ret  msvcrt._vsnwprintf_s() retval=00000009 ret=0042c8ce
005e:Call user32.MessageBoxW(00000000,02033b28 L"Please use the
launcher",02faf014 L"ERROR [0]",00000000) ret=01506f76 
--- snip ---

Setting pipe to message mode fails because SetNamedPipeHandleState() is a stub.

Funny tidbit: the child process really checks if the parent is older
(GetProcessTimes() on both, CompareFileTime()) ;-)

$ wine --version
wine-1.7.9-309-ga01cb46

Regards

*** This bug has been marked as a duplicate of bug 17273 ***

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list