GNOME Bugzilla – Bug 336370
[asfdemux] crashes on an assertion in gst_asf_demux_get_var_length
Last modified: 2008-11-15 20:08:23 UTC
With totem-gstreamer 1.4.0-0ubuntu2 gstreamer0.10-plugins-ugly 0.10.2-0ubuntu2, when moving to a .wmv: ** ERROR **: file gstasfdemux.c: line 490 (gst_asf_demux_get_var_length): assertion failed: (*p_size >= 2) aborting... Backtrace was generated from '/usr/bin/totem' (no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1225419072 (LWP 14389)] [New Thread -1295107152 (LWP 14400)] [New Thread -1276691536 (LWP 14398)] [New Thread -1268298832 (LWP 14397)] [New Thread -1256510544 (LWP 14396)] [New Thread -1247851600 (LWP 14393)] [New Thread -1239458896 (LWP 14392)] [New Thread -1238795344 (LWP 14390)] 0xffffe410 in __kernel_vsyscall ()
+ Trace 67298
Thread 5 (Thread -1256510544 (LWP 14396))
can you provide a sample asf file?
example pointed on IRC, reopening it
The file from bug #345879 has a similar problem (assert in same function), can be triggered with a simple gst-launch-0.10 filesrc location=Burning_Sands_xd720.wmv ! asfdemux ! fakesink
*** Bug 351339 has been marked as a duplicate of this bug. ***
*** Bug 351588 has been marked as a duplicate of this bug. ***
*** Bug 355408 has been marked as a duplicate of this bug. ***
*** Bug 355359 has been marked as a duplicate of this bug. ***
*** Bug 356800 has been marked as a duplicate of this bug. ***
(In reply to comment #1) > can you provide a sample asf file? > Yes i can, although I've already deleted this file after my testing. The wmv file is still available for download though at: http://www.question911.com/linkout.php?filename=Bush%20Stole%20The%20Election%20BBC%20Documentary.wmv Thanks already for looking into it. Bye, I
*** Bug 357302 has been marked as a duplicate of this bug. ***
*** Bug 358444 has been marked as a duplicate of this bug. ***
*** Bug 358580 has been marked as a duplicate of this bug. ***
*** Bug 360346 has been marked as a duplicate of this bug. ***
*** Bug 360920 has been marked as a duplicate of this bug. ***
*** Bug 361545 has been marked as a duplicate of this bug. ***
*** Bug 361700 has been marked as a duplicate of this bug. ***
*** Bug 362093 has been marked as a duplicate of this bug. ***
*** Bug 362529 has been marked as a duplicate of this bug. ***
*** Bug 362640 has been marked as a duplicate of this bug. ***
*** Bug 362999 has been marked as a duplicate of this bug. ***
*** Bug 364195 has been marked as a duplicate of this bug. ***
*** Bug 364986 has been marked as a duplicate of this bug. ***
*** Bug 365069 has been marked as a duplicate of this bug. ***
*** Bug 365410 has been marked as a duplicate of this bug. ***
*** Bug 365517 has been marked as a duplicate of this bug. ***
*** Bug 365497 has been marked as a duplicate of this bug. ***
*** Bug 366108 has been marked as a duplicate of this bug. ***
*** Bug 366191 has been marked as a duplicate of this bug. ***
*** Bug 366413 has been marked as a duplicate of this bug. ***
*** Bug 366601 has been marked as a duplicate of this bug. ***
*** Bug 367518 has been marked as a duplicate of this bug. ***
*** Bug 368192 has been marked as a duplicate of this bug. ***
*** Bug 368049 has been marked as a duplicate of this bug. ***
*** Bug 362654 has been marked as a duplicate of this bug. ***
Ok, I have a bunch of videos received by email (please, no comment on the bad taste of these videos) which play fine under Window Media Player, but fail under Linux. Some of them even play fine under xine or mplayer IIRC. Anyway, here they are: ftp://awak.dyndns.org/eichhoer.wmv ftp://awak.dyndns.org/jojolidol.wmv ftp://awak.dyndns.org/regis-pompier785.wmv ftp://awak.dyndns.org/regis-ski854.wmv ftp://awak.dyndns.org/regis-soigneur883.wmv ftp://awak.dyndns.org/regis-velo862.wmv ftp://awak.dyndns.org/regis-voleur826.wmv As always, please put them somewhere else if possible, this machine isn't meant for public download at all. Thanks, Xav
*** Bug 368473 has been marked as a duplicate of this bug. ***
*** Bug 368541 has been marked as a duplicate of this bug. ***
*** Bug 368720 has been marked as a duplicate of this bug. ***
*** Bug 369119 has been marked as a duplicate of this bug. ***
*** Bug 370009 has been marked as a duplicate of this bug. ***
*** Bug 370457 has been marked as a duplicate of this bug. ***
*** Bug 370437 has been marked as a duplicate of this bug. ***
*** Bug 370756 has been marked as a duplicate of this bug. ***
*** Bug 371311 has been marked as a duplicate of this bug. ***
*** Bug 371199 has been marked as a duplicate of this bug. ***
31 duplicate in the last 30 days - gnome 2.16.x blocker.
*** Bug 371928 has been marked as a duplicate of this bug. ***
*** Bug 372135 has been marked as a duplicate of this bug. ***
*** Bug 372693 has been marked as a duplicate of this bug. ***
*** Bug 372688 has been marked as a duplicate of this bug. ***
*** Bug 372691 has been marked as a duplicate of this bug. ***
*** Bug 371867 has been marked as a duplicate of this bug. ***
*** Bug 379526 has been marked as a duplicate of this bug. ***
*** Bug 384567 has been marked as a duplicate of this bug. ***
*** Bug 385667 has been marked as a duplicate of this bug. ***
*** Bug 385681 has been marked as a duplicate of this bug. ***
*** Bug 392868 has been marked as a duplicate of this bug. ***
183 duplicates so far (including the reject ones), is anybody working on this?
*** Bug 393304 has been marked as a duplicate of this bug. ***
OK, so apparently the problem is that none of the folks at Fluendo can touch that bug due to having an NDA with Microsoft, so it depends on someone else taking it on. Any volunteers ready to take this?
*** Bug 388828 has been marked as a duplicate of this bug. ***
*** Bug 389338 has been marked as a duplicate of this bug. ***
bug 389338 also provides a nice stacktrace
*** Bug 397887 has been marked as a duplicate of this bug. ***
Created attachment 81027 [details] [review] dumb patch that fixes the crash I reproduced the crash, by playing the video in totem and seeking through it. It's because the demuxer is on a buffer boundary and needs more data to proceed. There is a mecanism in the code to deal with this, but it wasn't applied everywhere. So I applied some dumb "do as the rest of the code" bug fixing, plugged a memleak on the way, And now it no longer crashes. (but the demuxer as a whole obviously needs way more work to be robust.)
Created attachment 81095 [details] [review] same as above, but fixed checks before calls to gst_asf_demux_get_var_length() Tbhanks a lot for this patch! Unfortunately it doesn't entirely fix the issue for me, I still get asserts for this file for example, played locally from file: http://gstreamer.freedesktop.org/media/incoming/336370-jojolidol.wmv The required size calculation before the gst_asf_demux_get_var_length() wasn't entirely correct as far as I can see (required_size is 4 bytes when the value is 3, not 3 bytes). After fixing that up, the problem disappears for me as well. Attached the updated patch. > (but the demuxer as a whole obviously needs way more work to be robust.) No doubt about it. I've started working on a bit of a rewrite, but it's probably going to be a while before that's ready.
Committed to CVS, will be in the next gst-plugins-ugly release (0.10.6): 2007-01-24 Tim-Philipp Müller <tim at centricular dot net> Patch by: Xavier B. <xavierb gmail com> * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_guid), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_process_data), (gst_asf_demux_process_language_list), (gst_asf_demux_process_ext_stream_props), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data): Guard places where we assume that a certain amount of data is available better against less data being available (should fix infamous assertion crasher bug #336370). Also fixes a small memory leak.
*** Bug 406994 has been marked as a duplicate of this bug. ***
*** Bug 408650 has been marked as a duplicate of this bug. ***
*** Bug 411132 has been marked as a duplicate of this bug. ***
*** Bug 411677 has been marked as a duplicate of this bug. ***
*** Bug 411961 has been marked as a duplicate of this bug. ***
*** Bug 416880 has been marked as a duplicate of this bug. ***
*** Bug 418706 has been marked as a duplicate of this bug. ***
*** Bug 397654 has been marked as a duplicate of this bug. ***
*** Bug 420773 has been marked as a duplicate of this bug. ***
*** Bug 421654 has been marked as a duplicate of this bug. ***
*** Bug 421706 has been marked as a duplicate of this bug. ***
*** Bug 421892 has been marked as a duplicate of this bug. ***
*** Bug 419659 has been marked as a duplicate of this bug. ***
*** Bug 391549 has been marked as a duplicate of this bug. ***
*** Bug 430980 has been marked as a duplicate of this bug. ***
*** Bug 436144 has been marked as a duplicate of this bug. ***
*** Bug 439488 has been marked as a duplicate of this bug. ***
*** Bug 440099 has been marked as a duplicate of this bug. ***
*** Bug 451869 has been marked as a duplicate of this bug. ***
*** Bug 454510 has been marked as a duplicate of this bug. ***
*** Bug 455134 has been marked as a duplicate of this bug. ***
*** Bug 460143 has been marked as a duplicate of this bug. ***
*** Bug 460556 has been marked as a duplicate of this bug. ***
*** Bug 467327 has been marked as a duplicate of this bug. ***
*** Bug 467808 has been marked as a duplicate of this bug. ***
*** Bug 468381 has been marked as a duplicate of this bug. ***
*** Bug 470486 has been marked as a duplicate of this bug. ***
*** Bug 477515 has been marked as a duplicate of this bug. ***
*** Bug 480585 has been marked as a duplicate of this bug. ***
*** Bug 483007 has been marked as a duplicate of this bug. ***
*** Bug 486208 has been marked as a duplicate of this bug. ***
*** Bug 490525 has been marked as a duplicate of this bug. ***
*** Bug 490689 has been marked as a duplicate of this bug. ***
*** Bug 495949 has been marked as a duplicate of this bug. ***
*** Bug 497479 has been marked as a duplicate of this bug. ***
*** Bug 497721 has been marked as a duplicate of this bug. ***
*** Bug 500840 has been marked as a duplicate of this bug. ***
*** Bug 508260 has been marked as a duplicate of this bug. ***
*** Bug 514582 has been marked as a duplicate of this bug. ***
*** Bug 521850 has been marked as a duplicate of this bug. ***
No new rejected duplicate reports for one year, hence removing from auto-stacktrace-reject list.