LC 8 Random crash with QT set the filename of player on OS X

Dar Scott dsc at swcp.com
Fri Jun 3 11:46:09 EDT 2016


I'm glad I was able to (somehow) help you tinker with this.

My style is to use send in many situations and I often create send loops or I build services with callbacks.  To my brain this keeps things simple.  And it is consistent with the event model that LiveCode uses.  

Dar

> On Jun 3, 2016, at 6:57 AM, Tiemo Hollmann TB <toolbook at kestner.de> wrote:
> 
> Hi Dar,
> 
> thank you for your notions.
> I think it wasn't a real recursion, because of the user interaction in
> between, but you pointed me into the right direction.
> I now have changed one call of a command with a *send* in 1 milliseconds
> instead of a direct call and now the error is gone. Though I don't
> understand it totally what was going on, it seems to me that this "handler
> loop" chocked itself somehow and got problems with the memory, like you
> pointed out.
> You saved my weekend :)
> Tiemo
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag
> von Dar Scott
> Gesendet: Donnerstag, 2. Juni 2016 17:18
> An: How to use LiveCode <use-livecode at lists.runrev.com>
> Betreff: Re: LC 8 Random crash with QT set the filename of player on OS X
> 
> I don't think I have a very good understanding of your "loop".  
> 
> You seem to have some sort of recursion that will cause your call stack to
> grow and grow.  it looks as though 1 calls 2 which calls 1 which calls 2
> which calls 1 which calls 2 which calls....
> 
> At some point anything you do should cause a stack overflow.  This normally
> would create an error without a crash, but it might be that some operations
> assume space and will crash.  
> 
> If you don't intend the recursion, you might be able to break out the
> start-from-begining essentials of one command to be called by both commands.
> 
> 
> I'm just guessing here; I don't have a good understanding of what you are
> doing.  Since this runs fine on W10, I have a feeling that my guess is
> goofy.  
> 
> Dar
> 
> 
>> On Jun 2, 2016, at 8:38 AM, Tiemo Hollmann TB <toolbook at kestner.de> wrote:
>> 
>> Hello,
>> 
>> OS X 10.11.5, LC 8.0, IDE. Same program runs fine on Windows 10
>> 
>> I have a pretty nasty issue, where I am right now a bit clueless, in 
>> which direction I have to search. I have set the dontuseQT of  player
> "myPlayer"
>> to false because I am using old QT videos, which can't be played with AVF.
>> 
>> In a *videoPlay* handler I *set* the filename of player "myPlayer" to 
>> tVideoFile, which works fine in all situations and the video is played 
>> afterwords fine.
>> 
>> Now I have a pretty deep structure of handlers, as a kind of a loop 
>> with the modal userdialog and playing a video. The handler with the 
>> sheet/modal stack waits for some user interactions, calls the 
>> *videoPlay* handler and calls again the first handler, so that it 
>> starts from beginning. In the
>> *videoPlay* handler randomly this error occurs, when setting the 
>> filename of the player object.
>> 
>> 
>> 
>> A simplified structure looks like this:
>> 
>> command1:
>> 
>> *modal* stack myDialog
>> 
>>               command2
>> 
>> 
>> 
>> command 2:
>> 
>>               *set* the filename of player -> error
>> 
>>               command1
>> 
>>               *modal*stack myDialog
>> 
>> 
>> 
>> 
>> 
>> I have already tried to set a *wait" with messages before the *set* 
>> the filename, but it still crashes randomly.
>> 
>> As far as I can see, there are two main differences between the 
>> handler, where the issue occurs and where not. 1. The deeper structure 
>> of handlers and 2. The modal stack in between this handler "loop".
>> 
>> 
>> 
>> My feeling is that the engine choks somewhere in the "loop", but with 
>> different handler calls with/without *send* / *dispatch* I would 
>> probably mess up the "loop" structure.
>> 
>> 
>> 
>> Any idea, where to start?
>> 
>> Thanks
>> 
>> Tiemo
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 





More information about the use-livecode mailing list