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

 
 

bug #32735: CurlStreamFile::fillCache(std::streamsize): Assertion `size >= 0' failed.

Submitted by:  Sandro Santilli <strk>
Submitted on:  Thu 10 Mar 2011 01:27:25 PM UTC  
 
Category: coreSeverity: 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.

 

Fri 11 Mar 2011 03:44:05 PM UTC, comment #5:

I confirm the commit fixes the assertion failure.
Now, did we have a bug already about the video not playing ? (as the "loading" widget keeps turning and the log file is flooded by ERRORs about seeking and caching)

Sandro Santilli <strk>
Project Member
Fri 11 Mar 2011 03:03:47 PM UTC, comment #4:

Attempted fix in 1163866db47b0177d0dd894dc5e50ccc5cf9734b.

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Thu 10 Mar 2011 11:17:33 PM UTC, comment #3:

Yes, it is another integer overflow bug.

An std::streampos argument is implicitly converted to an std::streamsize; streampos is a compound type with 64-bit precision, but streamsize is a simple 32-bit signed integer.

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Thu 10 Mar 2011 10:29:20 PM UTC, comment #2:

Another backgrace, this time with code built with -O0 and -fstack-protector-all:

30358:3] 23:22:13 ERROR: MediaParserFfmpeg couldn't parse input format: tried to seek at negative offset -9223372036854299469.
lt-gtk-gnash: ../../gnash-git/libbase/curl_adapter.cpp:613: void gnash::<unnamed>::CurlStreamFile::fillCache(std::streamsize): Assertion `size >= 0' failed.
---Type <return> to continue, or q <return> to quit---

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb7549b70 (LWP 30366)]
0x0012d422 in __kernel_vsyscall ()
(gdb) bt
#0 0x0012d422 in __kernel_vsyscall ()
#1 0x014ee651 in *__GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0x014f1a82 in *__GI_abort () at abort.c:92
#3 0x014e7718 in *__GI___assert_fail (assertion=0xcf0e19 "size >= 0",
file=0xcf0df0 "../../gnash-git/libbase/curl_adapter.cpp", line=613,
function=0xcf2500 "void gnash::<unnamed>::CurlStreamFile::fillCache(std::streamsize)") at assert.c:81
#4 0x00cbc57d in fillCache (this=0x8755580, size=-728780528)
at ../../gnash-git/libbase/curl_adapter.cpp:613
#5 0x00cc0049 in seek (this=0x8755580, pos=...)
at ../../gnash-git/libbase/curl_adapter.cpp:1164
#6 0x00bf55a0 in gnash::media::ffmpeg::MediaParserFfmpeg::seekMedia (
this=0x8443000, offset=3566186768, whence=0)
at ../../gnash-git/libmedia/ffmpeg/MediaParserFfmpeg.cpp:561
#7 0x00bf391e in gnash::media::ffmpeg::MediaParserFfmpeg::seekMediaWrapper (
opaque=0x8443000, offset=3566186768, whence=0)
at ../../gnash-git/libmedia/ffmpeg/MediaParserFfmpeg.cpp:59
#8 0x020e1c35 in ?? () from /usr/lib/i686/cmov/libavformat.so.52

Sandro Santilli <strk>
Project Member
Thu 10 Mar 2011 01:31:49 PM UTC, comment #1:

Program terminated with signal 6, Aborted.
#0 0x007dc422 in __kernel_vsyscall ()
(gdb) bt
#0 0x007dc422 in __kernel_vsyscall ()
#1 0x08448651 in *__GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0x0844ba82 in *__GI_abort () at abort.c:92
#3 0x08441718 in *__GI___assert_fail (assertion=0x3c3158 "size >= 0",
file=0x3ce5d4 "../../gnash-git/libbase/curl_adapter.cpp", line=613,
function=0x3cf020 "void gnash::<unnamed>::CurlStreamFile::fillCache(std::streamsize)") at assert.c:81
#4 0x003a85ec in fillCache (this=0x9495d00, size=6)
at ../../gnash-git/libbase/curl_adapter.cpp:613
#5 0x003a874b in seek (this=0x9495d00, pos=...)
at ../../gnash-git/libbase/curl_adapter.cpp:1164
#6 0x0019872b in gnash::media::ffmpeg::MediaParserFfmpeg::seekMedia (
this=0x9587000, offset=6939, whence=0)
at ../../gnash-git/libmedia/ffmpeg/MediaParserFfmpeg.cpp:561
#7 0x00198b32 in gnash::media::ffmpeg::MediaParserFfmpeg::seekMediaWrapper (
opaque=0x9587000, offset=3566186768, whence=0)
at ../../gnash-git/libmedia/ffmpeg/MediaParserFfmpeg.cpp:59
#8 0x01a1dc35 in ?? () from /usr/lib/i686/cmov/libavformat.so.52

Sandro Santilli <strk>
Project Member
Thu 10 Mar 2011 01:27:25 PM UTC, original submission:

The assertion failure happens pointing a 32bit system to this url: http://www.youtube.com/watch?v=le9kYqIAtjY

With master-19991-f07c4e9

Will try to get a backtrace

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 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 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 11 Mar 2011 03:44:05 PM UTCstrkStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Fri 11 Mar 2011 03:03:47 PM UTCbjacquesStatusConfirmed=>Ready For Test
      Assigned toNone=>bjacques
    Thu 10 Mar 2011 10:29:20 PM UTCstrkStatusNone=>Confirmed

    Back to the top


    Powered by Savane 3.1-cleanup1