Run Time Error Abort

If reporting a bug with the Zeus IDE please post the details here. Please do not post questions here.
pwdiener
Posts: 134
Joined: Wed Jul 11, 2007 3:45 pm

Run Time Error Abort

Post by pwdiener »

I've gotten the error below a couple times now, doing the same thing. I was running a macro that goes to the end of the line, presses Del to combine with the line below, then move down and Home to prepare to do it again. The first time, I thought I might be pressing the replay key too quickly. This time, I told it to repeat the macro 500 times - it went for a little while, then aborted.

The message is from the Microsoft Visual C++ Runtime Library

Runtime Error!

Program: C:\Program Files\Zeus\zeus.exe

The application has requested the Runtime to terminate it in an unusual way. Pleas contact the application's support team for more information.
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

unfortunately I too have seen this abort :(

It is a very strange bug since Zeus contains exception handling to trap errors, yet this abort kick at a level below this handler and as such no stack trace produced :?

I too have only ever seen this abort when running a macro.

Since I have not been able to reproduce the error at will it is very difficult to say what is going wrong but my suspision is the problem is related to the Lua scripting module.

Do you have the Lua scripting engine set as the default engine :?:

I think if you use the Editor Options menu and select some other default scripting engine (for example Java Script) I think the problem will go away.

Cheers Jussi
pwdiener
Posts: 134
Joined: Wed Jul 11, 2007 3:45 pm

Runtime error

Post by pwdiener »

Thanks, I'll try that.

This happened to me twice, doing substntially the same thing, although I can't tell you how many iterations of the macro it took - probably between 100 and 200
amix
Posts: 49
Joined: Wed Aug 22, 2007 1:26 pm

Post by amix »

This I got as well, however, it happened twice within 10 minutes, while I was editing some Javascript macro, not while executing it! Oh wait ! It may happen via macro-execution, since I have the lineup.lua and the linedown.lua, that you posted in another topic on UP and DOWN cursors.

I also got another bug, however, Zeus did not crash this time. Instead it got trapped by the JIT-Debugger dialog, but since I have no clue how to attach the JIT-debugger in my system, I only get the trap without debugging. (I set it to give me that trap error instead of another one with XSetup-Pro or so)

It happened while I was ... oh, I forgot. I wanted to open some output, I guess Zeus' own error log. This is what I got.

Code: Select all

---------------------------------------------------------------------------
     Zeus for Windows Programmers Editor - Version 3.96i
     Copyright (c) Xidicone P/L 1993-2007.  All rights reserved.
---------------------------------------------------------------------------

[Wed Aug 22 20:47:04 2007] TRACE     "d:\work\zeus3.96\apollo\zfwhlp01.cpp" (305)     >> Unexpected error opening the 'E:\zfw\zHelp\yuiapi.zix' information file.
Nota bene: I did not try to open the CHM file, which is being referenced.
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

This I got as well, however, it happened twice within 10 minutes
From what I can tell the problem does seems usually happen when a macro is continually replayed, but it may also happen at other times.

I think there is definietly some sort of memory corruption going on.

It allso seems like by running Lua macros the problem is trigger more easily, but I am not sure if it is Lua or Zeus.

I also think it has something to do with how long Zeus has been running. I think if Zeus has been running for several days the problem has a better chance of happening.

Over the next few weeks I am going to try to track down the cause of this issue ;)
since I have the lineup.lua and the linedown.lua, that you posted in another topic on UP and DOWN cursors
You might want to re-write these macros in something like JavaScript since I do think Lua does help to trigger this issue.

In the mean time make sure you save often, as this is quite a serious bug :(

Cheers Jussi
amix
Posts: 49
Joined: Wed Aug 22, 2007 1:26 pm

Post by amix »

jussij wrote:I also think it has something to do with how long Zeus has been running.
Not here ! It happens within 15 minutes. I had about 6 crashes yesterdays in the timespan of 3 hours or even less.
Over the next few weeks I am going to try to track down the cause of this issue ;)
Poor boy ;-)
You might want to re-write these macros in something like JavaScript
I will try to find out how to do them in the C like scripting language you invented, since especially for repeated keyboard functions speed is a must.

On a sidenote: The crashes persistet after I changed the default interpreter to Javascript. So it /may/ be your Lua module (since that interprets the script)

A question: One can define a default scripting module. What does that mean ? As it seems, the scripts get interpreted by their file-extensions and not by what I have set to be default interpreter.
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

Not here ! It happens within 15 minutes. I had about 6 crashes yesterdays in the timespan of 3 hours or even less.

I have managed to find the problem :D

As was suspected there is a bug in the Lua scripting module which is triggered after about 160 Lua scripts have been executed.

This explains why after I turned off Lua as the default scripting, it took me several weeks of contant running to replicate the Zeus abort. It took me that long to run up about 160 Lua scripts executes ;)

There will hopefully be a new scriptlua.dll ready for download in the next day or so, but until then I strongly recommend not running too many Lua scripts.
A question: One can define a default scripting module. What does that mean? As it seems, the scripts get interpreted by their file-extensions and not by what I have set to be default interpreter.

