After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 647852 - [schroenc] Crashes after some time when getting buffers after EOS
[schroenc] Crashes after some time when getting buffers after EOS
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal critical
: 0.10.22
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-15 10:20 UTC by Sebastian Dröge (slomo)
Modified: 2011-04-25 02:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test.ogg (332.53 KB, application/octet-stream)
2011-04-15 10:20 UTC, Sebastian Dröge (slomo)
  Details
0001-basevideoencoder-Don-t-allow-buffers-after-EOS.patch (2.70 KB, patch)
2011-04-24 23:01 UTC, David Schleef
committed Details | Review

Description Sebastian Dröge (slomo) 2011-04-15 10:20:22 UTC
+++ This bug was initially created as a clone of Bug #643202 +++

Yes, getting buffers after EOS is bad and all that but schroenc shouldn't just crash :P Can be reproduced with the sample in bug #643202 when replacing vp8 with dirac and when using an input file where the audio stream is shorter than the video stream, e.g. the attached file.
Comment 1 Sebastian Dröge (slomo) 2011-04-15 10:20:51 UTC
Created attachment 186014 [details]
test.ogg
Comment 2 Sebastian Dröge (slomo) 2011-04-15 10:42:42 UTC
[New Thread 0x7fffed937700 (LWP 22946)]
[Thread 0x7fffed937700 (LWP 22946) exited]
SCHRO: ERROR: schroencoder.c(1058): schro_encoder_push_frame_full: push when queue full
SCHRO: ERROR: schroencoder.c(1059): schro_encoder_push_frame_full: assertion failed: 0

Program received signal SIGABRT, Aborted.

Thread 140737309206272 (LWP 22941)

  • #0 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 abort
    at abort.c line 92
  • #2 schro_encoder_push_frame_full
    from /usr/lib/libschroedinger-1.0.so.0
  • #3 gst_schro_enc_handle_frame
    at gstschroenc.c line 479
  • #4 gst_base_video_encoder_chain
    at gstbasevideoencoder.c line 415
  • #5 gst_pad_push
    at gstpad.c line 4684
  • #6 gst_video_rate_event
    at gstvideorate.c line 637
  • #7 gst_pad_send_event
    at gstpad.c line 5398
  • #8 gst_pad_push_event
    at gstpad.c line 5250
  • #9 gst_base_transform_sink_event
    at gstbasetransform.c line 2019
  • #10 gst_pad_send_event
    at gstpad.c line 5398
  • #11 gst_pad_push_event
    at gstpad.c line 5250
  • #12 gst_base_transform_sink_event
    at gstbasetransform.c line 2019
  • #13 gst_pad_send_event
    at gstpad.c line 5398
  • #14 gst_pad_push_event
    at gstpad.c line 5250
  • #15 gst_base_transform_sink_event
  • #16 gst_pad_send_event
    at gstpad.c line 5398
  • #17 gst_pad_push_event
    at gstpad.c line 5250
  • #18 gst_stream_splitter_sink_event
    at gststreamsplitter.c line 214
  • #19 gst_pad_send_event
    at gstpad.c line 5398
  • #20 gst_pad_push_event
    at gstpad.c line 5250
  • #21 gst_queue_push_one
    at gstqueue.c line 1204
  • #22 gst_queue_loop
    at gstqueue.c line 1263
  • #23 gst_task_func
    at gsttask.c line 318
  • #24 g_thread_pool_thread_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthreadpool.c line 319
  • #25 g_thread_create_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c line 1897
  • #26 start_thread
    at pthread_create.c line 300
  • #27 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #28 ??

Comment 3 David Schleef 2011-04-24 23:01:27 UTC
Created attachment 186566 [details] [review]
0001-basevideoencoder-Don-t-allow-buffers-after-EOS.patch

 basevideoencoder: Don't allow buffers after EOS