Home > Archive > dBASE Bugs > November 2006 > Runtime does not quit on program error









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Runtime does not quit on program error
Paul Van House

2006-11-02, 7:14 pm

When a "program alert" error pops up in a Plus EXE when the 2.611
runtime is in use, and the user clicks the "Cancel" button on the error
dialog box, the application does not quit. In my case this is a new EXE
I'm testing and the error popped up once because of a missing .CO object
(DEO application) and the other was a table field that was missing.

The user can sometimes use windows task manager to shut down the
application. (The missing DEO .CO object error allowed closing the app
in this method)

But in many cases on my machine I've found that the program goes into
some kind of loop making it necessary to power off the machine because
nothing else, not even the task manager, can get focus. If this loop
goes on long enough I get a blue screen memory error. (The missing
table field resulted in this behavior)

I can probably get a turnkey demonstrating the more mild behavior of the
application not quitting, but I'm not sure how to trigger the looping
effect except it may have something to do with tables being open, or
being very deep into the application??

--
Paul Van House
remove "_removeme" for e-mail replies
Radio/TV Software and Baseball Stat Software:
http://www.binxsoftware.com
Family Home Page: http://vanhouse.binxsoftware.com
Marty Kay

2006-11-02, 7:14 pm

Paul,

> When a "program alert" error pops up in a Plus EXE when the 2.611
> runtime is in use, and the user clicks the "Cancel" button on the error
> dialog box, the application does not quit. In my case this is a new EXE
> I'm testing and the error popped up once because of a missing .CO object
> (DEO application) and the other was a table field that was missing.


Whether or not clicking "Cancel" triggers a Plus application exe to quit
depends
on where the error occurs.

If the error occurs in an event handler, clicking "Cancel" may simply cancel
the event handler
and return control to the main message loop. Clicking on a Form's Close
button would then
close the application.

The other thing that affects QUIT behavior is the setting for errorAction
(in the applications, .ini file).

If you can provide more detail or a test case we can dig deeper.
Also, if your code worked on an earlier version and doesn't work on the
newest version
we would like to know that.

Thanks,

- Marty Kay (dBI) -



Paul Van House

2006-11-03, 7:14 pm

In article <r62ijms$GHA.1136@news-server>, mkay@databi.com says...
> Paul,
> If the error occurs in an event handler, clicking "Cancel" may simply cancel
> the event handler
> and return control to the main message loop. Clicking on a Form's Close
> button would then
> close the application.
>
> The other thing that affects QUIT behavior is the setting for errorAction
> (in the applications, .ini file).


Marty,

I re-tested another portion of the application which required a DLL
function defined in an #include file...which for some reason is not
loading in the EXE even though there are no problems in the IDE.

Anyway, when it errors out (unable to find function) using the 2.611
runtime, I click "cancel" and it goes into the dratted loop and I had to
reboot.

I re-installed 2.5, upgraded to 2.6 (b1899), and ran the same program
again.

This time when it got to the program error (unable to find function) I
click Cancel and the form reappears and allows me to exit the form and
either continue working in the app, or quit gracefully. No OS meltdown.

Same behavior (no OS meltdown) with the new 2.60.1 patch (build 1905x)


ErrorAction is not defined in the INI so it work working with whatever
the default is

--
Paul Van House
remove "_removeme" for e-mail replies
Radio/TV Software and Baseball Stat Software:
http://www.binxsoftware.com
Family Home Page: http://vanhouse.binxsoftware.com
Marty Kay

2006-11-07, 7:16 pm

Paul,

> I re-tested another portion of the application which required a DLL
> function defined in an #include file...which for some reason is not
> loading in the EXE even though there are no problems in the IDE.
>
> Anyway, when it errors out (unable to find function) using the 2.611
> runtime, I click "cancel" and it goes into the dratted loop and I had to
> reboot.


Some problems with the QUIT command were fixed in the 2.61.1 patch.
These fixes apparently are having a side effect for your application.

Can you provide a test case that demonstrates the lockup condition.
If we can see what you are doing, we can probably tweak the QUIT behavior
to avoid the problem.


