Shifted Results from External

Mark Wieder mwieder at
Thu May 4 13:06:26 EDT 2006


Wednesday, May 3, 2006, 1:36:01 PM, you wrote:

> However, in the customer's environment which includes another
> external of mine that runs a customer supplied ActiveX module  
> something strange happens after a while.  Based on the data from the
> customer, it looks like the results from system calls are shifted off
> by one.  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.

-Mark Wieder
 mwieder at

More information about the Use-livecode mailing list