[Feel free to re-title this to something more meaningful.]
Got this error the other night:
Appears to be a local thing. Was sitting in Shrunkland alone, had to look away for a minute so I pressed ESC (if I recall correctly; could've been chat key). When I looked back the game was frozen between rounds, wouldn't take any input. After a few seconds it came back.
Since then I've experienced a few similar lock-up-type things. One instance I specifically remember involved my pulling up the menu between rounds to change colors, and having everything lock up/froze. Couldn't scroll in the menu or anything. Lasted a few seconds then came back. Haven't received any other error messages, though.
Anything of significance?
Netobject error
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6712
- Joined: Thu Dec 18, 2003 7:03 pm
Re: Netobject error
Yeah, that. It happens when a netobject (such as a cycle) is referenced by a message (such as a trail segment update referencing its owner). The read code needs to have the cycle active, it can't just leave a reference in the datastructures to be filled later (it could, but that would be what is called a 'Future' in asynchronous programming, and C++ doesn't support them directly and we'd have to bake our own). So it freezes, reading network updates, hoping one of them will contain the cycle creation. In this case, it didn't come, so it had to give up and fill the reference with some hopefully sane default.Tank Program wrote:It sounds like it could be a packet loss/temporary connection issue.
What *should* protect against this is that the server isn't even supposed to send the trail segment creation message until it has verified that the client has received the cycle creation message. It may be that instead of the cycle not having been created yet, it has long been destroyed and forgotten about by the client.
This is one of the cases where recordings are required to investigate further. Ideally, both server and client side, but client side should suffice for starters; they at least show what code is waiting for which kind of object and whether it's doing so correctly and why it has to wait in the first place.
- Phytotron
- Formerly Oscilloscope
- Posts: 5042
- Joined: Thu Jun 09, 2005 10:06 pm
- Location: A site or situation, especially considered in regard to its surroundings.
- Contact:
Re: Netobject error
Hmm, I think that's the first and only time I've gotten that specific error message, and any other kind of temporary freezing seems to be random. That is to say, I don't know how to reliably reproduce it, which is to say, don't know that I can get you a recording (without recording all the time). I'll pay more attention during my regular course of play and see if I can catch on to anything that precedes it or whatnot.
Re: Netobject error
Well, if the object the code is waiting for does arrive later, there's just a temporary freeze and no error message. Could be useful to catch a couple of temporary freezes and check them out.