The scripts do indeed get interpreted based on their file-extensions.

The default scripting module defines the language that Zeus uses when a script is recorded using the macro record menu ;)

Cheers Jussi
amix
Posts: 49
Joined: Wed Aug 22, 2007 1:26 pm

Post by amix »

jussij wrote:I have managed to find the problem :D
Rimshot! Tataaa ! Congratulations!
As was suspected there is a bug in the Lua scripting module which is triggered after about 160 Lua scripts have been executed.
That's a funny bug, imo.
There will hopefully be a new scriptlua.dll ready for download in the next day or so, but until then I strongly recommend not running too many Lua scripts.
One could write a macro, that counts execution of Lua scripts and displays the status in the status-bar ;). Or one, that pops up a dialog asking: "Do you REALLY want to run this Lua macro ? You have only 78 left."
The default scripting module defines the language that Zeus uses when a script is recorded using the macro record menu ;)
Nice implementation you have there, if I may say so :)
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

A fix for this issue can be found here: http://www.zeusedit.com/forum/viewtopic.php?t=1247

Cheers Jussi
pwdiener
Posts: 134
Joined: Wed Jul 11, 2007 3:45 pm

Run Time Error Woes continue

Post by pwdiener »

Jussi,

The scriptlua.dll patch has not made the run-time error problem go away, at least for me. I'm getting it 2-3 times a day lately, and I've made sure that the DLL is the new one.

I was not running a script at the time, nor had I been running scripts, at least not obviously. I suspect that something about looking up function prototypes for tip display is involved in the problem, but that's only a guess.

The ZeusEff.log contains "[Wed Sep 05 09:07:38 2007] ASSERT "d:\work\zeus3.96\xlib\Xcontrol.cpp" (456) >>
" - it was updated at roughly the time of the crash, although it may have been from when I brought it back up. I thought I looked at it and saw something about an error creating the minidump.

The ZeusErr.dmp is 0 bytes and was NOT updated at the time of the crash. Neither Zeus.log or Zeus.dmp were updated either.

Hope this helps - its getting frustrating. Let me know if you need any additional information.

Bill

P.S. Is there a way to attach a file to a post?
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

The scriptlua.dll patch has not made the run-time error problem go away, at least for me.

Just to check that the patch is working could you try the following:
  1. Create the following c:\temp\bug.lua file:

    Code: Select all

    function key_macro()
        screen_update_disable()
        print("\n")
        screen_update_enable()
        screen_update()
    end
    
    key_macro() -- run the macro
  2. Load the macro using the Macros, Load menu
  3. Use the File, Load menu to create a new file
  4. Hold down the key bound to the Macros, Playback menu
If you get an abort when the new file hits about the 170 line mark then the script patch is not installed or the script patch is not correct.
I was not running a script at the time, nor had I been running scripts, at least not obviously.
Which version of Zeus is shown in the About dialog :?:
Hope this helps - its getting frustrating. Let me know if you need any additional information.

Is this a random event :?:

Also you are getting the abort action (i.e Zeus disappears) and not the exception action (i.e Zeus detects a problem but keeps running) :?:

Cheers Jussi
pwdiener
Posts: 134
Joined: Wed Jul 11, 2007 3:45 pm

Run-time error

Post by pwdiener »

Jussi,

I tried this on my laptop, and was just about to quit when the error occurred. It was at line 942, so if it should have happened at 170 the situation is improved but not resolved.

I'll try it on the machine at work tomorrow (where it's been happening) and let you know, but I try to keep the configurations sync'ed.

I definitely do have 2 different DLLs (by comparing the .DLL w/ .DLL.OLD). And the .DLL matches the one in the ZIP I downloaded with the patch. Interestingly, the date on the file reverts to the date on the original DLL, not that on the patch - this led me to believe I hadn't installed the patch until I did it twice and got the same result.

This is Zeus 3.96h. It is an apparently random event, although it seems to me that on several occassions, I had just finished typing a function name and would ordinarily have seen the parameter list pop up.

Yes, it is aborting. After I click OK on the message box, Zeus goes away and any changes since the last save are lost.

Bill
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

I have managed to replicate this bug so hopefully I will have a fix for it very shortly ;)

Cheers Jussi
pwdiener
Posts: 134
Joined: Wed Jul 11, 2007 3:45 pm

Additional Info

Post by pwdiener »

Jussi,

Since you've found the problem, this might irrelevant, but the problem also occurs at work. It happenned at line 562 or so, and was accompanied by a Windows message stating that Virtual memory was too low and that it was being increased. I hadn't previously seen that message.

Bill
pwdiener
Posts: 134
Joined: Wed Jul 11, 2007 3:45 pm

Additional Info

Post by pwdiener »

Jussi,

This morning, I got a somewhat different crash. It started with the same message box (run-time error), but it then came up with a Zeus error box telling me to carefully save my file and send in a crash report and files. When I clicked OK, the box went away, then came back. This happened repeatedly - I finally killed it from Task Manager.

I've sent the requested files to you. I don't recall doing anything special at the time - I was just typing a C function header.

Hope this helps.

Bill
Post Reply