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 749232 - x264enc: user of uninitialized reported by valgrind
x264enc: user of uninitialized reported by valgrind
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-05-11 15:07 UTC by Guillaume Desmottes
Modified: 2018-11-03 15:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Guillaume Desmottes 2015-05-11 15:07:14 UTC
Running gst-validate transcoding scenarios such as validate.file.transcode.to_mp3_and_h264_in_mp4.raw_h264_0_mp4 with valgrind reports loads of invalid read memory bugs. It's not clear if those are actual gst bugs, x264 issues or just false positives but it would be good to investigate those at some point.

Some examples:

==21695== Use of uninitialised value of size 8
==21695==    at 0xFAD98E5: x264_log2 (common.h:343)
==21695==    by 0xFAD98E5: x264_adaptive_quant_frame (ratecontrol.c:394)
==21695==    by 0xFB31FF5: ??? (in /tmp/264/lib/libx264.so.146)
==21695==    by 0xFAFEFF2: x264_encoder_encode (encoder.c:3291)
==21695==    by 0xF873CC3: gst_x264_enc_encode_frame (gstx264enc.c:2048)
==21695==    by 0xF876809: gst_x264_enc_handle_frame (gstx264enc.c:1988)
==21695==    by 0x5570186: gst_video_encoder_chain (gstvideoencoder.c:1380)
==21695==    by 0x4C2B468: gst_validate_pad_monitor_chain_func (gst-validate-pad-monitor.c:2009)
==21695==    by 0x5A69503: gst_pad_chain_data_unchecked (gstpad.c:4038)
==21695==    by 0x5A69503: gst_pad_push_data (gstpad.c:4271)
==21695==    by 0x57D6CD4: gst_base_transform_chain (gstbasetransform.c:2281)
==21695==    by 0x4C2B468: gst_validate_pad_monitor_chain_func (gst-validate-pad-monitor.c:2009)
==21695==    by 0x5A69503: gst_pad_chain_data_unchecked (gstpad.c:4038)
==21695==    by 0x5A69503: gst_pad_push_data (gstpad.c:4271)
==21695==    by 0x101FBF0A: gst_video_rate_transform_ip (gstvideorate.c:1211)
==21695==    by 0x57D632A: gst_base_transform_handle_buffer (gstbasetransform.c:2133)
==21695==    by 0x57D6B14: gst_base_transform_chain (gstbasetransform.c:2245)
==21695==    by 0x4C2B468: gst_validate_pad_monitor_chain_func (gst-validate-pad-monitor.c:2009)
==21695==    by 0x5A69503: gst_pad_chain_data_unchecked (gstpad.c:4038)
==21695==    by 0x5A69503: gst_pad_push_data (gstpad.c:4271)
==21695==    by 0x57D6CD4: gst_base_transform_chain (gstbasetransform.c:2281)
==21695==    by 0x4C2B468: gst_validate_pad_monitor_chain_func (gst-validate-pad-monitor.c:2009)
==21695==    by 0x5A69503: gst_pad_chain_data_unchecked (gstpad.c:4038)
==21695==    by 0x5A69503: gst_pad_push_data (gstpad.c:4271)
==21695==    by 0x57D6CD4: gst_base_transform_chain (gstbasetransform.c:2281)


==21695== Conditional jump or move depends on uninitialised value(s)
==21695==    at 0xFACCEA6: x264_weights_analyse (slicetype.c:306)
==21695==    by 0xFAD0381: x264_slicetype_decide (slicetype.c:1830)
==21695==    by 0xFB31FF5: ??? (in /tmp/264/lib/libx264.so.146)
==21695==    by 0xFB032A9: x264_lookahead_slicetype_decide (lookahead.c:70)
==21695==    by 0xFB03491: x264_lookahead_thread (lookahead.c:108)
==21695==    by 0x3EB8807529: start_thread (pthread_create.c:310)
==21695==    by 0x3EB850022C: clone (clone.S:109)

==21695== Thread 19:
==21695== Conditional jump or move depends on uninitialised value(s)
==21695==    at 0xFAD0F9A: refine_subpel (me.c:928)
==21695==    by 0xFAD62E5: x264_me_search_ref (me.c:796)
==21695==    by 0xFAC5D42: x264_mb_analyse_inter_p16x16 (analyse.c:1400)
==21695==    by 0xFAC847B: x264_macroblock_analyse (analyse.c:3153)
==21695==    by 0xFAFB92F: x264_slice_write (encoder.c:2743)
==21695==    by 0xFB31FF5: ??? (in /tmp/264/lib/libx264.so.146)
==21695==    by 0xFAF8F76: x264_slices_write (encoder.c:3084)
==21695==    by 0xFB31FF5: ??? (in /tmp/264/lib/libx264.so.146)
==21695==    by 0xFB03B10: x264_threadpool_thread (threadpool.c:69)
==21695==    by 0x3EB8807529: start_thread (pthread_create.c:310)
==21695==    by 0x3EB850022C: clone (clone.S:109)
Comment 1 Tim-Philipp Müller 2015-05-13 10:23:38 UTC
Do you plan on looking into this?
Comment 2 Guillaume Desmottes 2015-05-14 08:35:49 UTC
I did  look at did but didn't get very far. I don't get why valgrind raise such errors. Advice from someone else would be welcome.

I also opened this bug so it can be linked in validate's suppression file; see http://cgit.freedesktop.org/gstreamer/gst-devtools/commit/?id=d5482862099ed39cab20beebc25738d0658086d0
Comment 3 GStreamer system administrator 2018-11-03 15:34:50 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/issues/10.