Hard Light Productions Forums

Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: Eiswolf on August 09, 2014, 11:00:47 am

Title: Crash by Multiplayer New Problem
Post by: Eiswolf on August 09, 2014, 11:00:47 am
When the player will change the ship FS2 crash...
This is the Error Message. How can i fixe it??? I have no any idea....


Assert: offset < max_size
File: missionscreencommon.cpp
Line: 1369

KERNELBASE.dll! IsNLSDefinedString + 3231 bytes
KERNELBASE.dll! WaitForSingleObjectEx + 139 bytes
kernel32.dll! WaitForSingleObjectEx + 67 bytes
kernel32.dll! WaitForSingleObject + 18 bytes
fs2_open_3_7_0_SSE-DEBUG.exe! <no symbol>
fs2_open_3_7_0_SSE-DEBUG.exe! <no symbol>
fs2_open_3_7_0_SSE-DEBUG.exe! <no symbol>
fs2_open_3_7_0_SSE-DEBUG.exe! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
fs2_open_3_7_0_SSE-DEBUG.exe! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
fs2_open_3_7_0_SSE-DEBUG.exe! <no symbol>
Title: Re: Crash by Multiplayer Map Ship Loadout...
Post by: AdmiralRalwood on August 09, 2014, 11:17:49 am
fs2_open_3_7_0_SSE-DEBUG.exe
Does the same problem occur with a more recent version, like 3.7.2 RC3 (http://www.hard-light.net/forums/index.php?topic=87764.0)?
Title: Re: Crash by Multiplayer Map Ship Loadout...
Post by: Eiswolf on August 10, 2014, 12:37:24 am
I´ve tested with RC3... but it is the same problem.
Is the problem the Mission there was created in FRED? Have i any errors made by create the mission in FRED?
Or is the discription of ship to long???
I have no any Ideas.

Assert: offset < max_size
File: missionscreencommon.cpp
Line: 1394

fs2_open_3_7_2_RC3-DEBUG.exe! <no symbol>
fs2_open_3_7_2_RC3-DEBUG.exe! <no symbol>
fs2_open_3_7_2_RC3-DEBUG.exe! <no symbol>
fs2_open_3_7_2_RC3-DEBUG.exe! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
fs2_open_3_7_2_RC3-DEBUG.exe! <no symbol>
<no module>! <no symbol>
fs2_open_3_7_2_RC3-DEBUG.exe! <no symbol>
Title: Re: Crash by Multiplayer Map Ship Loadout...
Post by: niffiwan on August 10, 2014, 01:44:37 am
I've tried to reproduce the bug by running a locally-hosted multiplayer mission and changing the ship classes.  So far I haven't been able to reproduce it.

The assert only occurs in one place (int store_wss_data(ubyte *block, int max_size, int sound,int player_index)) which makes tracking down a possible cause a bit easier. Just as a guess, how many ship classes and how many weapon types are available to be selected in the mission you created? 

If I'm reading the code correctly, there are two bytes per ship class, three bytes per weapon, plus a whole bunch of other mostly fixed number of bytes (4 + 12 + 12*7*3 = 268), and the sum of all that needs to be less than 482 (i.e. 512-20) or else the assert is triggered.  i.e. 107+ ships with no weapons, or 71+ weapons with no ships would seem to trigger the assert.
Title: Re: Crash by Multiplayer Map Ship Loadout...
Post by: Eiswolf on August 10, 2014, 08:01:38 am
In other Word. Too many ships and weapon are in the multiplayer mission? But in singleplayer mission i have also activated all weapons (90) and all ships (32)...
And the singleplayer mission works whitout any errors...


EDIT: It is for the Aerotech Conversion...
Title: Re: Crash by Multiplayer Map Ship Loadout...
Post by: niffiwan on August 10, 2014, 04:21:09 pm
Unfortunately multi-player has a lower limit ship/weapon limit than single player (which I didn't know about until I saw this).  It's trying to pack all the ship & weapon data into a single network 512 byte packet.  I can see some obvious efficiencies where less useless data could be added to the packet (i.e. it sends all 7 possible weapon slots for each ship when, at least in retail FS2, very few ships have all 7 banks. But even with that I don't think it'd be enough to allow all 32 ships & 90 weapons in your mod to be in a multi-player mission. The better solution would be to allow this data to be split across multiple packets.  At least I think that's what would be a good idea, someone who knows the network code better than I (like Karajorma) do may have a different idea.

In other words, for now reducing the number of types of allowed ships/weapons in the mission would be the only way to get it to work.
Title: Re: Crash by Multiplayer Map Ship Loadout...
Post by: Eiswolf on August 11, 2014, 08:46:04 am
Okay. Thx :)
This help me make my Multiplayer Mission.
I can´t C++
i can´t work with the Source Code...

Hmmm... this is eventually a proposal for a feature request for the hard working SCP Team.
Title: Re: Crash by Multiplayer Map Ship Loadout...
Post by: karajorma on August 11, 2014, 10:47:45 am
The better solution would be to allow this data to be split across multiple packets.  At least I think that's what would be a good idea, someone who knows the network code better than I (like Karajorma) do may have a different idea.

I tend to agree that would be the best way to do things. In fact that's exactly how we fixed the crash that was limiting multiplayer to 130 ships (and thereby made the normal/inferno build split unnecessary). While we could indeed limit the amount of data being sent by checking how many banks a ship has, etc, that wouldn't be much of a long term solution.
Title: Re: Crash by Multiplayer New Problem
Post by: Eiswolf on August 22, 2014, 02:10:09 pm
I have a new Problem.
A friend and I would be test Aerotech Alpha in Multiplayer.
The Mission starts and it runs.
I Host the Mission and have no Problem by my friend frozen the game after the launch.
He plays in Window Mode.
And this is the Error Message.

Could not retrieve net object for signature 256!

ntdll.dll! ZwWaitForSingleObject + 21 bytes
kernel32.dll! WaitForSingleObjectEx + 67 bytes
kernel32.dll! WaitForSingleObject + 18 bytes
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
fs2_open_3_7_2_RC3.exe! <no symbol>
kernel32.dll! BaseThreadInitThunk + 18 bytes
ntdll.dll! RtlInitializeExceptionChain + 99 bytes
ntdll.dll! RtlInitializeExceptionChain + 54 bytes

where we can fix this problem.