https://bugs.winehq.org/show_bug.cgi?id=32214
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|Abandoned? | Status|UNCONFIRMED |RESOLVED URL|http://shaiya.aeriagames.co |http://www.gamershell.com/d |m/ |ownload_69972.shtml CC| |focht@gmx.net Resolution|--- |FIXED Summary|Shaiya closes out with bad |Shaiya Online (MMORPG, |address. |Aeria Games) crashes on | |startup
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
it would have been helpful if OP had provided information *when* exactly the client crashes (update process? login? in-game?).
I downloaded an old version of the game client here:
http://www.gamershell.com/download_69972.shtml
Due to its age, the updater process will proceed to download and apply lots of patches until it reaches final version 305.
There is a problem with the client updates on the server side through.
After one hour, when the updater reaches patchlevel 256, it requests a patch file which is not present:
shaiya.patch.aeriagames.com/Shaiya/patch/ps0256.patch
--- snip --- $ pwd /home/focht/.wine/drive_c/AeriaGames/Shaiya
$ WINEDEBUG=+tid,+seh,+loaddll,+relay,+process,+mshtml,+jscript wine ./updater.exe >>log2.txt 2>&1 ... 0032:Call KERNEL32.WideCharToMultiByte(00000000,00000000,046ddc40 L"GET /Shaiya/patch/ps0256.patch HTTP/1.1\r\nAccept: */*\r\nHost: shaiya.patch.aeriagames.com\r\nUser-Agent: updater\r\nCookie: lang=en; AGESESSID=e1bbe48335a9b765937de408b1e3cd90; utm_track=installer|-|shaiyainstaller|-|noxfirebundle|-|http://shaiya.aeriagames.com/%7C-%7C%7C-%7C%7C-%7C%7C-%7C1434285687; utm_source=in"...,ffffffff,048e26e0,00000263,00000000,00000000) ret=7e0c9612 0032:Ret KERNEL32.WideCharToMultiByte() retval=00000263 ret=7e0c9612 0032:Call ws2_32.setsockopt(00000264,0000ffff,00001005,00cfb338,00000004) ret=7e0daf8c 0032:Call ntdll.wine_server_handle_to_fd(00000264,00000000,00cfb18c,00000000) ret=7ed64a59 0032:Ret ntdll.wine_server_handle_to_fd() retval=00000000 ret=7ed64a59 0032:Call ntdll.wine_server_release_fd(00000264,0000009e) ret=7ed64a89 0032:Ret ntdll.wine_server_release_fd() retval=00000000 ret=7ed64a89 0032:Ret ws2_32.setsockopt() retval=00000000 ret=7e0daf8c 0032:Call ws2_32.send(00000264,048e26e0,00000262,00000000) ret=7e0d95ff ... 0032:Ret ws2_32.recv() retval=00000120 ret=7e0d9642 0032:Call KERNEL32.MultiByteToWideChar(00000000,00000000,00cfa1bc "HTTP/1.1 404 Not Found",00000017,00cfa774,000005b4) ret=7e0cbfe4 0032:Ret KERNEL32.MultiByteToWideChar() retval=00000017 ret=7e0cbfe4 ... 0032:Call KERNEL32.CreateFileA(00cfe7d0 "ps0256.patch",40000000,00000003,00cfe2fc,00000002,00000080,00000000) ret=0042198c 0032:Ret KERNEL32.CreateFileA() retval=0000027c ret=0042198c ... 0032:Call wininet.InternetReadFile(0000003b,0032f4b4,00000800,00cfe58c) ret=0043f28d 0032:Ret wininet.InternetReadFile() retval=00000001 ret=0043f28d 0032:Call KERNEL32.GetLastError() ret=0043449d 0032:Ret KERNEL32.GetLastError() retval=00000000 ret=0043449d 0032:Call KERNEL32.WriteFile(0000027c,0032f4b4,00000010,00cfe120,00000000) ret=00421516 0032:Ret KERNEL32.WriteFile() retval=00000001 ret=00421516 ... 0032:Call KERNEL32.CreateFileA(00cfe1c4 "ps0256.patch",c0000000,00000001,00cfde48,00000003,00000080,00000000) ret=0043676a 0032:Ret KERNEL32.CreateFileA() retval=0000027c ret=0043676a ... 0032:Call KERNEL32.GetFileSize(0000027c,00cfdf58) ret=0043626e 0032:Ret KERNEL32.GetFileSize() retval=00000010 ret=0043626e
0032:Call KERNEL32.SetFilePointer(0000027c,fffffff0,00cfdf4c,00000002) ret=00436124 0032:Ret KERNEL32.SetFilePointer() retval=00000000 ret=00436124 0032:Call KERNEL32.ReadFile(0000027c,006ca0f8,00000010,00cfdf60,00000000) ret=00436099 0032:Ret KERNEL32.ReadFile() retval=00000001 ret=00436099 0032:Call KERNEL32.lstrcpynA(00cfde36,006c6358 "C:\AeriaGames\Shaiya\ps0256.patch",00000104) ret=00436a60 0032:Ret KERNEL32.lstrcpynA() retval=00cfde36 ret=00436a60 0032:Call KERNEL32.GetFileTime(0000027c,00cfddf8,00cfddf0,00cfdde8) ret=00436a82 0032:Ret KERNEL32.GetFileTime() retval=00000001 ret=00436a82 0032:Call KERNEL32.GetFileSize(0000027c,00000000) ret=00436a90 0032:Ret KERNEL32.GetFileSize() retval=00000010 ret=00436a90 0032:Call KERNEL32.GetFileAttributesA(006c6358 "C:\AeriaGames\Shaiya\ps0256.patch") ret=00436aba 0032:Ret KERNEL32.GetFileAttributesA() retval=00000020 ret=00436aba ... 0032:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,00cfdf10) ret=00421d4a 0032:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b8455e1 ip=7b8455e1 tid=0032 0032:trace:seh:raise_exception info[0]=19930520 0032:trace:seh:raise_exception info[1]=00cfdf2c 0032:trace:seh:raise_exception info[2]=00452114 0032:trace:seh:raise_exception eax=7b83247d ebx=00cfe120 ecx=0000000c edx=00cfde54 esi=00cfdef4 edi=00cfdec0 0032:trace:seh:raise_exception ebp=00cfde98 esp=00cfde34 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00200202 0032:trace:seh:call_vectored_handlers calling handler at 0x6bd33476 code=e06d7363 flags=1 0032:trace:seh:call_vectored_handlers handler at 0x6bd33476 returned 0 0032:trace:seh:call_stack_handlers calling handler at 0x444aba code=e06d7363 flags=1 ... 0032:Call user32.MessageBoxA(00000000,00cfd640 "Runtime Error!\n\nProgram: C:\AeriaGames\Shaiya\updater.exe\n\n\r\nThis application has requested the Runtime to terminate it in an unusual way.\nPlease contact the application's support team for more information.\r\n",0044de10 "Microsoft Visual C++ Runtime Library",00012010) ret=0042ce86 --- snip ---
A message box is shown and dismissal results in subsequent termination/crash.
OP's terminal output shows a C++ exception too but since no context was given its hard to judge if this is the same issue.
I found a mirror for the patch here, albeit very slow download:
ftp://124.115.18.10/shaiya/patch/
ftp://124.115.18.10/shaiya/patch/ps0256.patch
Unfortunately tricking the update process into accepting this file is not easy. The updater always tries to download and overwrite any existing patch file with online content.
--- snip --- 00421979 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 0042197C 50 PUSH EAX ; pSecurity 0042197D FF75 F8 PUSH DWORD PTR SS:[EBP-8] ; ShareMode 00421980 FF75 F0 PUSH DWORD PTR SS:[EBP-10] ; Access 00421983 FF75 10 PUSH DWORD PTR SS:[EBP+10] ; FileName 00421986 FF15 E4614400 CALL DWORD PTR DS:[<&KERNEL32.CreateFileA>] --- snip ---
Run the updater process under a debugger and place a break-on-execute at 0x00421986. Ignore the first time this breakpoint is hit with 'ps0256.patch' filename argument. It will create a file with erroneous content from failed download.
The second time the breakpoint is hit copy over the good file from manual download. Hit continue/run in the debugger.
This allows the updater to continue successfully with all subsequent patches downloaded from the server.
The game client starts and login works too. Since no further info was given from OP, this bug is either 'INVALID' (broken server patch) or 'FIXED'.
Assuming 'FIXED' here since the patch problem was likely not present at that time and/or might be a temporary problem. Maybe no one bootstraps the update process with very old versions of game client nowadays ;-)
$ sha1sum Shaiya_US_Install_20100901.zip 322364a59c59766ed4e1479d148b9e4552bf45b3 Shaiya_US_Install_20100901.zip
$ du -sh Shaiya_US_Install_20100901.zip 1.4G Shaiya_US_Install_20100901.zip
$ wine --version wine-1.7.45
Regards