1.5 Content Demo1 - fxShapeReplicator lockup
by Paul Jan · in Torque Game Engine · 10/26/2006 (10:37 pm) · 44 replies
I start the 1.5 fps demo, load the Content Demo 1, then enter the editor and select a fxShapeReplicator object. Torque then locks up "not responding".
#22
03/06/2007 (8:40 am)
Thanks Allyn, that gives me something more to look for. . . will get back to ya
#23
You don't know how annoying it is to have to tweak settings for this things in the IDE, and only seeing the results by loading up the game over,"tweak" and over,"Tweak" and over again.
03/06/2007 (9:55 am)
Np, if you get this fixed, youll be my new best friend.You don't know how annoying it is to have to tweak settings for this things in the IDE, and only seeing the results by loading up the game over,"tweak" and over,"Tweak" and over again.
#24
Are you able to get the same freeze, every time, even on lower count replicators?
*EDIT*- As painful as it was, I dropped down into debug to attempt the 10K tree render, two smoke breaks and 1 soda later, the application finally unfroze and gave me this:
[(null): 1576] - Could not find satisfactory position for shape 'starter.fps/data/shapes/trees/FTREE01.DTS' on Client!
I might be heading down the wrong path, could have nothing to do with your bug, but I can't get it to reach the point of non-return.
03/06/2007 (10:33 am)
Weird...I still can't get it to completely freeze...I can however make it hang long enough that it seems to freeze by bumping the ShapeCount field past 10000, clicking off, then clicking back on. It eventually returns, but it chews through memory and barely recovers.Are you able to get the same freeze, every time, even on lower count replicators?
*EDIT*- As painful as it was, I dropped down into debug to attempt the 10K tree render, two smoke breaks and 1 soda later, the application finally unfroze and gave me this:
[(null): 1576] - Could not find satisfactory position for shape 'starter.fps/data/shapes/trees/FTREE01.DTS' on Client!
I might be heading down the wrong path, could have nothing to do with your bug, but I can't get it to reach the point of non-return.
#25
engine\game\fx\fxShapeReplicator.cc
What's interesting, is this function is called every time you click on a shape replicator.
Breakdown:
Every time you select an object, then unselect it, WorldEditor calls inspectPostApply for whatever object was clicked.
Both DestroyShapes and CreateShapes have a FOR loop which iterates ShapeCount times. More over, a seeded do/while (haven't seen one of those in a while (= ) is in the CreateShapes for loop.
My best guess is that we aren't freezing or crashing, we are just waiting for a process to finish.
If you are experiencing the same type of freeze with a low count shapeReplicator, then I could be completely wrong, but this the best I could find so far.
I'm gonna keep drilling and see what I might be able to come up with to alleviate the hang time.
03/06/2007 (10:58 am)
Every problem seems to happen in this function:engine\game\fx\fxShapeReplicator.cc
void fxShapeReplicator::CreateShapes(void)
What's interesting, is this function is called every time you click on a shape replicator.
Breakdown:
Every time you select an object, then unselect it, WorldEditor calls inspectPostApply for whatever object was clicked.
void fxShapeReplicator::inspectPostApply()
{
// Set Parent.
Parent::inspectPostApply();
// Renew Shapes.
[b]RenewShapes(); // Uh oh (MP comment, not GG[/b]
// Set Replication Mask.
setMaskBits(ReplicationMask | advancedStaticOptionsMask);
}
void fxShapeReplicator::RenewShapes(void)
{
// Destroy any shapes.
DestroyShapes(); [b] // Destroys all the shapes held by the replicator...and...[/b]
// Don't create shapes on the Server if we don't need interactions.
if (isServerObject() && !mFieldData.mInteractions) return;
// Create Shapes.
CreateShapes(); [b]//.....Creates them again[/b]
}Both DestroyShapes and CreateShapes have a FOR loop which iterates ShapeCount times. More over, a seeded do/while (haven't seen one of those in a while (= ) is in the CreateShapes for loop.
My best guess is that we aren't freezing or crashing, we are just waiting for a process to finish.
If you are experiencing the same type of freeze with a low count shapeReplicator, then I could be completely wrong, but this the best I could find so far.
I'm gonna keep drilling and see what I might be able to come up with to alleviate the hang time.
#26
Starter.fps kit => locks up ,all shapereplicators, all shapes
all the missions in that kit =>freeze also, no mather what you do , make a replicator click something else , return to that replicator => freeze.
However .. in the interactive demo there is no problem !! You can make shaperecplicators and all works as it should be. Strange ....
And finaly when you start up the tutorialbase ==> no problem !! fxshapereplicator works !.... ?
Racing.starter kit ==> freeze the same as the starter.fps kit
03/06/2007 (11:02 am)
This is something i found out.Starter.fps kit => locks up ,all shapereplicators, all shapes
all the missions in that kit =>freeze also, no mather what you do , make a replicator click something else , return to that replicator => freeze.
However .. in the interactive demo there is no problem !! You can make shaperecplicators and all works as it should be. Strange ....
And finaly when you start up the tutorialbase ==> no problem !! fxshapereplicator works !.... ?
Racing.starter kit ==> freeze the same as the starter.fps kit
#27
No engine modifications, just recompiled.
Do you get any console output?
How long do you let it sit there before you kill the app?
03/06/2007 (11:12 am)
Just tried that Charles, no freeze for me at all....I tried replicating the freeze every way mentioned on this thread, in all mods, in both debug and release, from the engine and from the executable.No engine modifications, just recompiled.
Do you get any console output?
How long do you let it sit there before you kill the app?
#28
03/06/2007 (11:39 am)
This happens for me, even with 10 shapes/images. (this also affects the foliage)
#29
Last time , making tea etc. about 5 min i think before killing it.
And it gives always the same result .
Very strange.
Here is console output , last part...
Compiling creator/newObject.cs...
Loading compiled script creator/newObject.cs.
TSStatic::onAdd: no shape name!
[ff] - Could not load shape file ''!
TSStatic::onAdd: no shape name!
[ff] - Could not load shape file ''!
TSStatic::onAdd: no shape name!
[(null)] - Could not load shape file ''!
Exporting client prefs
Exporting client config
Exporting server prefs
Exporting client prefs
Exporting server prefs
CDROP: 1553 IPX:30330076:697369626C65:26948
Shutting down the OpenGL display device...
Making the GL rendering context not current...
Deleting the GL rendering context...
Releasing the device context...
This is the interactive demo , nothing wrong here.
Wil test the starter.fps.kit in a minute.
03/06/2007 (11:43 am)
For me just a clean compile to, no engine mods also.Last time , making tea etc. about 5 min i think before killing it.
And it gives always the same result .
Very strange.
Here is console output , last part...
Compiling creator/newObject.cs...
Loading compiled script creator/newObject.cs.
TSStatic::onAdd: no shape name!
[ff] - Could not load shape file ''!
TSStatic::onAdd: no shape name!
[ff] - Could not load shape file ''!
TSStatic::onAdd: no shape name!
[(null)] - Could not load shape file ''!
Exporting client prefs
Exporting client config
Exporting server prefs
Exporting client prefs
Exporting server prefs
CDROP: 1553 IPX:30330076:697369626C65:26948
Shutting down the OpenGL display device...
Making the GL rendering context not current...
Deleting the GL rendering context...
Releasing the device context...
This is the interactive demo , nothing wrong here.
Wil test the starter.fps.kit in a minute.
#30
Real simple process: place breakpoints in your code, locations specified by me. You'll let me know how far you get while code stepping until the freeze occurs.
Since I can't get the freeze to happen on my machine, we can debug your builds and probably come up with a solution relatively quick...ish... =)
How about it?
03/06/2007 (11:55 am)
Well, seems like we have one possible option left...joint collaboration via remote debugging.... I could use your help on this Allyn, and Charles...Real simple process: place breakpoints in your code, locations specified by me. You'll let me know how far you get while code stepping until the freeze occurs.
Since I can't get the freeze to happen on my machine, we can debug your builds and probably come up with a solution relatively quick...ish... =)
How about it?
#31
Just got the content demo 1 work ,strange, but only 1 time , the second time ==> freeze , i don't understand it !.
Deleted the dso's , put the demo in a window and no problems.
Started it up again and ==> freeze after touching the replicators.!!
Tell me what to do .
Charles
03/06/2007 (12:22 pm)
Well i could help for about 1 hour before i go to bed. Got to get up about 4u30 am :(Just got the content demo 1 work ,strange, but only 1 time , the second time ==> freeze , i don't understand it !.
Deleted the dso's , put the demo in a window and no problems.
Started it up again and ==> freeze after touching the replicators.!!
Tell me what to do .
Charles
#32
i don't mess with the c++ , i can help by observing, or testing any exe you send me however.
03/06/2007 (12:34 pm)
I'm not a coder =(i don't mess with the c++ , i can help by observing, or testing any exe you send me however.
#33
03/06/2007 (12:38 pm)
Ok, I'd like to send you two my .exe to see if you still get the same freeze. Send me an email at mich.perry@gmail.com, if you are interested.
#34
03/06/2007 (12:47 pm)
Also, what compilers do you two use?
#35
But this is my last observation...
All done with the demo content 1 pack.
Start up in full screen ==> freeze when touching a shapereplicator.
Kill it, start up again , start miss (content demo 1) push ctrl-o (options) put it in a window ==> NO MORE freeze !!!.
Leave Torque, start it up again, start same miss. ==> FREEZE !!
Kill it, start it up again, start miss, push ctrl-o , put it again full screen , ==> NO MORE freeze !!!
So basicly it seems when you go from full screen to windowed mode no more freeze UNTILL you give it a fresh start.
Then you have to do the opposite to continue working.
Very strange.
Charles
03/06/2007 (12:51 pm)
Ok , wil do that.But this is my last observation...
All done with the demo content 1 pack.
Start up in full screen ==> freeze when touching a shapereplicator.
Kill it, start up again , start miss (content demo 1) push ctrl-o (options) put it in a window ==> NO MORE freeze !!!.
Leave Torque, start it up again, start same miss. ==> FREEZE !!
Kill it, start it up again, start miss, push ctrl-o , put it again full screen , ==> NO MORE freeze !!!
So basicly it seems when you go from full screen to windowed mode no more freeze UNTILL you give it a fresh start.
Then you have to do the opposite to continue working.
Very strange.
Charles
#36
Can compile it , but that's it :)
Charles
03/06/2007 (12:53 pm)
Microsoft Visual Studio .NET 2003Can compile it , but that's it :)
Charles
#37
@Allyn - I sent the email to the address listed in your profile.
03/06/2007 (1:02 pm)
I've emailed you both the new .exe. It was compiled in Visual Studio 2005 Standard, which I think is going to make a difference. @Allyn - I sent the email to the address listed in your profile.
#38
The new exe works fine, no more problems now.
Now i have to get visual 2005 :(
Thank you very much Michael :)
Charles
03/06/2007 (1:15 pm)
Ok , that did it .The new exe works fine, no more problems now.
Now i have to get visual 2005 :(
Thank you very much Michael :)
Charles
#39
I only ask, because my real exe for my game is modded, so i would need to get my programmer to fold this in...and i'm sure the rest of the community would like to know.
=)
Great work if it works!
03/06/2007 (1:17 pm)
I haven't tested it yet (at work), but what did you change? what was the issue? I only ask, because my real exe for my game is modded, so i would need to get my programmer to fold this in...and i'm sure the rest of the community would like to know.
=)
Great work if it works!
#40
As Charles had mentioned, he is using .net 2003. My compiler is VS 2005. That can make a big, big difference when two identical code-bases are compiled.
When I get home, I'm going to try this on my .net 2003 compiler, and my VS 2005 PRO compiler and see what other crazy results I can get. If and when I discover the final solution, I will post the fix and forward it to the GG staff. I know not everyone wants to drop their current compiler, but I do recommend you work in 2005 now that it's available.
More to come...
03/06/2007 (1:27 pm)
After numerous tests and trying different scenarios (as I stated above), there was only one variable that might be the difference between my build and your builds.As Charles had mentioned, he is using .net 2003. My compiler is VS 2005. That can make a big, big difference when two identical code-bases are compiled.
When I get home, I'm going to try this on my .net 2003 compiler, and my VS 2005 PRO compiler and see what other crazy results I can get. If and when I discover the final solution, I will post the fix and forward it to the GG staff. I know not everyone wants to drop their current compiler, but I do recommend you work in 2005 now that it's available.
More to come...
Torque Owner AllynMcelrath
Simply placing the replicate doesn't make the bug, you need to place it, and assign the texture/object. You can move it all day long or change the setting until you unselect the object, reselecting the object causes the crash, and errors in the console log point to it attempting to "re-fined" the assist in question and failing hard.
I think this has to do with the changes from 1.4, where you would HAVE to hit apply to affect any changes to the selected object. however in 1.5, selecting, changing and moving to any other field in the inspector will "update" the object, in this case, simply selecting the replicate seems to make it "update" any supposed changes, and it fails when trying to find the (already assigned, and rendering) asset.
My other hunch, is that its attempting to re-find the terrain for placement, and the terrain changes (square size of less then 8, working with water now) is causing a hang up, as the initial replication seems to be find, but it may be choking on this "update" terrain finding ..maybe because it finds the same value already there based on the seed, and chokes,
I'm not coder, but those are my findings.