Thanks,

- Marty Kay (dBI) -


Rich - AutoTraker Inc.

2006-11-07, 7:16 pm

I'm seeing this also Marty.
I tried watering it down to a turn key with no success.
It seems the problem surfaces if the runtime can't find a procedure file.
The framewin becomes visible and a couple of cancels and you can get a
continuous loop that needs a reboot.
Rich...


"Marty Kay" <mkay@databi.com> wrote in message
news:r62ijms$GHA.1136@news-server...
> Paul,
>
>
> Whether or not clicking "Cancel" triggers a Plus application exe to quit
> depends
> on where the error occurs.
>
> If the error occurs in an event handler, clicking "Cancel" may simply
> cancel the event handler
> and return control to the main message loop. Clicking on a Form's Close
> button would then
> close the application.
>
> The other thing that affects QUIT behavior is the setting for errorAction
> (in the applications, .ini file).
>
> If you can provide more detail or a test case we can dig deeper.
> Also, if your code worked on an earlier version and doesn't work on the
> newest version
> we would like to know that.
>
> Thanks,
>
> - Marty Kay (dBI) -
>
>
>



Rich - AutoTraker Inc.

2006-11-07, 7:16 pm

"Rich - AutoTraker Inc." <dbase@autotraker.com> wrote in message
news:eipcib.2fo.1@news.alldbase.com...
> I'm seeing this also Marty.
> I tried watering it down to a turn key with no success.
> It seems the problem surfaces if the runtime can't find a procedure file.
> The framewin becomes visible and a couple of cancels and you can get a
> continuous loop that needs a reboot.
> Rich...


The form below, compile, built, and run.
When run it will throw an error because of an nonexistant CC.
If you hit cancel, the framewin becomes visible. If you hit cancel a second
time, it locks up with a 50% CPU usage. I guess its in some kind of a
continuous loop.
Note that I'm not creating an INI file or setting any error related
variables etc...
I'm still trying to duplicate the condition when it goes into a continuous
loop and forces you to reboot.

I would expect it to not display the framewin and at least quit after the
first or second cancel.
Rich...


compile test_error.wfm
build test_error.wfo to test
run(true, 'test.exe')



shell(false)

** END HEADER -- do not remove this line
//
// Generated on 11/07/2006
//
parameter bModal
local f
f = new test_errorForm()
if (bModal)
f.mdi = false // ensure not MDI
f.readModal()
else
f.open()
endif

class test_errorForm of FORM
set procedure to nowhere.cc additive
with (this)
scaleFontSize = 8.0
height = 15.55
left = 12.1667
top = 0.0
width = 45.0
text = ""
autoCenter = false
mdi = false
showTaskBarButton = false
escExit = true
maximize = false
minimize = true
useTablePopup = false
endwith

this.PUSHBUTTON1 = new PUSHBUTTON(this)
with (this.PUSHBUTTON1)
height = 1.2
left = 12.8333
top = 3.85
width = 17.8333
text = "Pushbutton1"
endwith


endclass


Marty Kay

2006-11-07, 7:16 pm

Rich,

> The form below, compile, built, and run.
> When run it will throw an error because of an nonexistant CC.
> If you hit cancel, the framewin becomes visible. If you hit cancel a
> second time, it locks up with a 50% CPU usage. I guess its in some kind of
> a continuous loop.


Thanks for the test case.
I had to press Cancel 50 to 60 times to trigger the continuous loop and the
high CPU usage
but it was enough to see the problem.

I've entered QAID: 6108 for this and I'm testing a tweaked version of the
Cancel and Quit code to handle this
case (pressing Cancel in the error dialog) more effectively.

Thanks again,

- Marty Kay (dBI) -



Bruce Beacham

2006-11-07, 7:16 pm

Marty Kay wrote:

> I've entered QAID: 6108 for this and I'm testing a tweaked version of the
> Cancel and Quit code to handle this
> case (pressing Cancel in the error dialog) more effectively.


