Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host crash with mods #440

Closed
KJeff01 opened this issue Jul 11, 2019 · 6 comments

Comments

@KJeff01
Copy link
Contributor

commented Jul 11, 2019

Reports of the host crashing when trying to use mods. I don't have a method to reproduce this so far.

original post

003441B0  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  recvMapFileRequested  c:\projects\warzone2100\src\multiplay.cpp:1622
0032F412  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  frontendMultiMessages  c:\projects\warzone2100\src\multiint.cpp:3612
00336CD3  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  runMultiOptions  c:\projects\warzone2100\src\multiint.cpp:3843
00404144  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  titleLoop  c:\projects\warzone2100\src\wrappers.cpp:183
0030E50D  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  runTitleLoop  c:\projects\warzone2100\src\main.cpp:981
0030D4C2  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  mainLoop  c:\projects\warzone2100\src\main.cpp:1058
00454E0B  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  wzMainEventLoop  c:\projects\warzone2100\lib\sdl\main_sdl.cpp:2150
0030E44E  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  realmain  c:\projects\warzone2100\src\main.cpp:1393
004914BE  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  main_getcmdline  c:\projects\warzone2100\vcpkg\buildtrees\sdl2\src\ease-2.0.9-520d112c65\src\main\windows\sdl_windows_main.c:177
00491405  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  WinMain  c:\projects\warzone2100\vcpkg\buildtrees\sdl2\src\ease-2.0.9-520d112c65\src\main\windows\sdl_windows_main.c:205
004908EC  C:\Users\X\Desktop\Warzone 200 New\warzone2100-master_x86_portable\Warzone 2100 Portable-master\bin\warzone2100.exe  __scrt_common_main_seh  d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
76230419  C:\WINDOWS\System32\KERNEL32.DLL:76230419  BaseThreadInitThunk
771B662D  C:\WINDOWS\SYSTEM32\ntdll.dll:771B662D  RtlGetAppContainerNamedObjectPath
771B65FD  C:\WINDOWS\SYSTEM32\ntdll.dll:771B65FD  RtlGetAppContainerNamedObjectPath
@Forgon2100

This comment has been minimized.

Copy link
Contributor

commented Jul 11, 2019

Did you test on Windows?

This might have to do with mixing path separators for Unix and Windows
in filenames, since this causes files not being found:

Log message: info    |00:49:19: [openLoadFile:149] file mods/autoload\ARmod_3.3.0.wz could not be opened: filename is illegal or insecure
Log message: info    |00:49:19: [openLoadFile:149] Assert in Warzone: C:\projects\warzone2100\lib\framework\frame.cpp:149 (!"unable to open file"), last script event: '<none>'
@jbreija

This comment has been minimized.

Copy link

commented Jul 11, 2019

I get the above error message [openLoadFile:149] with EB mod too and it's non-fatal so I don't think that's the problem.

If the user is using the AR mod then I think the crash might be related to the download or download sync.

The AR mod is ~40 MB which is way over the "limit" for hosting. I've hosted custom maps that are only 2MB and the downloads can take up to 2 minutes and are often prone to crashing during downloading. I'm thinking a 40MB in-game transfer is almost certain to hang.

Assuming this is the problem, the solution would be to bundle the mod with the next release.

@past-due

This comment has been minimized.

Copy link
Contributor

commented Jul 11, 2019

The AR mod is ~40 MB which is way over the "limit" for hosting. I've hosted custom maps that are only 2MB and the downloads can take up to 2 minutes and are often prone to crashing during downloading. I'm thinking a 40MB in-game transfer is almost certain to hang.

The next beta will include 1d1050f, which should improve the slow map send performance.

@KJeff01

This comment has been minimized.

Copy link
Contributor Author

commented Jul 11, 2019

Did you test on Windows?

No.

Edit: Actually, I was getting this as a side effect of #336. I was testing the map Winteragony and was getting that crash, and sometimes this crash would show itself. But since #388 I don't think I can reproduce this on Linux anymore.

I will note levFindDataSet() can return nullptr... and this is the one place in the source where this is not checked for.

The AR mod is ~40 MB which is way over the "limit" for hosting. I've hosted custom maps that are only 2MB and the downloads can take up to 2 minutes and are often prone to crashing during downloading. I'm thinking a 40MB in-game transfer is almost certain to hang.

Likely what you were seeing has been improved by #392. I've heard of mods being several hundred MBs and downloading successfully.

@KJeff01

This comment has been minimized.

Copy link
Contributor Author

commented Jul 12, 2019

Alright, I tested on Windows 10 with the maps Rush and Valley (latest master). And I have a 100% crash rate on the host. Doesn't matter if the mod is in autoload or loaded via CLI with --mod_mp, still crashes.

The joiner downloads a zero byte file named with a ton of 0's.

@KJeff01

This comment has been minimized.

Copy link
Contributor Author

commented Jul 13, 2019

After more research I am inclined to believe what Forgon said is probably the cause.

Here is a sample using Ubuntu-MATE:

never   |09:54:09: [openLoadFile:144] Reading...[directory: /home/jeff/.local/share/warzone2100-master//] mods/global/ARmod_3.3.0.wz
wz      |09:54:10: [getModHashList:218] Mod[fba1fa75c8a8b30d8efd1cc758d0b5376120be2a6756f82c66a37517286cc446]: mods/global/ARmod_3.3.0.wz

And from Windows 10:

never   |09:45:53: [openLoadFile:144] Reading...[directory: (null)] mods/multiplay\EB-Mod.wz
info    |09:45:53: [openLoadFile:149] file mods/multiplay\EB-Mod.wz could not be opened: filename is illegal or insecure
info    |09:45:53: [openLoadFile:149] Assert in Warzone: C:\projects\warzone2100\lib\framework\frame.cpp:149 (!"unable to open file"), last script event: '<none>'
wz      |09:45:53: [getModHashList:218] Mod[0000000000000000000000000000000000000000000000000000000000000000]: mods/multiplay\EB-Mod.wz

Note the Reading...[directory: (null)] part in Windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.