bugGnash - The GNU Flash player - Bugs: bug #26839, assertion "!...

 
 

bug #26839: assertion "! ch->unloaded()" failed: file "DisplayList.cpp", line 685, function "void gnash::DisplayList::display()"

Submitter:  Jeremy C. Reed <reedjc>
Submitted:  Thu 18 Jun 2009 04:00:46 PM UTC
   
 
Category:  ActionScript Severity:  3 - Normal
Release:  trunk Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Sat 10 Mar 2012 04:08:00 PM UTC, comment #3: 

Well, assertion failed was fixed...

Sandro Santilli <strk>
Group Member
Mon 02 Aug 2010 06:07:46 AM UTC, comment #2: 

The assertion doesn't fail any more due to some improvements in the DisplayList, but that's not because unloading is implemented correctly.

Benjamin Wolsey <bwy>
Group Member
Mon 22 Jun 2009 08:32:29 PM UTC, comment #1: 

The assertion failure is due to a double call to DisplayObject::unload which in turn is due to a particular
use of MovieClipLoader.loadClip().

I've tested that loadClip() should NOT call onUnload() at all
while it does within gnash. Also, I've tested that loadClip
with an unloaded target should still work.

First step to deal with this should be reproducing the bug
with a reduced testcase. Not sure how easy it would be.

The idea of using a "proxy DisplayObject" for loading purposes
might make dealing with this easier.

Sandro Santilli <strk>
Group Member
Thu 18 Jun 2009 04:00:46 PM UTC, original submission:  

http://olc.scouting.org/courses/ypt/english/yptBase.swf?upgradePage=upgrade.
html&euid=&marker=&courseid=23


Training video at myscouting.org. It never played anything. After about 30 seconds it did:

assertion "! ch->unloaded()" failed: file "DisplayList.cpp", line 685,
function "void gnash::DisplayList::display()"

#0  0x00007f7ffabdb90a in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007f7ffabdb1e2 in abort () from /usr/lib/libc.so.12
#2  0x00007f7ffaba19f0 in __assert13 () from /usr/lib/libc.so.12
#3  0x00007f7ffd25ca4e in gnash::DisplayList::display
(this=0x7f7ff29b6180)
    at DisplayList.cpp:685
#4  0x00007f7ffd207d07 in gnash::MovieClip::display (this=0x7f7ff29b6000)
    at MovieClip.cpp:1429
#5  0x00007f7ffd25c91a in gnash::DisplayList::display
(this=0x7f7ff34b8d80)
    at DisplayList.cpp:720
#6  0x00007f7ffd207d07 in gnash::MovieClip::display (this=0x7f7ff34b8c00)
    at MovieClip.cpp:1429
#7  0x00007f7ffd1f4a80 in gnash::movie_root::display (
    this=<value optimized out>) at movie_root.cpp:1135
#8  0x000000000046181d in gnash::Gui::display (this=0x7f7ff3438140,
    m=0x7f7fffffcd80) at gui.cpp:783
#9  0x0000000000465f12 in gnash::Gui::advanceMovie (this=0x7f7ff3438140)
    at gui.cpp:983
#10 0x0000000000479ca9 in gnash::Gui::advance_movie (gui=0x1) at gui.h:240
#11 0x00007f7ffbb359bb in g_source_get_current_time ()
   from /usr/pkg/lib/libglib-2.0.so.0
#12 0x00007f7ffbb352b2 in g_main_context_dispatch ()
   from /usr/pkg/lib/libglib-2.0.so.0
#13 0x00007f7ffbb384fd in g_main_context_check ()
   from /usr/pkg/lib/libglib-2.0.so.0
#14 0x00007f7ffbb387f6 in g_main_loop_run () from
/usr/pkg/lib/libglib-2.0.so.0
#15 0x00007f7ffc431222 in gtk_main () from
/usr/pkg/lib/libgtk-x11-2.0.so.0
#16 0x00000000004772ae in gnash::GtkGui::run (this=<value optimized out>)
    at gtk.cpp:263
#17 0x0000000000470430 in gnash::Player::run (this=0x7f7fffffd1a0,
    argc=<value optimized out>, argv=0x7f7fffffd2d0,
    infile=<value optimized out>, url=<value optimized out>) at
Player.cpp:482
#18 0x0000000000456585 in main (argc=34, argv=0x7f7fffffd2d0) at
gnash.cpp:480


Got this failure with gtk-gnash when using full URL and in firefox.

Off-list I was told somebody else was able to reproduce with  gnash 11133.

strk on the list said:

"I've tracked this down to a character
(_level0.contentContainer.preloadContainer) which gets "unloaded" twice.
It seems to originate from an onUnload user-defined AS function
making the old (unloaded) character still referenceable at time
of a MovieClipLoader.loadClip() call.

There should be now the extremes to reproduce an offending SWF
in smaller scale."


Jeremy C. Reed <reedjc>

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bjacques (Updated the item)
  • -email is unavailable- added by strk (Posted a comment)
  • -email is unavailable- added by bwy (Updated the item)
  • -email is unavailable- added by reedjc (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-03-10 strk Open/ClosedOpen Closed
    2011-03-08 bjacques StatusConfirmed Fixed
    2009-06-18 bwy CategoryNone ActionScript
        StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code