The forum

winsock error in PlayOnMac but not on Linux

winsock: wsaErrno errno 22, (Invalid argument).

Author Replies
PlayPal Wednesday 11 May 2016 at 21:31
PlayPalAnonymous

Bonjour!

I'm fairly new to POL and wrote some scripts successfully, but now I'm stuck on a error I don't understand.

System: OSX Mavericks 10.9.5, Wine 1.7.55, 1.81, 1.9.4 - none work

Program: AION (NCLauncher.exe)

What works: AION itself runs just fine. Also the installation process is working like a charm.

Problem: NCLauncher.exe fails because it cannot connect to the update server, so launching AION only works when directly invoking POL_Wine aion.bin with parameters. On Linux the NCLauncher.exe works perfectly fine.

I don't see any difference in the wine implementation for Mac so I guess it must be a problem specific to Mac?

I'm grateful for any help. If requested I can deliver any kind of debug output from Linux (Ubuntu 14.04) and Mac.

PlayPal

PlayOnMac +winsock:

PlayOnMac: /Users/muc/Library/PlayOnMac/wineprefix/AION/drive_c/AION > export WINEDEBUG=+winsock,+wininet,+mswsock,+loaddll
PlayOnMac: /Users/muc/Library/PlayOnMac/wineprefix/AION/drive_c/AION > POL_Wine NCLauncher.exe /LauncherID:GameForge /CompanyID:11 /GameID:AION-LIVE /LUpdateAddr:update.aion.gfsrv.net
[POL_Wine] Message: Running wine- NCLauncher.exe /LauncherID:GameForge /CompanyID:11 /GameID:AION-LIVE /LUpdateAddr:update.aion.gfsrv.net (Working directory : /Users/muc/Library/PlayOnMac/wineprefix/AION/drive_c/AION)
trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin
trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\wineboot.exe" at 0x403b0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x41a90000: builtin
fixme:winediag:start_process Wine Staging 1.8 is a testing version containing experimental patches.
fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x41db0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x41f80000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x41bd0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x41b30000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x41fa0000: builtin
trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin
trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\services.exe" at 0x403b0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x426c0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x42610000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\userenv.dll" at 0x403f0000: builtin
fixme:ntdll:__syscall_NtCreateNamedPipeFile Message mode not supported, falling back to byte mode.
trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\winedevice.exe" at 0x403b0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x42510000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\ntoskrnl.exe" at 0x42090000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x425a0000: builtin
fixme:ntdll:__syscall_NtCreateNamedPipeFile Message mode not supported, falling back to byte mode.
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\mountmgr.sys" at 0x403c0000: builtin
trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\plugplay.exe" at 0x403b0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x41d10000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x41da0000: builtin
fixme:ntdll:__syscall_NtCreateNamedPipeFile Message mode not supported, falling back to byte mode.
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\shell32.dll" at 0x43010000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x434e0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x43330000: builtin
trace:loaddll:load_native_dll Loaded L"C:\\AION\\NCLauncher.exe" at 0x400000: native
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x43350000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x431e0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x41ad0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x43010000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x43710000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\shell32.dll" at 0x433f0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x43970000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x437b0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\oleaut32.dll" at 0x43a30000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\ws2_32.dll" at 0x43bd0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\comctl32.dll" at 0x43c10000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\wtsapi32.dll" at 0x403f0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\gdiplus.dll" at 0x43d90000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\mpr.dll" at 0x43ef0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\wininet.dll" at 0x43e50000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\iphlpapi.dll" at 0x43f20000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\mswsock.dll" at 0x41ae0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x43f50000: builtin
trace:winsock:DllMain 0x43bd0000 0x1 0x1
trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\explorer.exe" at 0x403b0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x426c0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x42610000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x431e0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x42760000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x43010000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x42780000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\winemac.drv" at 0x43350000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x49b40000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\shell32.dll" at 0x49820000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x49bf0000: builtin
fixme:ntdll:__syscall_NtCreateNamedPipeFile Message mode not supported, falling back to byte mode.
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\oleaut32.dll" at 0x49f30000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\actxprxy.dll" at 0x49db0000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\winemac.drv" at 0x43f80000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\uxtheme.dll" at 0x445c0000: builtin
trace:wininet:DllMain 0x43e50000,1,0x1
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\usp10.dll" at 0x44790000: builtin
trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\riched20.dll" at 0x7ac10000: builtin
trace:winsock:WSAStartup verReq=202
trace:winsock:WSAStartup succeeded starts: 1
trace:winsock:DllMain 0x43bd0000 0x2 0x0
trace:wininet:DllMain 0x43e50000,2,0x0
fixme:ver:GetCurrentPackageId (0x8bf638 0x0): stub
trace:winsock:WS_getaddrinfo "update.aion.gfsrv.net", "0" 0x32e854 -> 0x32e89c 0
trace:winsock:WS_inet_ntop family 2, addr (0x15c204), buffer (0x32e69c), len 16
trace:winsock:WS_getaddrinfo => 0x15c2e0, flags 0, family 2, type 1, protocol 6, len 16, name (null), addr { family AF_INET, address 79.110.83.91, port 0 }
trace:winsock:WS_inet_ntop family 2, addr (0x15c204), buffer (0x32e6fc), len 16
trace:winsock:WS_getnameinfo { family AF_INET, address 79.110.83.91, port 0 } 16 0x32e8b8 64 0x0 0 2
trace:winsock:WSASocketA af=2 type=1 protocol=6 protocol_info=0x0 group=0 flags=0x1
trace:winsock:WSASocketW af=2 type=1 protocol=6 protocol_info=0x0 group=0 flags=0x1
trace:winsock:WSASocketW        created 0094
trace:winsock:WSAIoctl 0094, _IOW('f', 126, 4), 0x32e7f0, 4, 0x32e7f0, 4, 0x32e7c0, 0x0, 0x0
trace:winsock:WSAIoctl -> FIONBIO (1)
trace:winsock:WS_setsockopt (socket 0094, level SOL_SOCKET, name SO_RCVBUF, optval 0x32e7f0 (0), optlen 4)
warn:winsock:WS_setsockopt SO_RCVBF for 0 bytes is too small: ignored
trace:winsock:WS_setsockopt (socket 0094, level SOL_SOCKET, name SO_SNDBUF, optval 0x32e7f0 (0), optlen 4)
warn:winsock:wsaErrno errno 22, (Invalid argument).
trace:winsock:WS_setsockopt Setting socket error, 10022
warn:winsock:wsaErrno errno 22, (Invalid argument).
trace:winsock:WS_closesocket (socket 0094) -> 0
trace:wininet:DllMain 0x43e50000,3,0x0
trace:winsock:DllMain 0x43bd0000 0x3 0x0
trace:winsock:WSACleanup pending cleanups: 0
trace:wininet:DllMain 0x43e50000,0,0x1
trace:winsock:DllMain 0x43bd0000 0x0 0x1
[POL_Wine] Message: Wine return: 0

