[Bug 32214] Shaiya Online (MMORPG, Aeria Games) crashes on startup

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jun 14 09:21:53 CDT 2015


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

Anastasius Focht <focht at 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 at 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 at 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/|-||-||-||-|1434285687;
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

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