Quitting standalone, is this a bug?
J. Landman Gay
jacque at hyperactivesw.com
Sat May 19 11:56:51 EDT 2007
Michael Binder wrote:
> Hi Jacqueline,
> Nice work investigating this bug! Now we have three types of
> work-arounds, my "the recentcards" approach, your "explicit
> stack reference" approach, and your "set the defaultstack"
> approach. I have tested the latter in myBigComplexApp and it
> seems to work. I most prefer your "defaultstack" approach.
> Thank you so much!
No problem. I like that approach best too.
>
> Now, would you go one step further and agree that this bug
> is very serious because it causes data loss?
I've entered the bug into the Quality Control Center, but marked it as
"minor". There are specific requirements listed for rating a bug's
status, and if there is a work-around available (and we have three) then
that's the correct rating.
If you would like to add your comments, you can do it here:
<http://quality.runrev.com/qacenter/show_bug.cgi?id=4994>
>
> One other thing... I do not feel that this bug has been
> fully characterized. In the simple example that I first
> posted (and that Jacqueline tested), the bug crops up
> only when the Quit dialog is cancelled and then called up
> again. In myBigComplexApp the bug occurs on the *FIRST*
> Quit dialog. That, by the way, is how I discovered this
> bug (data loss upon quitting). I doubt that I would
> have discovered this bug if I had to Quit, Cancel, and Quit
> again to elicit it. I don't (yet) know why it behaves
> differently in myBigComplexApp. Until I do learn more
> about it, I cannot be 100% confident that the work-arounds
> will always work (but I am 99% confident in Jacqueline's
> diagnosis and work-around.
I'm pretty confident about it, I think you can implement the change
without worry. I agree that my bug report, based on my tests, may not
represent the full extent of the problem but I think it's probably
enough for the engineers to see what's going on and fix it. If you have
other examples though, it would be great if you could add them to the
report.
> If the rev engine closes a dialog stack but fails to
> remove it from memory, its mode would be zero. I don't
> see how it could also be frontmost if it is closed, but the
> behavior of the bug (usually occurring on the second dialog),
> suggests that the dialog must be loaded into memory once
> before it can cause problems. Perhaps when the dialog
> is called a second time the engine makes it frontmost
> *before* the engine changes its mode from 0 to 5. In that
> instant the dialog could become the topstack and the defaultstack.
Maybe, who knows what's going on in the engine. What I suspect is that
the engine is losing track of the defaultstack, and it may be that the
report you got about "this" stack was based on an earlier value which is
no longer valid, or else the engine is just reporting a spurious result.
By the way, I was talking to Richard Gaskin about this and he noted that
he'd seen a similar problem in his stacks with the answer dialog (not on
quitting, just in general use.) It just cropped up recently; previously
the same scripts worked fine. He thinks the bug was introduced when RR
fixed a separate window layering problem. That makes sense and fits the
data, including your observation that sometimes the problem occurs on
the first iteration of the dialog.
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list