You can also try something in the IDE. If you set more than 267
procedure files (lots of .wfm and .rep files, for instance) and then
crea form anythingnew.wfm, you will get an Insufficient Memory for This
Operation error. OK that, then try to close the form being designed.
Again an error. Then try to close PLUS. It won't close. Hit
Ctrl+Alt+Del and you will see that PLUS is using 50% of the system's
resources trying to do - something! You have to kill the PLUS process
to quit.


Bruce Beacham
Paul Van House

2006-11-07, 7:16 pm

In article <eipdiv.2jc.1@news.alldbase.com>, dbase@autotraker.com
says...
> "Rich - AutoTraker Inc." <dbase@autotraker.com> wrote in message
> news:eipcib.2fo.1@news.alldbase.com...
>
> The form below, compile, built, and run.
> When run it will throw an error because of an nonexistant CC.
> If you hit cancel, the framewin becomes visible. If you hit cancel a second
> time, it locks up with a 50% CPU usage. I guess its in some kind of a
> continuous loop.



Thanks, Rich I've not had time to even look at this problem...or even
create a turnkey. For now I'm developing/testing in 2.60.1 rather than
2.61.1


--
Paul Van House
remove "_removeme" for e-mail replies
Radio/TV Software and Baseball Stat Software:
http://www.binxsoftware.com
Family Home Page: http://vanhouse.binxsoftware.com


Rich - AutoTraker Inc.

2006-11-08, 5:42 am

Thanks Marty.
Rich...

"Marty Kay" <mkay@databi.com> wrote in message
news:pCll1toAHHA.1472@news-server...
> Rich,
>
>
> Thanks for the test case.
> I had to press Cancel 50 to 60 times to trigger the continuous loop and
> the high CPU usage
> but it was enough to see the problem.
>
> I've entered QAID: 6108 for this and I'm testing a tweaked version of the
> Cancel and Quit code to handle this
> case (pressing Cancel in the error dialog) more effectively.
>
> Thanks again,
>
> - Marty Kay (dBI) -
>
>
>



Rich - AutoTraker Inc.

2006-11-08, 5:42 am

I'm working with 2.61.1 anyway Paul.
The error condition shouldn't ever really be reached. At leaset not unless
we screw something up. <g>
Rich...


"Paul Van House" < pvanhouse1_removeMe@
houston.rr.com> wrote in message
news:MPG. 1fbac490aa8b4b919896
f7@news.dbase.com...
> In article <eipdiv.2jc.1@news.alldbase.com>, dbase@autotraker.com
> says...
>
>
> Thanks, Rich I've not had time to even look at this problem...or even
> create a turnkey. For now I'm developing/testing in 2.60.1 rather than
> 2.61.1
>
>
> --
> Paul Van House
> remove "_removeme" for e-mail replies
> Radio/TV Software and Baseball Stat Software:
> http://www.binxsoftware.com
> Family Home Page: http://vanhouse.binxsoftware.com
>
>



Paul Van House

2006-11-08, 7:15 pm

In article <eiramu.a4.1@news.alldbase.com>, dbase@autotraker.com says...
> I'm working with 2.61.1 anyway Paul.
> The error condition shouldn't ever really be reached. At leaset not unless
> we screw something up. <g>
> Rich...


Yeah, like that ever happens!
--
Paul Van House
remove "_removeme" for e-mail replies
Radio/TV Software and Baseball Stat Software:
http://www.binxsoftware.com
Family Home Page: http://vanhouse.binxsoftware.com
Marty Kay

2006-11-08, 7:15 pm

Hi Bruce,

> You can also try something in the IDE. If you set more than 267
> procedure files (lots of .wfm and .rep files, for instance) and then crea
> form anythingnew.wfm, you will get an Insufficient Memory for This
> Operation error. OK that, then try to close the form being designed.
> Again an error. Then try to close PLUS. It won't close. Hit
> Ctrl+Alt+Del and you will see that PLUS is using 50% of the system's
> resources trying to do - something! You have to kill the PLUS process to
> quit.


I've been able to reproduce the Insufficient Memory error after loading 429
procedures
into memory. However, so far, I haven't triggered the lockup that you
describe.
I recently upgraded my workstation to 1 GB of Ram. How much Ram is in your
machine?

