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

 
 

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

Submitter:  Sandro Santilli <strk>
Submitted:  Mon 09 Sep 2013 02:19:51 PM UTC
   
 
Category:  parser Severity:  5 - Blocker
Release:  master Status:  Fixed
Privacy:  Public Assigned to:  bjacques
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group 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>
Group Member
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>
Group 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>
Group Member
Fri 18 Apr 2014 09:45:11 PM UTC, comment #8: 

Fixed in 2abc23e7f45.

Bastiaan Jacques <bjacques>
Group Member
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>
Group Member
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>
Group 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: 
Sandro Santilli <strk>
Group 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>
Group 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>
Group 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>
Group Member

 

(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 (Posted a comment)
  • -email is unavailable- added by jeremiahpwilson (Posted a comment)
  • -email is unavailable- added by pere (Posted a comment)
  • -email is unavailable- added by strk (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
    2014-04-28 strk StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2014-04-18 bjacques StatusNone Ready For Test
    2013-09-09 strk Assigned toNone bjacques

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code