bugGnash - The GNU Flash player - Bugs: bug #20036, deadlock on lulu.tv main page

 
 

bug #20036: deadlock on lulu.tv main page

Submitted by:  Bastiaan Jacques <bjacques>
Submitted on:  Fri 01 Jun 2007 12:09:58 PM UTC  
 
Category: ActionScriptSeverity: 5 - Blocker
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

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

 

(Jump to the original submission Jump to the original submission)

Fri 01 Jun 2007 11:37:57 PM UTC, comment #8:

Confirmed and checked in. Hooray!

Bastiaan Jacques <bjacques>
Project Member
Fri 01 Jun 2007 10:24:47 PM UTC, comment #7:

Ok, i've attached a patch which hopefully fixes the deadlock, and (of course) brings world peace. The correct solution is of course (as you know) to redesign NetStream, but for now i just removed the attach-to-soundhandler-code from startPlayback(). You'll need to revert the other patch first.

(file #12926)

Tomas Groth <tgc>
Fri 01 Jun 2007 08:01:28 PM UTC, comment #6:

The strange sequence of events in this SWF results in the audio callback (audio_streamer) being active before startPlayback() is called (unpauseDecoding()?). This causes the audio handler to block in sdl_audio_callback because aux_streamer has to wait for NetStreamFfmpeg's decoding_mutex. However, the decoding_mutex will never be released because startPlayback(), which calls attach_aux_streamer(), has to wait for sdl_audio_callback to release its lock on the audio mutex.

I guess a clean solution here would be to detach_aux_streamer more appropriately...

Bastiaan Jacques <bjacques>
Project Member
Fri 01 Jun 2007 07:09:36 PM UTC, comment #5:

and by "I'm not hitting a deadlock" I mean I am hitting a deadlock...

Bastiaan Jacques <bjacques>
Project Member
Fri 01 Jun 2007 07:08:19 PM UTC, comment #4:

With the attached patch, this is progressing, but we're not there yet. I'm not hitting a deadlock in startPlayback(). startPlayback() calls attach_aux_streamer(), which blocks forever.

I'm not yet sure why. It's not so easy to reproduce, I have to restart Gnash about five times before I get the deadlock.

(file #12925)

Bastiaan Jacques <bjacques>
Project Member
Fri 01 Jun 2007 04:00:27 PM UTC, comment #3:

I've to say I'm not being able to reproduce this bug, with current head and gtk/agg/ffmpeg. Run trough the plugin..
I think I saw it one, but is not consistent, so seems time-related.

Sandro Santilli <strk>
Project Member
Fri 01 Jun 2007 12:45:08 PM UTC, comment #2:

Yes, checking if the URL matches, and in that case return true seems to be an easy fix. As discussed earlier what really should happen is that the old connection is closed etc. and a new one is made. But let's postpone that part to 0.8.1 since i have a feeling that could be a not-so-easy-fix, and we are yet to find a reallife example doing that.

Tomas Groth <tgc>
Fri 01 Jun 2007 12:37:35 PM UTC, comment #1:

Set to blocker, being a regression.
I introduced it, btw.
What about checking if the URL matches, and in that case return true ?

Sandro Santilli <strk>
Project Member
Fri 01 Jun 2007 12:09:58 PM UTC, original submission:

The video on the lulu.tv main page loads fine. The progress bar shows that the whole movie is loaded. But when I press play, a black screen is shown, and when I hide/unhide the window, a gray window is shown (but the plugin doesn't crash), so we must be locked somewhere.

The output from the plugin is as follows:

11080] 14:03:18: SECURITY: Load from host http://www.lulu.tv granted (default).
11080] 14:03:18: ERROR: NetConnection::openConnection() called when already connected to a stream. Should we close the old stream and open a new one?.
11080] 14:03:18: ERROR: Gnash could not open movie: http://static.lulu.tv//wp-content/video/2/flash/4059/1161972654.flv
11080] 14:03:18: DEBUG: av_streamer: !ns->startPlayback, returning

I am guessing this is due to openConnection() returning false if the requested connection already exists.

Bastiaan Jacques <bjacques>
Project Member

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #12926:  luluobsd.patch added by tgc (5KiB - text/x-patch)
file #12925:  fixes.diff added by bjacques (4KiB - application/octet-stream)

 

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 (Posted a comment)
  • -unavailable- added by bjacques (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 8 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 01 Jun 2007 11:37:57 PM UTCbjacquesStatusNone=>Fixed
      Assigned tostrk=>None
      Open/ClosedOpen=>Closed
    Fri 01 Jun 2007 10:24:47 PM UTCtgcAttached File-=>Added luluobsd.patch, #12926
    Fri 01 Jun 2007 07:08:19 PM UTCbjacquesAttached File-=>Added fixes.diff, #12925
      Summarystreaming video on lulu.tv main page fails to play=>deadlock on lulu.tv main page
    Fri 01 Jun 2007 12:37:35 PM UTCstrkSeverity4 - Important=>5 - Blocker
    Fri 01 Jun 2007 12:09:58 PM UTCbjacquesCarbon-Copy-=>Added tgc

    Back to the top


    Powered by Savane 3.1-cleanup1