bugGnash - The GNU Flash player - Bugs: bug #21804, /server/character.cpp:838: virtual...

 
 

bug #21804: /server/character.cpp:838: virtual void gnash::character::destroy(): Assertion `isUnloaded()' failed.

Submitter:  Sandro Santilli <strk>
Submitted:  Fri 14 Dec 2007 10:45:48 PM UTC
   
 
Category:  None Severity:  5 - Blocker
Release:  None Status:  Fixed
Privacy:  Public Assigned to:  zoulunkai
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 07 Jan 2008 09:56:10 AM UTC, comment #10: 

I fixed the leak by always setting _unloaded to true on ::destroy() already. The same setting fixed this bug btw.

Sandro Santilli <strk>
Group Member
Mon 07 Jan 2008 09:47:52 AM UTC, comment #9: 


Tests described in this item are already fixed.

But it is said there are memory leaks in bug #21377. I cann't access swfs in that item, so cann't verify it.

Zou Lunkai <zoulunkai>
Sat 05 Jan 2008 01:49:30 AM UTC, comment #8: 

I belive we fixed the assertion failure and the memory leak that assertion was guarding against, right ?

Sandro Santilli <strk>
Group Member
Tue 18 Dec 2007 08:43:32 AM UTC, comment #7: 


> What about adding an optional boolean parameter to unload() ?


That's the next step. The difficulty with new_child_in_unload.c is we haven't find any envidence that the new child is unloaded. We can swap it, we can draw on it. So, we should still face the question: why do you want to unload it? Or how do you know it's already unloaded before destroyed?

BTW, we cann't swap normal unloaded chracters(already tested). You might want to make a copy of that test and do more checks whatever you like.


Zou Lunkai <zoulunkai>
Tue 18 Dec 2007 07:16:25 AM UTC, comment #6: 

What about adding an optional boolean parameter to unload() ?

  unload(bool queueUnloadEvents=true)



Sandro Santilli <strk>
Group Member
Tue 18 Dec 2007 01:02:18 AM UTC, comment #5: 


> Zou, the question is should we invoke/queue onUnload event
> handlers in these childs when destroyed due to destruction of
> parent ?


No, we don't want to invoke onUnload event handler in the focused tests. That's why I remove the assertion, not to just fix this bug item. I think the assertion there is conceptually not correct(based on tests and the actions ordering model).




Zou Lunkai <zoulunkai>
Mon 17 Dec 2007 11:13:55 AM UTC, comment #4: 

Zou, the question is should we invoke/queue onUnload event handlers  in these childs when destroyed due to destruction of parent ?
That's one of the reasons for the assertion to be there.

Sandro Santilli <strk>
Group Member
Mon 17 Dec 2007 07:48:28 AM UTC, comment #3: 

BTW, both the tests I committed and bwy's testfile are not timeline control related. There's no gotoFrame or loopback in my committed tests.

Zou Lunkai <zoulunkai>
Mon 17 Dec 2007 05:38:07 AM UTC, comment #2: 

I think we should just remove the assertion.

It's possible to destroy an character before unload it. And it's possible that an unloaded parent has an normal child.

eg.

in a unload event handler, if we do this:

this.createEmptyMovieClip('newChild', depth);

then, 'this' sprite would create an normal(not unloaded) character as it's child. And the child itself won't have a chance to queue its own unload event handler again nor be unloaded later. But it should be destroyed when its parent got destroyed.

I'll commit a test for this.


Zou Lunkai <zoulunkai>
Sat 15 Dec 2007 10:19:19 AM UTC, comment #1: 

I've attached another SWF that fails this assertion.

(file #14631)

Benjamin Wolsey <bwy>
Group Member
Fri 14 Dec 2007 10:45:48 PM UTC, original submission:  


This is playing kimpossible.swf (swf6)
md5: c0e6f76900ec377881bc0b00ec7a01b1

Advance to second screen, then fall down the rope
the game is restarted with kim failing to hit the ground
(keeps falling down under the ground)
till the assertion fails.

Sandro Santilli <strk>
Group Member

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #14631:  whaleflash.swf added by bwy (382KiB - application/x-shockwave-flash)

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    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 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-01-07 strk StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2008-01-05 strk StatusIn Progress Ready For Test
    2007-12-17 zoulunkai StatusNone In Progress
        Assigned toNone zoulunkai
    2007-12-15 bwy Attached File- Added whaleflash.swf, #14631
    2007-12-14 strk Carbon-Copy- Added zoulunkai

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code