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: Fixed
Privacy: PublicAssigned to: Bastiaan Jacques <bjacques>
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)

Mon 28 Apr 2014 04:47:04 PM UTC, comment #12:

Fix confirmed, as of 0eda8017de798ccb156d2bc5d78fc5d862f15a76
Thanks!

Sandro Santilli <strk>
Project Member
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 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 28 Apr 2014 04:47:04 PM UTCstrkStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    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-cleanup1