… be wary of bugs under rocks.
The last couple of days have been “interesting” (especially in terms of getting any sleep here). The complex and scary stuff in Battleground Europe’s 1.29 patch has worked as you’d expect it to. But as any coder ought to expect, the little things went awry.For instance, inexplicably, host code that has been present since 1.24 started to cause crashes. The code was always bad, but somehow it appears to have been avoided by the CPUs on the hosts. This is probably down to some subtle difference in the executable generated by different versions of the Gnu C Compiler that builds the host binaries.
This manifested most peculiarly – about 3 hours after someone exited the game without despawning, one or more cell hosts would crash.
Elsewhere in the cell hosts a bad idea finally found expression: certain data fields are duplicated within some of the host data, not least being the vehicle type. There were no less than 5 different places within the set of structures describing your current vehicle (or trooper) and they all got populated at various stages of the spawning process. Finally, somehow, one of those bit us in the butt. When someone spawned a multi-crew vehicle and the driver got done spawning a whole minute before the crew the vehicle would send data about itself to the other cells. Suddenly, with 1.29, this started causing a crash because until both people were in the vehicle, the vehicle type field that the “share me” code used wasn’t populated.
These cell crashes were leading to a lot of “invisibility” issues, and I haven’t seen more than the usual stream of reports from people who just couldn’t see the other guy since.
Training instances didn’t work on the live server because eedjit here had put in a special clause that specifically excluded one additional line of code from being tested in a release candidate.
The last biggy was the chat host crashing when someone tried to leave their squad. The message describing squad actions includes a field for the callsign of the player you are operating on. Somehow, when the operation is LeaveSquad, this field wasn’t being initialized. And because of the China work I’d added extra validation to the processing of callsigns which was detecting this invalidity and causing a crash.
But the servers have now been running happily – and efficiently – for a good 8 hours so all of the above fixes seem to have taken effect.
Of course, if I’d taken Krieger’s invitation to Thanksgiving dinner tonight, that would not be the case :) The servers know I’m glued to my cell phone so they are waiting for me to close my eyes…
Now, I just need a good 24 hours sleep :)
Happy Thanksgiving from me and my microwave meal :)
7 Comments
Chasing bugs after constant sleep deprivation and several litres of coffee is no fun, had to do that on more than one occasion. At least the coffee rush is enjoyable …
I am sure there will be plenty of leftovers from Thanksgiving, so dont touch that microwave food, it’s evil stuff, you will be glowing in the dark.
Get some sleep, you have earned it.
Good work!
A good solid 24+ hours operating normally. Kinda neat sitting in the training instances watching people pop through. I hope we’re on the way placeable STOs like those training revetments etc, sandbags and such so that OICs can set up defensive positions and vary things a bit.
it sucks that ya missed thanks giving olli perhaps you should treat yourself to a good Chinese meal :)
If ya were near Alabama I would invite ya over to tase some of the wifes great cooking. We are throwing a big party today for the Alabama Auburn Football game. On the menu: Hot wings , shrimp, bacon wrapped chicken (grilled), sausages, sweedish meatballs, chile, spinache dip, BBQ pork, Texas Wontons.
hungry yet?
Im gonna weigh a ton by Christmas :)
Taze the wife’s cooking…..I read that wrong… ;)
taste :P
my laptop has some issues with my fingers :P
YTM Ollie S!