https://bugs.winehq.org/show_bug.cgi?id=37688
Bug ID: 37688 Summary: Tera online has difficulty starting after new Patch to Launcher Product: Wine Version: 1.7.30 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: eli@orbsky.homelinux.org Distribution: ---
Created attachment 50162 --> https://bugs.winehq.org/attachment.cgi?id=50162 screenshot of error message when starting Tera's Launcher.
Hi
The Tera Launcher was recently patched to further advance their plans to make Tera available through steam. Part of the new requirements was to install Microsoft Visual C++ 2010 which was done through winetricks.
The launcher starts and I get an error message that:
The TERA Launcher is unable to load the SteamSupport.dll file.
ErrorMessage: Interop failed
A screen shot of the error is attached.
What's funny is that if I get persistent, eventually the game will lauch without the error. And when I run steam (the windows version under wine) I do not have to be as persistent.
Very very weird.
In any case I will attach the error message here.
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #1 from Eli Wapniarski eli@orbsky.homelinux.org --- Created attachment 50163 --> https://bugs.winehq.org/attachment.cgi?id=50163 Log file of debug output when the error occurs
The 2 log files that are being attached have been produced with the following commands
The log file produced when the error occurs: -------------------------------------------- WINEDEBUG=+tid,+seh,+loaddll,+process,+debugstr wine TERA-Launcher.exe -applaunch 275610 -nominidumps -nobreakpad -noassert -nocrashdialog
log_with_launch_error.txt 2>&1
The log file produced when the error does not occur: ---------------------------------------------------- WINEDEBUG=+tid,+seh,+loaddll,+process,+debugstr wine TERA-Launcher.exe -applaunch 275610 -nominidumps -nobreakpad -noassert -nocrashdialog
log_without_launch_error.txt 2>&1
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #2 from Eli Wapniarski eli@orbsky.homelinux.org --- Created attachment 50164 --> https://bugs.winehq.org/attachment.cgi?id=50164 Log file of debug output when the error does not occur
https://bugs.winehq.org/show_bug.cgi?id=37688
Dr. Wes Snyder V wessnyder@comcast.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wessnyder@comcast.net
--- Comment #3 from Dr. Wes Snyder V wessnyder@comcast.net --- I can confirm the error of SteamSupport.dll error occurs now after the latest patch to Tera.
https://bugs.winehq.org/show_bug.cgi?id=37688
David Philippi david@torangan.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |david@torangan.de
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #4 from Eli Wapniarski eli@orbsky.homelinux.org --- I probably made a mistake with debuf info I will be attaching new ones
https://bugs.winehq.org/show_bug.cgi?id=37688
Eli Wapniarski eli@orbsky.homelinux.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #50163|0 |1 is obsolete| |
--- Comment #5 from Eli Wapniarski eli@orbsky.homelinux.org --- Created attachment 50221 --> https://bugs.winehq.org/attachment.cgi?id=50221 Probably more helpful then the earlier one -Log file of debug output when the error occurs
https://bugs.winehq.org/show_bug.cgi?id=37688
Eli Wapniarski eli@orbsky.homelinux.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #50164|0 |1 is obsolete| |
--- Comment #6 from Eli Wapniarski eli@orbsky.homelinux.org --- Created attachment 50222 --> https://bugs.winehq.org/attachment.cgi?id=50222 Probably more helpful then the earlier one - Log file of debug output when the error occurs does not occur
debug info in the attachments were produced with the following commands
WINEDEBUG=+tid,+seh,+loaddll,+process,+debugstr wine TERA-Launcher.exe -nominidumps -nobreakpad -noassert -nocrashdialog >>log.txt 2>&1
https://bugs.winehq.org/show_bug.cgi?id=37688
Jaroslav Kazunekit@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Kazunekit@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #7 from Eli Wapniarski eli@orbsky.homelinux.org --- Looks like I will need to post this over at stagging.
I am using Fedora's distribution of wine, which is the stagging version.
I will post there.
Thank you for your consideration and sorry for the noise.
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #8 from Jaroslav Kazunekit@gmail.com --- This bug also affects me, I'm running Archlinux. I tried running Tera from a 32bit chroot with 1.7.33 wine and I get the same error. It seems to be either an error either with SteamSuport.dll or the vcrun2010, since installing the newest vcredist works for those on Windows (according to the Tera forums).
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #9 from Jaroslav Kazunekit@gmail.com --- Created attachment 50341 --> https://bugs.winehq.org/attachment.cgi?id=50341 Tera SteamSupport.dll error (wine1.7.33, 32bit)
Here's a log of the error from WINEDEBUG=+tid,+seh,+loaddll,+process,+debugstr wine TERA-Launcher.exe The only error I see is 0009:warn:debugstr:OutputDebugStringA "SteamSupport:ERROR:MessageQueue initialize error, name='message_queue_8', error='File exists.'\n" Which comes from SteamSupport.dll itself. There is no difference if vcrun2010 is set to native or builtin or even installed.
I'm using wine 1.7.33 with a patch from https://bugs.winehq.org/show_bug.cgi?id=34388 Without the patch, I'm getting an error described in the linked bug
https://bugs.winehq.org/show_bug.cgi?id=37688
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #10 from Eli Wapniarski eli@orbsky.homelinux.org --- I have filed a bug report at:
https://github.com/wine-compholio/wine-staging/issues/238
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #11 from Sebastian Lackner sebastian@fds-team.de --- Based on comment https://bugs.winehq.org/show_bug.cgi?id=37688#c8 this issue is also present in upstream Wine, so this bug report stays valid.
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #12 from Jaroslav Kazunekit@gmail.com --- 0009:warn:debugstr:OutputDebugStringA "SteamSupport:ERROR:MessageQueue initialize error, name='message_queue_8', error='File exists.'\n" After a little digging and basic googling, the exception in SteamSupport.dll is raised from boost interprocess library during the creation of message queue. I found the file it's trying to create, deleted it and re-run the program. Instead of the above error I got: 0009:Call KERNEL32.OutputDebugStringA(08404738 "SteamSupport:ERROR:MessageQueue initialize error, name='message_queue_8', error='boost::interprocess_exception::library_error'\n") ret=05d2bc8e
Going through +relay,+file debug log, I found that the file is created twice. First: -----SNIP----- 0009:Call KERNEL32.CreateFileA(08404280 "C:\users\Public\Application Data/boost_interprocess//message_queue_8",80010000,00000007,00000000,00000003,00000000,00000000) ret=05d2c808 trace:file:CreateFileW L"C:\users\Public\Application Data/boost_interprocess//message_queue_8" GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE FILE_SHARE_DELETE creation 3 attributes 0x0 trace:file:RtlDosPathNameToNtPathName_U (L"C:\users\Public\Application Data/boost_interprocess//message_queue_8",0x33df64,(nil),(nil)) trace:file:RtlGetFullPathName_U (L"C:\users\Public\Application Data/boost_interprocess//message_queue_8" 520 0x33dce4 (nil)) trace:file:wine_nt_to_unix_file_name L"\users\Public\Application Data\boost_interprocess\message_queue_8" not found in /home/kazune/.PlayOnLinux//wineprefix/TERA/dosdevices/c:/users/Public/Application Data/boost_interprocess trace:file:CreateFileW returning 0xffffffff 0009:Ret KERNEL32.CreateFileA() retval=ffffffff ret=05d2c808 -----SNIP----- Second: -----SNIP----- 0009:Call KERNEL32.CreateFileA(084044b8 "C:\users\Public\Application Data/boost_interprocess//message_queue_8",c0000000,00000007,00000000,00000001,00000100,00000000) ret=05d2c808 trace:file:CreateFileW L"C:\users\Public\Application Data/boost_interprocess//message_queue_8" GENERIC_READ GENERIC_WRITE FILE_SHARE_READ FILE_SHARE_WRITE FILE_SHARE_DELETE creation 1 attributes 0x100 trace:file:RtlDosPathNameToNtPathName_U (L"C:\users\Public\Application Data/boost_interprocess//message_queue_8",0x33dcf4,(nil),(nil)) trace:file:RtlGetFullPathName_U (L"C:\users\Public\Application Data/boost_interprocess//message_queue_8" 520 0x33da74 (nil)) trace:file:wine_nt_to_unix_file_name L"\??\C:\users\Public\Application Data\boost_interprocess\message_queue_8" -> "/home/kazune/.PlayOnLinux//wineprefix/TERA/dosdevices/c:/users/Public/Application Data/boost_interprocess/message_queue_8" trace:file:CreateFileW returning 0x2ac 0009:Ret KERNEL32.CreateFileA() retval=000002ac ret=05d2c808 -----SNIP-----
After that I get the previously mentioned error. Not sure where to go from here, I guess I could try make a test program, but I'd need some pointers :)
Btw, it is installed on PlayOnLinux, but only so I can test multiple wine versions automatically. The game was installed by hand, without using an install script.
https://bugs.winehq.org/show_bug.cgi?id=37688
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |RESOLVED URL| |http://patch.tera.enmasse-g | |ame.com/temp/TERA-Minimal-S | |etup.exe CC| |focht@gmx.net Component|-unknown |ntdll Resolution|--- |DUPLICATE
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
dupe of bug 37338
--- snip --- ... 0023:Call KERNEL32.LoadLibraryW(72ff1118 L"C:\users\Public\Games\En Masse Entertainment\TERA\SteamSupport.dll") ret=00401780 ... 0023:Call KERNEL32.CreateFileA(06a04000 "C:\users\Public\Application Data/boost_interprocess//message_queue_34",80010000,00000007,00000000,00000003,00000000,00000000) ret=066fc808 0023:Ret KERNEL32.CreateFileA() retval=ffffffff ret=066fc808 ... 0023:Call KERNEL32.CreateDirectoryA(06a041e8 "C:\users\Public\Application Data/boost_interprocess",0033ddb0) ret=066fe224 0023:Ret KERNEL32.CreateDirectoryA() retval=00000000 ret=066fe224 ... 0023:Call KERNEL32.FindFirstFileA(06a04288 "C:\users\Public\Application Data/boost_interprocess\*.*",0033dba4) ret=066fd1cc 0023:Ret KERNEL32.FindFirstFileA() retval=01c63fe0 ret=066fd1cc ... 0023:Call KERNEL32.CreateFileA(06a04238 "C:\users\Public\Application Data/boost_interprocess//message_queue_34",c0000000,00000007,00000000,00000001,00000100,00000000) ret=066fc808 0023:Ret KERNEL32.CreateFileA() retval=0000030c ret=066fc808 ... 0023:Call KERNEL32.GetFileSizeEx(0000030c,0033df04) ret=066fd065 0023:Ret KERNEL32.GetFileSizeEx() retval=00000001 ret=066fd065 0023:Call KERNEL32.SetFilePointerEx(0000030c,00000000,00000000,00000000,00000000) ret=066fd0a9 0023:Ret KERNEL32.SetFilePointerEx() retval=00000001 ret=066fd0a9 0023:Call KERNEL32.WriteFile(0000030c,067d86e0,00000200,0033df10,00000000) ret=066fd0e2 0023:Ret KERNEL32.WriteFile() retval=00000001 ret=066fd0e2 ... 0023:Call KERNEL32.WriteFile(0000030c,067d86e0,000000b0,0033df10,00000000) ret=066fd0e2 0023:Ret KERNEL32.WriteFile() retval=00000001 ret=066fd0e2 0023:Call KERNEL32.CreateFileMappingA(0000030c,00000000,00000004,00000000,00000000,00000000) ret=0671b60f 0023:Ret KERNEL32.CreateFileMappingA() retval=00000310 ret=0671b60f 0023:Call KERNEL32.GetProcAddress(7bc10000,0678c5a4 "NtQuerySection") ret=066f2edf 0023:Ret KERNEL32.GetProcAddress() retval=7bc22354 ret=066f2edf 0023:Call ntdll.NtQuerySection(00000310,00000000,0033debc,00000010,00000000) ret=0671b6b4 0023:fixme:ntdll:NtQuerySection (0x310,0,0x33debc,0x00000010,(nil)) stub! 0023:Ret ntdll.NtQuerySection() retval=00000000 ret=0671b6b4 ... 0023:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0033de90) ret=06751c19 0023:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b83b30f ip=7b83b30f tid=0023 0023:trace:seh:raise_exception info[0]=19930520 0023:trace:seh:raise_exception info[1]=0033df1c 0023:trace:seh:raise_exception info[2]=0679d6f4 0023:trace:seh:raise_exception eax=7b826f95 ebx=7b8bf000 ecx=19930520 edx=0033ddd4 esi=0033de7c edi=0033de40 0023:trace:seh:raise_exception ebp=0033de18 esp=0033ddb4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00200283 0023:trace:seh:call_stack_handlers calling handler at 0x6783a98 code=e06d7363 flags=1 ... 0023:Call KERNEL32.OutputDebugStringA(06a044e0 "SteamSupport:ERROR:MessageQueue initialize error, name='message_queue_34', error='boost::interprocess_exception::library_error'\n") ret=066fbc8e --- snip ---
$ sha1sum TERA-Minimal-Setup.exe d6e68f32e68af16240a85c53e3836bc99388f842 TERA-Minimal-Setup.exe
$ du -sh TERA-Minimal-Setup.exe 28M TERA-Minimal-Setup.exe
$ wine --version wine-1.7.33-105-g4869b6e
Regards
*** This bug has been marked as a duplicate of bug 37338 ***
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #14 from Anastasius Focht focht@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 ***
https://bugs.winehq.org/show_bug.cgi?id=37688
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Tera online has difficulty |Tera Online Launcher fails |starting after new Patch to |on startup, reporting |Launcher |"SteamSupport:ERROR:Message | |Queue initialize error, | |name='message_queue_8', | |error='File exists.'"
https://bugs.winehq.org/show_bug.cgi?id=37688
--- Comment #15 from Jaroslav Kazunekit@gmail.com --- (In reply to Anastasius Focht from comment #14)
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 :)
You're awesome, thank you for discovering the cause!
https://bugs.winehq.org/show_bug.cgi?id=37688
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #16 from Bruno Jesus 00cpxxx@gmail.com --- Closing duplicate bugs.