Application lockup


#1

To make a short story long :wink: :
I have a jucer-derived application with drag-drop from a list. Rather frequently, the app locks up when dropping an item to a target, looping forever in the while-loop at juce_Timer.cpp (ln 213 - 225) (I end up there when breaking execution in the debugger). I had no idea what Timer it was so I added a name to the Timer class, and I found out that it was FadeOutProxyComponent that is the culprit. First of all, it very probably is I who mess things up. Jules, what am I doing (or not doing) that might cause this lockup? (it happens about 2 out of 10 drag-drop operations).

TIA
/R


#2

You’re barking up the wrong tree there - the Timer thread is always running, so probably has nothing at all to do with it.

Look at the message thread instead, and trace what it’s doing - should be easy to see why it’s looping.


#3

[quote=“jules”]You’re barking up the wrong tree there - the Timer thread is always running, so probably has nothing at all to do with it.

Look at the message thread instead, and trace what it’s doing - should be easy to see why it’s looping.[/quote]

No barking here… but it is the loop above that is endlessly looping, and the Timer object is a FadeOutProxyComponent (related to a drag-drop operation). Not quite sure what the message thread have to do with a component fade-out function?


#4

Of course you were correct. I had two critical sections cross-accessed where the message thread was one of the threads. Handling the update via AyncUpdater solved it.

Thanks Jules for the idea.

Regards,
/R


#5