PlayOnLinux: +winsock

trace:winsock:WS_getaddrinfo "update.aion.gfsrv.net", "0" 0x33ec5c -> 0x33eca4 0
trace:winsock:WS_getaddrinfo => 0x2051a0, flags 0, family 2, type 1, protocol 6, len 16, name (null), addr { family AF_INET, address 79.110.83.91, port 0 }
trace:winsock:WS_getnameinfo { family AF_INET, address 79.110.83.91, port 0 } 16 0x33ecc0 64 (nil) 0 2
trace:winsock:WSASocketA af=2 type=1 protocol=6 protocol_info=(nil) group=0 flags=0x1
trace:winsock:WSASocketW af=2 type=1 protocol=6 protocol_info=(nil) group=0 flags=0x1
trace:winsock:WSASocketW        created 008c
trace:winsock:WSAIoctl 008c, _IOW('f', 126, 4), 0x33ebf8, 4, 0x33ebf8, 4, 0x33ebbc, (nil), (nil)
trace:winsock:WSAIoctl -> FIONBIO (1)
trace:winsock:WS_setsockopt socket: 008c, level 0xffff, name 0x1002, ptr 0x33ebf8, len 4
warn:winsock:WS_setsockopt SO_RCVBF for 0 bytes is too small: ignored
trace:winsock:WS_setsockopt socket: 008c, level 0xffff, name 0x1001, ptr 0x33ebf8, len 4
trace:winsock:WS_setsockopt socket: 008c, level 0xffff, name 0x4, ptr 0x33ebf8, len 4
trace:winsock:WS_setsockopt socket: 008c, level 0x6, name 0x1, ptr 0x33ec08, len 4
trace:winsock:WSAIoctl 008c, _WSAIORW(IOC_WS2, 6), 0x33ebe8, 16, 0x33ebd0, 4, 0x33ebd4, (nil), (nil)
trace:winsock:WS_getaddrinfo "0.0.0.0", "0" 0x33ebd8 -> 0x33ebd4 0
trace:winsock:WS_getaddrinfo => 0x157258, flags 0x5, family 2, type 1, protocol 6, len 16, name (null), addr { family AF_INET, address 0.0.0.0, port 0 }
trace:winsock:WS_bind socket 008c, ptr 0x15c600 { family AF_INET, address 0.0.0.0, port 0 }, length 16
trace:winsock:WS_getaddrinfo "79.110.83.91", "27500" 0x33ebd8 -> 0x33ebd4 0
trace:winsock:WS_getaddrinfo => 0x157258, flags 0x4, family 2, type 1, protocol 6, len 16, name (null), addr { family AF_INET, address 79.110.83.91, port 27500 }
trace:winsock:WS2_ConnectEx socket 008c, ptr 0x15c600 { family AF_INET, address 79.110.83.91, port 27500 }, length 16, sendptr (nil), len 0, ov 0x1deae4

 

MTres19 Wednesday 18 May 2016 at 0:50
MTres19Anonymous

Unfortunately, I probably can't help with the root of the problem; that's more likely a Wine bug than a problem in your script.

That  being said, POL_Shortcut allows for adding arguments, so there could be a workaround. See http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_11:_List_of_Functions#POL_Shortcut_.284.0.2B.29

You could do something like this to get it working on Mac, maybe:

[ "$POL_OS" = "Linux" ] && POL_Shortcut "NCLauncher.exe" "$TITLE" || POL_Shortcut "aion.bin" "$TITLE" "" "<your parameters here>"
PlayPal Friday 10 June 2016 at 19:25
PlayPalAnonymous

Hi MTres19,

thank you for your input!

Unfortunately that does not help very much since the launcher is needed to get the latest patches of the game. Besides, when I tried creating a Shortcut to aion.bin manually (not in the script) PlayOnMac would not let me do it, because it expects an .exe file.

So I guess as long as the winsock issue persists with wine and Mac, I cannot provide a script for Mac to play AION.

PlayPal