View Full Version : Girder freezing on startupat ScriptEnable
Agonostis
February 24th, 2006, 11:50 AM
Hi,
After a heavy day of girdering, i often find that girder will freeze on startup, with the event light yellow, and showing "ScriptEnable" in the bottom left corner.
A reboot fixes the problem, is there any way to get girder back without a reboot? A hard script engine reset or something?
Ron
February 24th, 2006, 12:39 PM
Kill Girder in the task manager, I have seen this on rare occasions and am looking for the cause of this.
Agonostis
February 24th, 2006, 12:47 PM
I do that, and it still freezes while trying to open my GML's the enxt time I launch it. It takes a reboot before I can get it to load.
If it helps, i think it is related to Lua Mutex errors I get after a hard day of girdering (almost certainly my own code's fault, but hard to track down).
Ron
February 24th, 2006, 12:51 PM
Do you have the X10 Generic Remote installed? If so kill the x10nets.exe... This bug is caused by crappy programming by our friends at x10.
Agonostis
February 24th, 2006, 12:54 PM
No, I don't. I wish it were that easy!
What does a reboot do that killing Girder doesn't do? Anything I can fuss with in the registry to clear it's mind?
Ron
February 24th, 2006, 12:58 PM
Have a close look at the task manager anything there that might be the cause of this? What plugins are you using?
Agonostis
February 24th, 2006, 01:04 PM
I'm currently working on an OSD project that makes heavy use of Luacom, especially the XMLDom object. I use the code posted in the HTML Logger project thread, with some minor modifications to read/write from an HTML file. I am able to develop on and off for about 8 hours usually before I get the Lua Mutex Blocked error.
Then I have to kill the task in task manager. When I try and launch again, it freezes while opening my GMLs, with the ScriptEnable event stuck in the lower left.
I can't get girder to successfully launch again until I reboot. I can't reboot this computer during the day-time hours, so I'm stuck 'til tomorrow unless I can figure out a way to "hard reset" girder the same way a reboot does.
I'm guess it has to do with assorted LuaCom trash remaining in memory until the reboot?
Ron
February 24th, 2006, 01:05 PM
That would be my guess too. I'll think about it if I come up with something I'll post here.
Promixis
February 24th, 2006, 02:09 PM
I'm currently working on an OSD project that makes heavy use of Luacom, especially the XMLDom object. I use the code posted in the HTML Logger project thread, with some minor modifications to read/write from an HTML file. I am able to develop on and off for about 8 hours usually before I get the Lua Mutex Blocked error.
Then I have to kill the task in task manager. When I try and launch again, it freezes while opening my GMLs, with the ScriptEnable event stuck in the lower left.
I can't get girder to successfully launch again until I reboot. I can't reboot this computer during the day-time hours, so I'm stuck 'til tomorrow unless I can figure out a way to "hard reset" girder the same way a reboot does.
I'm guess it has to do with assorted LuaCom trash remaining in memory until the reboot?
what activex control? likely you just need to know which process it is and kill it too....
how are you closing things up when doing a script reset?
Agonostis
February 27th, 2006, 11:07 AM
I am using only the XMLDom object.
Please, please, please advise me how to fix this. Rebooting my computer day-time is not an option, and I hate not being able to use girder after I get this problem.
Promixis
February 27th, 2006, 11:48 AM
I am using only the XMLDom object.
Please, please, please advise me how to fix this. Rebooting my computer day-time is not an option, and I hate not being able to use girder after I get this problem.
can you show some of you code?
are you closing everything when done with it?
do you get an error during the script reset or is it after the reset?
Agonostis
February 27th, 2006, 12:19 PM
The code is copied nearly verbatim from the "HTML Logging" thread.
The problem comes when I write some bad code, and the object does not get to close properly before I kill Girder in the task manager.
I don't get an error, Girder just freezes, and it's during the ScriptEnable.
All I need to know if how to clear Girder's brain without a reboot. You mentioned killing a process somewhere, how do I find and kill the process of the (probably frozen) XMLDom object?
Promixis
February 27th, 2006, 12:30 PM
Still want to know more where the error is occuring...
so the reset happens, script enable comes in. then it locks? can you put print statements around the luacom stuff and see if that is what is locking it?
killing xmldom is not a good idea (not even sure what process it is).
I would prefer we find a way to close things properly.
look at adding a callback for script reset.
use:
local f = function ()
-- cleanup here
end
gir.AddScriptResetHandler (f)
Agonostis
February 27th, 2006, 12:44 PM
I'm not sure I'm communcating exactly what the problem is...
Basically, I have some code, shamefully stolen from the forum here. It's basic outline is the following:
1. If my XMLDom object does not exist, create it.
2. Read my XML file into a table
3. nil the XMLDom object and GC.
Now, normally, this works fine. However, I've been tinkering with step 2. Sometimes, I do dumb things, like write "<" when i mean ">" or something like it. I get into an endless loop, and Girder stops responding. I have to end task in the task manager, and step 3 never gets to happen.
Even if I knew where to write the print statements, I would not be able to see the output. Girder **freezes entirely** immediately after i double-click it's icon to try starting it again. The only thing i can do with it is kill it (again) in the task manager. Any subsequent attempts to start Girder meet with the same ill fate. I'm stuck not using Girder until I can reboot the machine.
Then I reboot, and girder loads fine. I script away happily, until i make a foolish mistake, and repeat the entire cycle.
Promixis
February 27th, 2006, 12:54 PM
ok, but you can print around the create object code to see if this is where girder is getting stuck.
what is happening is girder cannot close up properly and its likely leaving the dom object in a bad state. I cannot see a way around this.
birty
February 27th, 2006, 12:54 PM
if all you want to do is read in an xml file, modify it then write it back to a file then lxp will be much more efficient and reliable
Agonostis
February 27th, 2006, 01:18 PM
Can you give an example of how to write to an XML file with lxp?
birty
February 27th, 2006, 01:31 PM
you cant directly (as far as i know) but writing an xml file manually is not difficult
Promixis
February 27th, 2006, 03:44 PM
Can you give an example of how to write to an XML file with lxp?
what do you want to do with it once you write it?
with lxp, you can convert to a lua table and then write the table out to a file very easily..
tell us more about what you are doing :D
Powered by vBulletin® Version 4.1.8 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.