2025-06-24 00:02 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0003950Spring engineGeneralpublic2013-11-01 12:29
Reportersilentwings 
Assigned Toabma 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionunable to reproduce 
Product Version94.1 
Target VersionFixed in Version 
Summary0003950: spring crash because of "invalid packets"
Descriptioninfolog, translated stacktrace & my best guess at the problem is here:

http://springrts.com/phpbb/viewtopic.php?f=44&t=30835
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
related to 0003953resolvedabma Player stats are almost never displayed correctly at the end of the game 
related to 0003826resolvedabma I can't view a replays from replays website 
related to 0003804resolvedjK [f=0000000] Error: Discarding invalid packet: ID 7, LEN 25 
related to 0003752closedKloot keyframe lost problem for all players 
+Relationships

-Notes

~0011332

silentwings (reporter)

i think its not related but the function it crashes in is duplicated symbol for symbol right next to each other!

https://github.com/spring/spring/blob/94.1/rts/Lua/LuaSyncedRead.cpp#L1200
https://github.com/spring/spring/blob/94.1/rts/Lua/LuaSyncedRead.cpp#L1223

~0011333

jamerlan (reporter)

at least "return" lines are different in these functions. But yeah.. equal names = fail :-D

~0011334

jamerlan (reporter)

No! Different functions!
First one have "s" at the end of the name

~0011335

abma (administrator)

http://springrts.com/wiki/Lua_SyncedRead#RulesParams

Spring.GetTeamRulesParam
 ( number teamID, number index | string ruleName ) -> nil | number value | string value

Spring.GetTeamRulesParams
 ( number teamID ) -> nil | { [ruleIndex1] = {[ruleName1] = number | string value1}, ... }

Param vs Params... looks correct for me.

~0011336

Kloot (developer)

Nothing in that code jumps out to me as being wrong or dangerous to call after game-over, and a few quick 1v1 SP test games did not trigger a crash so the conditions for it must be pretty specific.

~0011337

abma (administrator)

from infolog.txt:
http://springrts.com/phpbb/download/file.php?id=8271

[f=0036892] <autoquit> Autoquit canceled.
[f=0036892] Error: Discarding incoming invalid packet: ID 115, LEN -2
[...]

-> game ended (and the 94.1 bug with invalid packets)

then:
[f=0036896] Error: Unknown net msg received, packet code is 55. A likely cause of this is network instability, which may happen in a WLAN, for example.
[f=0036896] Error: Got invalid LuaMsg: Invalid player number
[f=0036896] Error: Got invalid player num 48 in alliance msg
[f=0036896] Error: Got invalid player num 111 in ai state changed msg
[f=0036896] User exited
[f=0036896] Error: Spring 94.1 (OMP) has crashed.

i guess one of these messages set something to an invalid state which leads to the crash at shutdown.

maybe with the demo it is reproduceable, the stacktrace looks invalid for me.

~0011338

abma (administrator)

(feedback because demo needed)

~0011340

silentwings (reporter)

Last edited: 2013-08-20 10:48

View 3 revisions

Found a little bit more info - the same guy posted a second infolog on another thread where an identical crash occured mid-game, but without the invalid packets: http://springrts.com/phpbb/viewtopic.php?f=44&t=30827#p546399. Also afaik the problem is specific to that player.

~0011352

abma (administrator)

hmm, didn't crash for me:

[f=0036890] <autoquit> Automatically exiting in 5 seconds. Move mouse to cancel.
[f=0036896] Warning: Discarding packet with invalid player number in demo: ID 7, LEN 7
[f=0036896] Warning: Discarding packet with invalid player number in demo: ID 2, LEN 50
[f=0036896] Warning: Discarding packet with invalid player number in demo: ID 5, LEN 4
[f=0036896] Warning: Discarding packet with invalid player number in demo: ID G, LEN 4
[f=0036896] End of demo reached

looks like the packet isn't in the demo, so this becomes really interesting:

Discarding incoming invalid packet: ID 115, LEN -2

~0011913

silentwings (reporter)

Last edited: 2013-10-31 13:42

View 2 revisions

Was there any progress on this? It happens (for everyone, afaik) at the end of every autohosted BA game with 94.0/1 so would be great to have it fixed in 95 ;)

~0011916

abma (administrator)

the "Discarding packet" is fixed for a long time, but the crash isn't fixed. but as we can't reproduce it, no change needed.
+Notes

-Issue History
Date Modified Username Field Change
2013-08-19 19:35 silentwings New Issue
2013-08-19 19:46 silentwings Note Added: 0011332
2013-08-19 20:44 jamerlan Note Added: 0011333
2013-08-19 20:47 jamerlan Note Added: 0011334
2013-08-19 20:51 abma Note Added: 0011335
2013-08-19 22:02 Kloot Note Added: 0011336
2013-08-19 23:32 abma Note Added: 0011337
2013-08-19 23:32 abma Status new => feedback
2013-08-19 23:32 abma Note Added: 0011338
2013-08-20 10:45 silentwings Note Added: 0011340
2013-08-20 10:45 silentwings Status feedback => new
2013-08-20 10:48 silentwings Note Edited: 0011340 View Revisions
2013-08-20 10:48 silentwings Note Edited: 0011340 View Revisions
2013-08-20 16:21 abma Relationship added related to 0003953
2013-08-21 16:57 abma Summary crash after game is over, BA 7.80 => spring crash because of "invalid packets"
2013-08-21 21:34 abma Note Added: 0011352
2013-10-31 13:41 silentwings Note Added: 0011913
2013-10-31 13:42 silentwings Note Edited: 0011913 View Revisions
2013-10-31 20:16 abma Note Added: 0011916
2013-10-31 20:16 abma Status new => resolved
2013-10-31 20:16 abma Resolution open => unable to reproduce
2013-10-31 20:16 abma Assigned To => abma
2013-11-01 12:21 abma Relationship added related to 0003804
2013-11-01 12:23 abma Relationship added related to 0003826
2013-11-01 12:29 Kloot Relationship added related to 0003752
+Issue History