Thanks,

- Marty Kay (dBI) -


Bruce Beacham

2006-11-08, 7:15 pm

Marty Kay wrote:
> Hi Bruce,


> I've been able to reproduce the Insufficient Memory error after loading 429
> procedures
> into memory. However, so far, I haven't triggered the lockup that you
> describe.
> I recently upgraded my workstation to 1 GB of Ram. How much Ram is in your
> machine?


1gb

It also happens on a Dell Latitude D510 with 1gb of memory and more free
memory than on my development machine. In that case the lockup doesn't
occur when trying to quit, but when I try to quit with my main app
window open (like I do in the development machine), its canClose cannot
run because of insufficient memory.

I used to find that running GetFile() after overloading procedure files
gave an out-of-memory error, but I can't reproduce that at this moment.

I also have a memory problem in the Runtime with the Dell in that
loading all those procedure files in the runtime leads to the system
unloading several of the procedure files. I haven't yet rearranged the
order of loading to see if that affects it. But that's the only
machine that happens on, yet my development machine shows no such
symptom in the runtime version of my app. And the runtime issue
doesn't occur on any other machine I've tried, including one with "only"
512mb of memory and only 100kb free.

HTH.


Bruce
Eliseo

2006-11-15, 7:32 pm

May I add a 'Me too' to this issue.
I have yesterday relased aprogram with the last 2.61.1 runtime.
During the test there was an error and I had the same problem: I cannot
quit!

Ciao
Eliseo
"Paul Van House" < pvanhouse1_removeMe@
houston.rr.com> ha scritto nel
messaggio news:MPG. 1fbbbd0baf8796bc9896
f8@news.dbase.com...
> In article <eiramu.a4.1@news.alldbase.com>, dbase@autotraker.com says...
>
> Yeah, like that ever happens!
> --
> Paul Van House
> remove "_removeme" for e-mail replies
> Radio/TV Software and Baseball Stat Software:
> http://www.binxsoftware.com
> Family Home Page: http://vanhouse.binxsoftware.com



kathy kolosky

2006-11-15, 7:32 pm

Done.

- Kathy

"Eliseo" <visca@frascati.enea.it> wrote in message
news:JmgLthMCHHA.1140@news-server...
> May I add a 'Me too' to this issue.
> I have yesterday relased aprogram with the last 2.61.1 runtime.
> During the test there was an error and I had the same problem: I cannot
> quit!
>
> Ciao
> Eliseo



Graham Monk

2006-11-24, 12:17 am

I am no expert at this, but I have been suffering badly from this problem
which did not occur before 2.6.1.1. However, if I put an 'on error' global
error trap routine at the start of my main program and in that cancel the
'on error' then 'quit' the problem does not occur quite so much! Not sure if
this is any help.

Graham



"Paul Van House" < pvanhouse1_removeMe@
houston.rr.com> wrote in message
news:MPG. 1fb3e2959eb6faf39896
f3@news.dbase.com...
> When a "program alert" error pops up in a Plus EXE when the 2.611
> runtime is in use, and the user clicks the "Cancel" button on the error
> dialog box, the application does not quit. In my case this is a new EXE
> I'm testing and the error popped up once because of a missing .CO object
> (DEO application) and the other was a table field that was missing.
>
> The user can sometimes use windows task manager to shut down the
> application. (The missing DEO .CO object error allowed closing the app
> in this method)
>
> But in many cases on my machine I've found that the program goes into
> some kind of loop making it necessary to power off the machine because
> nothing else, not even the task manager, can get focus. If this loop
> goes on long enough I get a blue screen memory error. (The missing
> table field resulted in this behavior)
>
> I can probably get a turnkey demonstrating the more mild behavior of the
> application not quitting, but I'm not sure how to trigger the looping
> effect except it may have something to do with tables being open, or
> being very deep into the application??
>
> --
> Paul Van House
> remove "_removeme" for e-mail replies
> Radio/TV Software and Baseball Stat Software:
> http://www.binxsoftware.com
> Family Home Page: http://vanhouse.binxsoftware.com



Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com