[Bug 689107] mpegtsmux crashes when changing its state

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Nov 26 12:03:20 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=689107
  GStreamer | gst-plugins-bad | git

Tim-Philipp Müller <t.i.m> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #229936|none                        |needs-work
             status|                            |

--- Comment #2 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2012-11-26 20:03:17 UTC ---
(From update of attachment 229936)
Thanks for the patch. While this probably fixes your problem, I don't think
it's entirely right yet.

Instead of memsetting the programs, it should probably iterate over them and
tsmux_program_free() those that are non-NULL, no?

Supported by valgrind as well:


tpm at zingle:~/gst/0.11/gst-plugins-bad/tests/check$ make
elements/mpegtsmux.valgrind
GStreamer has detected that it is running inside valgrind.
It might now take different code paths to ease debugging.
Of course, this may also lead to different bugs.
GStreamer has detected that it is running inside valgrind.
It might now take different code paths to ease debugging.
Of course, this may also lead to different bugs.
GStreamer has detected that it is running inside valgrind.
It might now take different code paths to ease debugging.
Of course, this may also lead to different bugs.
Running suite(s): mpegtsmux
==15849== 4,900 (1,360 direct, 3,540 indirect) bytes in 5 blocks are definitely
lost in loss record 1,572 of 1,601
==15849==    at 0x4C2A26B: malloc (vg_replace_malloc.c:270)
==15849==    by 0x6303F30: g_malloc (gmem.c:159)
==15849==    by 0x6318322: g_slice_alloc (gslice.c:1003)
==15849==    by 0x5511D8E: gst_buffer_new (gstbuffer.c:580)
==15849==    by 0x5512EE6: gst_buffer_new_wrapped_full (gstbuffer.c:719)
==15849==    by 0x5512F63: gst_buffer_new_wrapped (gstbuffer.c:742)
==15849==    by 0x5083535: gst_adapter_take_buffer (gstadapter.c:780)
==15849==    by 0x90228C6: mpegtsmux_push_packets (mpegtsmux.c:1337)
==15849==    by 0x9023A79: mpegtsmux_collected_buffer (mpegtsmux.c:1177)
==15849==    by 0x50B2BA9: gst_collect_pads_default_collected
(gstcollectpads.c:1494)
==15849==    by 0x50AFEF6: gst_collect_pads_check_collected
(gstcollectpads.c:1295)
==15849==    by 0x50B1B27: gst_collect_pads_chain (gstcollectpads.c:2009)
==15849==    by 0x553D7A9: gst_pad_push_data (gstpad.c:3654)
==15849==    by 0x402BCB: test_multiple_state_change (mpegtsmux.c:716)
==15849==    by 0x52D6E87: srunner_run_all (check_run.c:372)
==15849==    by 0x52D163C: gst_check_run_suite (gstcheck.c:663)
==15849==    by 0x401CFD: main (mpegtsmux.c:747)
==15849== 
==15849== 5,715 (48 direct, 5,667 indirect) bytes in 2 blocks are definitely
lost in loss record 1,573 of 1,601
==15849==    at 0x4C2A26B: malloc (vg_replace_malloc.c:270)
==15849==    by 0x6303F30: g_malloc (gmem.c:159)
==15849==    by 0x6318322: g_slice_alloc (gslice.c:1003)
==15849==    by 0x62FB512: g_list_append (glist.c:228)
==15849==    by 0x9024BB3: new_packet_cb (mpegtsmux.c:1287)
==15849==    by 0x9026D1D: tsmux_write_section (tsmux.c:482)
==15849==    by 0x90274BB: tsmux_write_stream_packet (tsmux.c:1035)
==15849==    by 0x9023886: mpegtsmux_collected_buffer (mpegtsmux.c:1167)
==15849==    by 0x50B2BA9: gst_collect_pads_default_collected
(gstcollectpads.c:1494)
==15849==    by 0x50AFEF6: gst_collect_pads_check_collected
(gstcollectpads.c:1295)
==15849==    by 0x50B1B27: gst_collect_pads_chain (gstcollectpads.c:2009)
==15849==    by 0x553D7A9: gst_pad_push_data (gstpad.c:3654)
==15849==    by 0x402BCB: test_multiple_state_change (mpegtsmux.c:716)
==15849==    by 0x52D6E87: srunner_run_all (check_run.c:372)
==15849==    by 0x52D163C: gst_check_run_suite (gstcheck.c:663)
==15849==    by 0x401CFD: main (mpegtsmux.c:747)
==15849== 
100%: Checks: 6, Failures: 0, Errors: 0
make: *** [elements/mpegtsmux.valgrind] Error 1

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list