bugGnash - The GNU Flash player - Bugs: bug #39989, Assertion...

 
 

bug #39989: Assertion `(_shape1.subshapes().size() == _shape2.subshapes().size()) && (_shape2.subshapes().size() == 1)' failed.

Submitted by:  Sandro Santilli <strk>
Submitted on:  Mon 09 Sep 2013 02:19:51 PM UTC  
 
Category: parserSeverity: 5 - Blocker
Release: masterStatus: Ready For Test
Privacy: PublicAssigned to: Bastiaan Jacques <bjacques>
Open/Closed: Open

Add a New Comment (Rich MarkupRich 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)

Mon 21 Apr 2014 03:48:09 PM UTC, comment #11:

608ce8e15

This issue is so similar it makes sense to keep the same bug.

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Sat 19 Apr 2014 12:59:10 PM UTC, comment #10:

Backtrace:

lt-gtk-gnash: /usr/src/gnash/gnash-head/libcore/swf/ShapeRecord.cpp:201: void gnash::SWF::ShapeRecord::setLerp(const gn
ash::SWF::ShapeRecord&, const gnash::SWF::ShapeRecord&, double): Assertion `_subshapes.size() == 1' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff1860f77 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff1860f77 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff18645e8 in __GI_abort () at abort.c:90
#2 0x00007ffff1859d43 in __assert_fail_base (fmt=0x7ffff19b0f58 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=assertion@entry=0x7ffff4b0ac19 "_subshapes.size() == 1",
file=file@entry=0x7ffff4b0aa88 "/usr/src/gnash/gnash-head/libcore/swf/ShapeRecord.cpp", line=line@entry=201,
function=function@entry=0x7ffff4b0c860 <gnash::SWF::ShapeRecord::setLerp(gnash::SWF::ShapeRecord const&, gnash::SWF::ShapeRecord const&, double)::__PRETTY_FUNCTION__> "void gnash::SWF::ShapeRecord::setLerp(const gnash::SWF::ShapeRecord&, const gnash::SWF::ShapeRecord&, double)") at assert.c:92
#3 0x00007ffff1859df2 in __GI___assert_fail (assertion=0x7ffff4b0ac19 "_subshapes.size() == 1",
file=0x7ffff4b0aa88 "/usr/src/gnash/gnash-head/libcore/swf/ShapeRecord.cpp", line=201,
function=0x7ffff4b0c860 <gnash::SWF::ShapeRecord::setLerp(gnash::SWF::ShapeRecord const&, gnash::SWF::ShapeRecord const&, double)::__PRETTY_FUNCTION__> "void gnash::SWF::ShapeRecord::setLerp(const gnash::SWF::ShapeRecord&, const gnash::SWF::ShapeRecord&, double)") at assert.c:101
#4 0x00007ffff498ec95 in gnash::SWF::ShapeRecord::setLerp (this=this@entry=0x602a000144c0, aa=..., bb=...,
ratio=0.9440299076829175) at /usr/src/gnash/gnash-head/libcore/swf/ShapeRecord.cpp:201
#5 0x00007ffff4935b13 in gnash::MorphShape::morph (this=this@entry=0x602a000143a0)
at /usr/src/gnash/gnash-head/libcore/MorphShape.cpp:90
#6 0x00007ffff4935b36 in gnash::MorphShape::display (this=0x602a000143a0, renderer=..., base=...)
at /usr/src/gnash/gnash-head/libcore/MorphShape.cpp:64
#7 0x00007ffff49ad3e4 in gnash::DisplayList::display (this=this@entry=0x60380000ca98, renderer=..., base=...)
at /usr/src/gnash/gnash-head/libcore/DisplayList.cpp:593
#8 0x00007ffff4964669 in gnash::MovieClip::draw (this=this@entry=0x60380000c980, renderer=..., xform=...)
at /usr/src/gnash/gnash-head/libcore/MovieClip.cpp:1202
#9 0x00007ffff4964759 in gnash::MovieClip::display (this=0x60380000c980, renderer=..., base=...)
at /usr/src/gnash/gnash-head/libcore/MovieClip.cpp:1216
#10 0x00007ffff4955302 in gnash::movie_root::display (this=this@entry=0x7fffffffb210)
at /usr/src/gnash/gnash-head/libcore/movie_root.cpp:1037
#11 0x00005555555c688e in gnash::Gui::display (this=this@entry=0x60300000fa40, m=m@entry=0x7fffffffb210)
at /usr/src/gnash/gnash-head/gui/gui.cpp:794
#12 0x00005555555cab6f in gnash::Gui::advanceMovie (this=0x60300000fa40, doDisplay=doDisplay@entry=true)

Sandro Santilli <strk>
Project Member
Sat 19 Apr 2014 12:36:28 PM UTC, comment #9:

The file still crashed here, but with another assertion, not sure if I should close this an file a new one. You tell me bjacques.

The new failing assertion is:
/usr/src/gnash/gnash-head/libcore/swf/ShapeRecord.cpp:201: void gnash::SWF::ShapeRecord::setLerp(const gnash::SWF::ShapeRecord&, const gnash::SWF::ShapeRecord&, double): Assertion `_subshapes.size() == 1' failed.

