bugGnash - The GNU Flash player - Bugs: bug #19474, duplicate bitmap ids on pandora.com

 
 

bug #19474: duplicate bitmap ids on pandora.com

Submitted by:  Tomas Groth <tgc>
Submitted on:  Sat 31 Mar 2007 09:10:34 AM UTC  
 
Category: coreSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Sandro Santilli <strk>
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)

Tue 10 Apr 2007 12:24:27 PM UTC, comment #7:

Sorry, I was confused. Actually Ming confirms the duplicate
ids:

Offset: 2292 (0x08f4)
Block type: 21 (SWF_DEFINEBITSJPEG2)
Block length: 20949

CharacterId: 3

...

Offset: 645289 (0x9d8a9)
Block type: 21 (SWF_DEFINEBITSJPEG2)
Block length: 20949

CharacterId: 3

So the SWF is malformed.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 10 Apr 2007 10:53:23 AM UTC, comment #6:

Mm.. the attachement didn't work (file too big).
Anyway, some more info on the file.
The SWF has been produced by openlaszlo, and suffers
from the button events length bug already submitted to laszlo developers.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 10 Apr 2007 08:52:35 AM UTC, comment #5:

Ok, now that listswf shows character id for bitmap tags
I see there's no duplicate IDs in the SWF so the duplication
must be the result of a parser bug.
The version I'm working on is now attached.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Sun 08 Apr 2007 09:46:38 PM UTC, comment #4:

Klaus fixed Ming to not choke on the input, but
I'd also need more output for the SWF_DEFINEBITSJPEG2 and SWF_DEFINELOSSLESS tags, to confirm there are duplicate IDs used for these tags.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Mon 02 Apr 2007 07:57:09 AM UTC, comment #3:

Another problem with this SWF is that it contains a DOINITACTION
inside a DEFINESPRITE. I'd think this is malformed to, but we should check.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Sun 01 Apr 2007 10:24:34 AM UTC, comment #2:

I committed a patch that checks for the ID for being already
defined and skips definition of the new one if so.
Also warns about malformed SWF, but I dunno what the correct
behaviour would be. We'd need a testcase to check.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Sun 01 Apr 2007 09:38:25 AM UTC, comment #1:

It seems the SWF contains a duplicate character id.
What to do in these cases ?
Removing the assertion will have the second one override
the first. Doing anything more complex would need
a bit of rewrite (we still want it, as it's still using
the tu hash type).
We surely want to warn about a malformed SWF.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Sat 31 Mar 2007 09:10:34 AM UTC, original submission:

Running pandora.com (https://www.pandora.com:443/radio/tuner_7_6_0_0_pandora.swf) makes gnash fail assertion:
gnash: /home/tomas/gnash/gnash/libbase/container.h:646: void gnash::hash<T, U, hash_functor>::add(const T&, const U&) [with T = int, U = boost::intrusive_ptr<gnash::bitmap_character_def>, hash_functor = fixed_size_hash<int>]: Assertion 'find(key) == this->end()' failed.

backtrace:

#0 0x00002ab8019de665 in raise () from /lib/libc.so.6
#1 0x00002ab8019df91e in abort () from /lib/libc.so.6
#2 0x00002ab8019d8076 in __assert_fail () from /lib/libc.so.6
#3 0x00002ab7fcdca3b8 in gnash::movie_def_impl::add_bitmap_character_def (
this=0x74ffd0, character_id=3, ch=0x8cdb40)
at /home/tomas/gnash/gnash/libbase/container.h:646
#4 0x00002ab7fc425462 in gnash::SWF::tag_loaders::define_bits_jpeg2_loader (
in=<value optimized out>, tag=<value optimized out>, m=0x74ffd0)
at /home/tomas/gnash/gnash/server/swf/tag_loaders.cpp:293
#5 0x00002ab7fcdce11d in gnash::movie_def_impl::read_all_swf (this=0x74ffd0)
at /home/tomas/gnash/gnash/server/parser/movie_def_impl.cpp:883
#6 0x00002ab7fcdce319 in gnash::MovieLoader::execute (arg=0x1286)
at /home/tomas/gnash/gnash/server/parser/movie_def_impl.cpp:124
#7 0x00002ab7fda730e5 in start_thread () from /lib/libpthread.so.0
#8 0x00002ab801a6a8cd in clone () from /lib/libc.so.6
#9 0x0000000000000000 in ?? ()

Tomas Groth <tgc>

 

(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 strk (Posted a comment)
  • -unavailable- added by tgc (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 7 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 10 Apr 2007 12:24:27 PM UTCstrkStatusIn Progress=>Fixed
      Open/ClosedOpen=>Closed
    Tue 10 Apr 2007 08:52:35 AM UTCstrkStatusReady For Test=>In Progress
      Summarypandora.com makes gnash fail assertion=>duplicate bitmap ids on pandora.com
    Sun 08 Apr 2007 09:46:38 PM UTCstrkCarbon-Copy-=>Added klaus rechert
    Sun 01 Apr 2007 10:24:34 AM UTCstrkStatusNone=>Ready For Test
      Assigned toNone=>strk

    Back to the top


    Powered by Savane 3.1-cleanup1