2025-07-17 11:12 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000201Spring engineGeneralpublic2007-01-29 11:28
Reporteraltruist 
Assigned To 
PrioritynormalSeveritymajorReproducibilitysometimes
StatusclosedResolutionduplicate 
Product Version 
Target VersionFixed in Version 
Summary0000201: Spring sends unusually fast, large amounts of decent sized UDP packets
DescriptionFor reasons unknown to me, spring floods larger UDP packets to resync (?), usually over 500 bytes in size at a very fast rate.. sometimes to various hosts, taking over 600kbit in bandwidth.

This prevents me from receiving any data, since upstream is required for downstream, causing no syncs from all users.
Additional InformationI'm sure this isn't supposed to happen, but I think it'd help if Spring could cap the amount of data it sends to each user to a certain rate, so that way if there's a problem everyone doesn't fall out.

It appears to happen more often when I host larger games (AA). However the same error occured on NanoBlobs Mod with xenoargh, which was a 1vs1.

Link to fileuniverse for a Ethereal compatible PCAP file for debugging purposes:
http://www.fileuniverse.com/spring/springerror.pcap

There's also a forum post regarding this problem:
http://taspring.clan-sy.com/phpbb/viewtopic.php?p=87483#87483
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
duplicate of 0000166resolvedAuswaschbar Clients de-sync when dragging out large areas of build orders 
+Relationships

-Notes

~0000234

altruist (reporter)

This report was added for easier visibility and better organization in regardance to the forum post. The high severity because I think it's preventing 80% of the hosts from hosting large games. Feel free to delete this report or change it's severity.

~0000299

Jack (reporter)

I think I've run into this issue as well. I did a bit of debugging myself, which I describe in this forum post: http://taspring.clan-sy.com/phpbb/viewtopic.php?p=103258

The problem seems to be related to the client spamming a lot of NETMSG_SELECT messages, the last of which is malformed. The server then repeats these to all clients forever.

I can offer a full tcpdump of the game that includes the crash. I think that this, and altruist's pcap, may well be more useful than a demo recording as the demo recording will not exhibit the truncation caused by the limited UDP packet size, which I think is part of the problem. However I am not familiar with the Spring source, so this is just conjecture.

~0000303

Jack (reporter)

Possible new information - apparently you can trigger this bug by queuing up many buildings in one go. I had another game this evening in which this happened when one player queued up 60 ARM windmills. Again, there is a recording. Initial examination suggests that the problem was the same as last time -- i.e. a corrupt (oversized) UDP packet is sent by one client to the server, and the server then repeats that packet forever. As before, the bad packet contains repeated NETMSG_SELECT messages of size 0x15.

I suggest that there are two bugs here. First bug - that oversized packets are generated by the client. Second bug - that the server repeats them forever.

~0000413

el_matarife (reporter)

This bug is still occuring. It's very easy to repeat, all you have to do is drag out a large build queue. Easiest way to do so is with small units like mines in a SHIFT + ALT block. This basically causes all the clients to stop sending sync responses and breaks the game. It also prevents you from even selecting units. I have a replay I could attach if that would help in tracking down this bug.

~0000630

tvo (reporter)

00:00 < IaMaCuP> tobi
00:00 < IaMaCuP> i think ive worked out the spring build que no send data error thing
00:01 < IaMaCuP> basically i think if you make a massive build que that has reclaim involved aswell
00:01 < IaMaCuP> like if u build a massive build que over loads of trees
00:01 < IaMaCuP> then you cant send any data again
00:01 < IaMaCuP> fix plz :p
00:01 < IaMaCuP> because i never get it on maps like speedmetal
00:01 < IaMaCuP> but i always get it on maps like tangerene and small supreme
00:02 < IaMaCuP> when ive placed over trees

~0000631

el_matarife (reporter)

That may be it, but I have also seen it happen on Dividing Wall and Delta Siege which don't have trees.

~0000660

tvo (reporter)

dup of 0000166
+Notes

-Issue History
Date Modified Username Field Change
2006-06-14 05:14 altruist New Issue
2006-06-14 05:17 altruist Note Added: 0000234
2006-07-21 10:41 Jack Note Added: 0000299
2006-07-29 01:38 Jack Note Added: 0000303
2006-10-22 19:45 el_matarife Note Added: 0000413
2007-01-27 00:17 tvo Note Added: 0000630
2007-01-27 02:43 el_matarife Note Added: 0000631
2007-01-29 11:28 tvo Relationship added duplicate of 0000166
2007-01-29 11:28 tvo Status new => closed
2007-01-29 11:28 tvo Note Added: 0000660
2007-01-29 11:28 tvo Resolution open => duplicate
+Issue History