Version being run:
Gnash 0.8.11dev (master-21957-c1083e3)
That's 3 commits after 2abc23e7f45

Sandro Santilli <strk>
Project Member
Fri 18 Apr 2014 09:45:11 PM UTC, comment #8:

Fixed in 2abc23e7f45.

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Fri 18 Apr 2014 08:47:11 PM UTC, comment #7:

The trouble here seems to be that at the very end of the SWF there exists a probably malformed DEFINEMORPHSHAPE, that doesn't seem to contain any shape data. Gnash currently insists that a morph shape definition must have precisely two shapes.

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Thu 16 Jan 2014 09:38:08 PM UTC, comment #6:

I see. I tried with master-21930-94fb61c and it still shows up with -r0.

Jeremiah Wilson <jeremiahpwilson>
Thu 16 Jan 2014 01:33:30 PM UTC, comment #5:

The problem was introduced this summer (June) when adding subshape support, and was not present ion 0.8.10.

Petter Reinholdtsen <pere>
Project Member
Wed 15 Jan 2014 12:56:11 AM UTC, comment #4:

The error message doesn't show up for me with 0.8.10.

Jeremiah Wilson <jeremiahpwilson>
Fri 10 Jan 2014 09:02:32 AM UTC, comment #3:

http://strk.keybit.net/tmp/gangsta_rap_se.swf

Sandro Santilli <strk>
Project Member
Fri 10 Jan 2014 08:39:03 AM UTC, comment #2:

I'm unable to find /usr/src/gnash/tests/swf6/gangsta_rap_se.swf . Any idea where it can be downloaded from?

Petter Reinholdtsen <pere>
Project Member
Mon 09 Sep 2013 02:31:18 PM UTC, comment #1:

Seems to be introduced around here:

http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=1fe4c1d27afd9fa97741df52c543382d94bc9be2

It would be very helpful to add tests for morphs.
We have a misc-ming.all/morph_test1.c which could be extended, if enough, or for complex thing we always have misc-swfmill.all

Sandro Santilli <strk>
Project Member
Mon 09 Sep 2013 02:19:51 PM UTC, original submission:

Parsing (no rendering, -r0) gangsta_rap_se.swf trigger the assertion failure.

0c570a8a78e8e48ab1cd46c85e2db352 /usr/src/gnash/tests/swf6/gangsta_rap_se.swf

It's an SWF6

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

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 18 Apr 2014 09:45:11 PM UTCbjacquesStatusNone=>Ready For Test
    Mon 09 Sep 2013 02:21:54 PM UTCstrkAssigned toNone=>bjacques

    Back to the top


    Powered by Savane 3.1-cleanup