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 698242 - printf: abort() in custom printf with old printf extension specifiers
printf: abort() in custom printf with old printf extension specifiers
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal critical
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-04-17 20:44 UTC by Stefan Sauer (gstreamer, gtkdoc dev)
Modified: 2013-04-17 23:48 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Stefan Sauer (gstreamer, gtkdoc dev) 2013-04-17 20:44:56 UTC
sees to be caused by
https://bugzilla.gnome.org/show_bug.cgi?id=697970
and happened reproducably with a partially updates gstreamer
(updated core/base/good, but ugly/bad/ffmpeg where about a week old)


  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 __GI_abort
    at abort.c line 91
  • #2 __gst_vasnprintf
    at vasnprintf.c line 979
  • #3 __gst_vasprintf
    at printf.c line 154
  • #4 gst_debug_message_get
    at gstinfo.c line 531
  • #5 check_gst_log_handler
    at tests/bt-check.c line 289
  • #6 gst_debug_log_valist
    at gstinfo.c line 509
  • #7 gst_debug_log
    at gstinfo.c line 436
  • #8 gst_faac_getcaps
    at gstfaac.c line 357
  • #9 gst_audio_encoder_sink_query
    at gstaudioencoder.c line 1623
  • #10 gst_pad_query
    at gstpad.c line 3419
  • #11 gst_pad_peer_query
    at gstpad.c line 3550
  • #12 gst_pad_peer_query_caps
    at gstutils.c line 2797

Comment 1 Tim-Philipp Müller 2013-04-17 23:29:50 UTC
Can reproduce:

$ GST_CHECKS=info_old_printf_extensions make gst/gstinfo.check-norepeat
Running suite(s): GstInfo
0%: Checks: 1, Failures: 0, Errors: 1
gst/gstinfo.c:281:E:info:info_old_printf_extensions:0: (after this point) Received signal 6 (Aborted)


commit c398c842f50c605108e50408d265c58192e98552
Author: Tim-Philipp Müller <tim@centricular.net>
Date:   Thu Apr 18 00:28:00 2013 +0100

    tests: add unit test for old printf extension specifiers
    
    To make sure we maintain binary compatibility with the old
    specifiers.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=698242
Comment 2 Tim-Philipp Müller 2013-04-17 23:48:45 UTC
commit e8a9f7acdf8ee5955415f4799c38dac7a944adaf
Author: Tim-Philipp Müller <tim@centricular.net>
Date:   Thu Apr 18 00:44:32 2013 +0100

    printf: fix handling of old printf extension specifiers for ABI compatibility
    
    Fixes abort when the old specifiers are used. Fix up the conversion
    specifier, it would get overwritten with 'c' below to the extension
    format char, which then later is unhandled, leading to the abort.
    Also fix up and enable unit test for this.
    
    https://bugzilla.gnome.org/process_bug.cgi

(Yes, the bug URL was very clever, I know)