Isn't properly out of the bins
by Harvey Greensall · in Torque Game Engine · 12/14/2008 (5:46 am) · 1 replies
Hi chaps,
I'm sure some of you will already be rolling your eyes and saying "No, not again!" when you see the phrase "isn't properly out of the bins!" and I have spent some time trawling the forums for fixes, but many of those posts are years old and may not still be completely relevant.
I'll explain our problem, when it arises and post some of the errors we're experiencing. If ANYONE can shed some light on this we would be profoundly thankful... as our game is now live on Steam!
The problem seems to be occuring when players attempt to join a multiplayer game already in progress, rather than joining a game via the lobby. We included this feature to permit players to come and go during MP games, so if starting players leave you can always have new players join to fill the gaps. Unfortunately though it seems there is an issue with mid-game joining that wasn't present during our Beta Testing for some bizarre reason.
Basically if a player attempts to join a game that is already running, their loading bar often gets to about 80% and they can hear the battle going on and then... ...they crash to desktop. Obviously a very bad situation for us as it can only damage the reputation of our game!
I have managed to get a number of players who have this problem to post me their console.logs and in every case the last entries look like this:-
Error, a Debris (221367c8) isn't properly out of the bins!
My thinking was that this is something to do with particles (debris maybe a giveaway), so I setup some specific tests. I had several guys enter a game and sit still, not destroying anything and then had some other guys try entering. As if by magic... they could get in. Great! I said, thinking I'd narrowed it down to a specific problem I could then go and look at more closely. But as I clicked on exit game I then got dumped to desktop myself for the first time ever... checked my own console.log and had... about 500 errors!!! And yes, our old friend:-
Error, a DecalManager (4150c48) isn't properly out of the bins!
Error, a GameBase (22d35530) isn't properly out of the bins!
Error, a Sky (21a7ed50) isn't properly out of the bins!
Error, a fxSunLight (2122b140) isn't properly out of the bins!
Error, a TerrainBlock (18a27720) isn't properly out of the bins!
Error, a WaterBlock (1798b5b0) isn't properly out of the bins!
Error, a SFXEmitter (be706a8) isn't properly out of the bins!
Error, a fxFoliageReplicator (22135a68) isn't properly out of the bins!
Error, a StaticShape (2123ec30) isn't properly out of the bins!
Error, a ParticleEmitterNode (22d40c40) isn't properly out of the bins!
Obviously that is the concise version as there were literally... hundreds and hundreds of these. If there is ANYONE who can point me in the right direction... ...then I would be eternally grateful!!!
Bizarrely these errors never surfaced during weeks of Beta and QA testing and have NOW reared their ugly heads!!!
Many thanks in advance
Simon at Stickman (logged in as Harvey)
I'm sure some of you will already be rolling your eyes and saying "No, not again!" when you see the phrase "isn't properly out of the bins!" and I have spent some time trawling the forums for fixes, but many of those posts are years old and may not still be completely relevant.
I'll explain our problem, when it arises and post some of the errors we're experiencing. If ANYONE can shed some light on this we would be profoundly thankful... as our game is now live on Steam!
The problem seems to be occuring when players attempt to join a multiplayer game already in progress, rather than joining a game via the lobby. We included this feature to permit players to come and go during MP games, so if starting players leave you can always have new players join to fill the gaps. Unfortunately though it seems there is an issue with mid-game joining that wasn't present during our Beta Testing for some bizarre reason.
Basically if a player attempts to join a game that is already running, their loading bar often gets to about 80% and they can hear the battle going on and then...
I have managed to get a number of players who have this problem to post me their console.logs and in every case the last entries look like this:-
Error, a Debris (221367c8) isn't properly out of the bins!
My thinking was that this is something to do with particles (debris maybe a giveaway), so I setup some specific tests. I had several guys enter a game and sit still, not destroying anything and then had some other guys try entering. As if by magic... they could get in. Great! I said, thinking I'd narrowed it down to a specific problem I could then go and look at more closely. But as I clicked on exit game I then got dumped to desktop myself for the first time ever... checked my own console.log and had... about 500 errors!!! And yes, our old friend:-
Error, a DecalManager (4150c48) isn't properly out of the bins!
Error, a GameBase (22d35530) isn't properly out of the bins!
Error, a Sky (21a7ed50) isn't properly out of the bins!
Error, a fxSunLight (2122b140) isn't properly out of the bins!
Error, a TerrainBlock (18a27720) isn't properly out of the bins!
Error, a WaterBlock (1798b5b0) isn't properly out of the bins!
Error, a SFXEmitter (be706a8) isn't properly out of the bins!
Error, a fxFoliageReplicator (22135a68) isn't properly out of the bins!
Error, a StaticShape (2123ec30) isn't properly out of the bins!
Error, a ParticleEmitterNode (22d40c40) isn't properly out of the bins!
Obviously that is the concise version as there were literally... hundreds and hundreds of these. If there is ANYONE who can point me in the right direction...
Bizarrely these errors never surfaced during weeks of Beta and QA testing and have NOW reared their ugly heads!!!
Many thanks in advance
Simon at Stickman (logged in as Harvey)
Torque Owner Mike Rowley
Mike Rowley
// Depressingly, this can give weird results if its pointing at bad memory... if(pool[j].object != NULL) Con::warnf("Error, a %s (%x) isn't properly out of the bins!", pool[j].object->getClassName(), pool[j].object); // If you're getting this it means that an object created didn't // remove itself from its container before we destroyed the // container. Typically you get this behavior from particle // emitters, as they try to hang around until all their particles // die. In general it's benign, though if you get it for things // that aren't particle emitters it can be a bad sign! }This comes from the container distructor code.
The only other place I found this error in the code is in sceneGraph.cc
Hope that helps a little