bugGnash - The GNU Flash player - Bugs: bug #21647, Crash when removing clips?

 
 

bug #21647: Crash when removing clips?

Submitted by:  None
Submitted on:  Mon 26 Nov 2007 08:03:56 AM UTC  
 
Category: NoneSeverity: 3 - Normal
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.

 

 Spam posted by an anonymous
 Spam posted by an anonymous
Tue 27 Nov 2007 10:25:39 AM UTC, comment #5:

The code for the HelloWorld7.swf is this:

--
import arctic.Arctic;
import arctic.ArcticView;
import arctic.ArcticBlock;

class HelloWorld {
static public function main() {
new HelloWorld(flash.Lib.current);
}

public function new(parent : ArcticMovieClip) {
// To make a screen, first build the data structure representing the
contents
var helloWorld = Arctic.makeSimpleButton("Hello world", remove,
50);

// Then construct the arctic view object
arcticView = new ArcticView( helloWorld, parent );
// And finally display on the given movieclip
var root = arcticView.display(true);
}
public function remove() {
// Clear out the screen
arcticView.destroy();
}
public var arcticView : ArcticView;
}
--

Install haXe, and do "haxelib install arctic" and then go to
/usr/lib/haxe/lib/arctic/0.9.7/examples and use DevArcticExamples.hxml to
compile the program.

You can see the code that does the construction and destruction of the
MovieClips in the arctic/ArcticView.hx file.

The destruction is code like this:

for (m in movieClips) {
m.removeMovieClip();
}

All clips are thus removed, from parent first to the children afterwards
(which might not be the best to do this, but that's what it does.)

Sandro Santilli <strk>
Project Member
Tue 27 Nov 2007 08:35:05 AM UTC, comment #4:

Added zou, who may help producing the testcase...

Sandro Santilli <strk>
Project Member
Mon 26 Nov 2007 09:56:23 PM UTC, comment #3:

the segfault is fixed for now, with no unexpected failure in our testusite. But I failed to provide a testcase reproducing it.

Sandro Santilli <strk>
Project Member
Mon 26 Nov 2007 02:06:42 PM UTC, comment #2:

Does the original submitter have the actual sourcecode ?

Sandro Santilli <strk>
Project Member
Mon 26 Nov 2007 08:09:55 AM UTC, comment #1:

Looks like an infinite recursion:

#0 0x00002b8026b2f270 in malloc () from /lib64/libc.so.6
#1 0x00002b80263eb51d in operator new () from /usr/lib64/libstdc++.so.6
#2 0x00002b8024421e04 in std::_Rb_tree<gnash::as_object, gnash::as_object, std::_Identity<gnash::as_object>, std::less<gnash::as_object>, std::allocator<gnash::as_object*> >::_M_insert (this=0x7fff8633d0e0, __x=0x0, __p=0x7fff8633d0e8,
__v=@0x7fff8633d140)
at /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.2.2/../../../../include/c++/4.2.2/ext/new_allocator.h:91
#3 0x00002b8024421eed in std::_Rb_tree<gnash::as_object, gnash::as_object, std::_Identity<gnash::as_object>, std::less<gnash::as_object>, std::allocator<gnash::as_object*> >::_M_insert_unique (this=0x7fff8633d0e0, __v=@0x7fff8633d140)
at /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.2.2/../../../../include/c++/4.2.2/bits/stl_tree.h:990
#4 0x00002b802442104b in gnash::as_object::findProperty (
this=<value optimized out>, key=712, nsname=<value optimized out>, owner=0x0)
at /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.2.2/../../../../include/c++/4.2.2/bits/stl_set.h:307
#5 0x00002b80244216e6 in gnash::as_object::get_member_default (this=dwarf2_read_address: Corrupted DWARF expression.
)
at as_object.cpp:104
#6 0x00002b8024456382 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2340
#7 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d2e8) at as_value.cpp:1440
#8 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#9 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#10 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d3e8) at as_value.cpp:1440
#11 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#12 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#13 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d4e8) at as_value.cpp:1440
#14 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#15 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#16 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d5e8) at as_value.cpp:1440
#17 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#18 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#19 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d6e8) at as_value.cpp:1440
#20 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#21 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348

(etc)

Benjamin Wolsey <bwy>
Project Member
Mon 26 Nov 2007 08:03:56 AM UTC, original submission:

I tried to run some more haXe code. Unfortunately, it crashes reliably - it seems to happen when you remove clips. See the attached HelloWorld7.swf which is from Arctic. Click on the button, and there you get the crash.

Arctic is found here:
http://code.google.com/p/arctic/

Anonymous

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #14485:  HelloWorld7.swf added by None (22KiB - application/x-shockwave-flash)
file #14486:  bugs8.swf added by None (23KiB - application/x-shockwave-flash)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by strk (original reporter)
  • -unavailable- added by strk
  • -unavailable- added by strk (Posted a comment)
  • -unavailable- added by bwy (Posted a comment)
  •  

    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
    Tue 29 Jan 2008 11:33:55 AM UTCstrkStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Tue 27 Nov 2007 10:25:39 AM UTCstrkCarbon-Copy-=>Added "asger ottar alstrup"
    Tue 27 Nov 2007 08:35:05 AM UTCstrkCarbon-Copy-=>Added zoulunkai
    Mon 26 Nov 2007 09:56:23 PM UTCstrkStatusConfirmed=>Ready For Test
    Mon 26 Nov 2007 08:15:57 AM UTCbwyStatusNone=>Confirmed
    Mon 26 Nov 2007 08:03:56 AM UTCNoneAttached File-=>Added HelloWorld7.swf, #14485
      Attached File-=>Added bugs8.swf, #14486

    Back to the top


    Powered by Savane 3.1-cleanup1