bugGnash - The GNU Flash player - Bugs: bug #20596, Possible deadlock while running...

 
 

bug #20596: Possible deadlock while running eventSoundTest1-Runner (GST)

Submitted by:  Sandro Santilli <strk>
Submitted on:  Thu 26 Jul 2007 04:35:59 PM UTC  
 
Category: sound-gstSeverity: 5 - Blocker
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Tomas Groth <tgc>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Wed 01 Aug 2007 10:11:10 AM UTC, comment #5:

I got it to compile and committed, Please test.

Tomas Groth <tgc>In charge of this item.
Wed 01 Aug 2007 09:18:03 AM UTC, comment #4:

I finally managed to reproduce the deadlock and locate the problem, which is the following:

Main thread: We lock the mutex because we want to change the state (in stop_sound).
GST-thread: The fakesrc-callback is called and waits to get the mutex lock (which is locked by the main thread).

Main thread: Try to change the state, which seems to require an internal gst-pipeline-mutex-lock, but can't get the lock because the callback hasen't returned (because it's still waiting to get the lock on our mutex).

Result: Deadlock

Possible solution: use scoped_try_lock in the callback and return if the lock couldn't be obtained. I have some problems getting this to compile because this means the mutex must be of type try_mutex, which scoped_lock doesn't seem to accept, though it should according to (some of) the docs.

Tomas Groth <tgc>In charge of this item.
Tue 31 Jul 2007 05:04:45 PM UTC, comment #3:

It's actually getting on my nerves, as it happens a lot, prematurely interrupting 'make check'.
My suggestion is to try again, maybe in a loop, till it happens for you too.

Sandro Santilli <strk>
Project Member
Fri 27 Jul 2007 03:29:26 PM UTC, comment #2:

Not really, it's hard for me to reproduce it as well, but happens occasionally (similar to the one for rtmp tests [NetConnection related]).

Maybe a thread starts after you'd expect ?

Sandro Santilli <strk>
Project Member
Fri 27 Jul 2007 09:09:19 AM UTC, comment #1:

I can't reproduce with gtk/agg/gst. Any more details?

Tomas Groth <tgc>In charge of this item.
Thu 26 Jul 2007 04:35:59 PM UTC, original submission:

All I know is:

FAIL: Test case eventSoundTest1-Runner still running after 300 seconds, killing it (deadlock?)

On a second run it succeeded, so seems a race condition

Sandro Santilli <strk>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by tgc (Posted a comment)
  • -unavailable- added by strk (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 02 Aug 2007 02:38:29 PM UTCstrkStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Wed 01 Aug 2007 10:11:10 AM UTCtgcStatusIn Progress=>Ready For Test
    Wed 01 Aug 2007 09:18:03 AM UTCtgcStatusNone=>In Progress

    Back to the top


    Powered by Savane 3.1-cleanup1