Shifted Results from External
Dar Scott
dsc at swcp.com
Thu May 4 14:59:18 EDT 2006
On May 4, 2006, at 11:06 AM, Mark Wieder wrote:
>> That is, if calls are like this--f1(), g(), g(), f2(), g()--
>> at some point the data returned is that that should have been for the
>> previous call--empty, f1(), g(), g(), f2(). I have no queues in my
>> code, but it looks as if data is queued but an extra value is left in
>> or inserted at some point. (The customer also reported memory usage
>> growth.)
>
> That's indeed weird. My only guess at the moment is that one of your
> functions may be getting compiled with a different calling protocol
> than the others: it's expecting rev to clean up the stack, while rev
> looks at the protocol and thinks the function should clean it up. And
> that this function only gets called rarely, but enough to leave an
> extra value lying about on top of the stack.
Good thinking.
Everything that Rev sees is C. All the C++ is hidden.
Also, everything works fine until after a long stress.
Even then, I have trouble seeing how this might cause the symptoms.
I think this might be part of the answer but is still quite shy.
Dar
More information about the use-livecode
mailing list