[Bug 37688] Tera online has difficulty starting after new Patch to Launcher

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jan 1 08:07:59 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=37688

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

this is one of the shortcomings with people reporting using differently
advanced/patched Wine flavours. It makes investigation more difficult in the
end when multiple issues are present which are partially fixed depending on the
chosen Wine flavour.

The fix for bug 37338 is definitely needed to make the launcher functional in
the end since Boost.Interprocess relies on this functionality.

This issue can be reproduced if the launcher is started/shutdown multiple times
with the process id matching earlier startup process ids.
The message queue files are maintained per process id and if it encounters
leftover files you get this problem.

Another essential functionality missing here is the ability to rename files
using 'NtSetInformationFile' with 'FileRenameInformation' information class
(0xA).

--- snip ---
...
0009:Call KERNEL32.CreateFileA(06153fc0 "C:\\users\\Public\\Application
Data/boost_interprocess//message_queue_8",80010000,00000007,00000000,00000003,00000000,00000000)
ret=05d5c808
0009:Ret  KERNEL32.CreateFileA() retval=000002dc ret=05d5c808
...
0009:Call ntdll.NtQueryObject(000002dc,00000001,061541a8,00000224,0033e10c)
ret=05d5ca90
0009:Ret  ntdll.NtQueryObject() retval=00000000 ret=05d5ca90
0009:Call KERNEL32.GetProcAddress(7bc10000,05dec5d8 "NtQuerySystemInformation")
ret=05d52edf
0009:Ret  KERNEL32.GetProcAddress() retval=7bc223e4 ret=05d52edf
0009:Call ntdll.NtQuerySystemInformation(00000003,0033e080,00000030,0033e07c)
ret=05d5c978
0009:Ret  ntdll.NtQuerySystemInformation() retval=00000000 ret=05d5c978
0009:Call
ntdll.NtSetInformationFile(000002dc,0033e0e8,061541a8,0000028c,0000000a)
ret=05d5cbb1
0009:fixme:ntdll:NtSetInformationFile Unsupported class (10)
0009:Ret  ntdll.NtSetInformationFile() retval=c0000002 ret=05d5cbb1 
...
0009:Call KERNEL32.CloseHandle(000002dc) ret=05d5cadd
0009:Ret  KERNEL32.CloseHandle() retval=00000001 ret=05d5cadd
--- snip ---

The idea of this code is basically to open file-backed message queues with
'delete-on-close' semantics, rename them to unique (random) name and close the
handle which would cause deletion if the refcount permits (no other clients).

Resolving this as dupe of bug 30399 (covering 'NtSetInformationFile' class
'FileRenameInformation'), created some years ago by me :)

Regards

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

-- 
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