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 742500 - [gstreamer crashed when log was set 4 or larger]
[gstreamer crashed when log was set 4 or larger]
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.35
Other Linux
: Normal critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-01-07 01:14 UTC by Michael Xiang
Modified: 2015-01-07 12:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
crashed log (6.04 KB, text/plain)
2015-01-07 01:14 UTC, Michael Xiang
Details

Description Michael Xiang 2015-01-07 01:14:35 UTC
Created attachment 293994 [details]
crashed log 

[Enviroment]:
   gcc version 4.6.2 20110630
   gstreamer-0.10.35
[Operation]:
   set log env variable: GST_DEBUG=4 
[Result]:
   gstreamer crashed.
   The call stack shows below:
   Why does the gst always crash at IA__g_strdup_vprintf function? 
 ========================================================================
 #0  gst_debug_print_segment (ptr=0x134) at gstinfo.c:715
  • #1 _gst_info_printf_extension_segment
    at gstinfo.c line 1659
  • #2 vfprintf
    from /lib/libc.so.6
  • #3 vsnprintf
    from /lib/libc.so.6
  • #4 snprintf
    from /lib/libc.so.6
  • #5 Log_Signal_Data
    at support/core/bb_signal_dbg/bb_signal_dbg_imp/_src/signal_dbg.c line 254
  • #6 Log_Signal_Info
    at support/core/bb_signal_dbg/bb_signal_dbg_imp/_src/signal_dbg.c line 309
  • #7 Signal_Handler
    at support/core/bb_signal_dbg/bb_signal_dbg_imp/_src/signal_dbg.c line 333
  • #8 <signal handler called>
  • #9 gst_debug_print_segment
    at gstinfo.c line 715
  • #10 _gst_info_printf_extension_segment
    at gstinfo.c line 1659
  • #11 vfprintf
    from /lib/libc.so.6
  • #12 vsnprintf
    from /lib/libc.so.6
  • #13 snprintf
    from /lib/libc.so.6
  • #14 Log_Signal_Data
    at support/core/bb_signal_dbg/bb_signal_dbg_imp/_src/signal_dbg.c line 254
  • #15 Log_Signal_Info
    at support/core/bb_signal_dbg/bb_signal_dbg_imp/_src/signal_dbg.c line 309
  • #16 Signal_Handler
    at support/core/bb_signal_dbg/bb_signal_dbg_imp/_src/signal_dbg.c line 333
  • #17 <signal handler called>
  • #18 raise
    from /lib/libc.so.6
  • #19 abort
    from /lib/libc.so.6
  • #20 _g_gnulib_vasnprintf
    at vasnprintf.c line 1026
  • #21 _g_gnulib_vasprintf
    at printf.c line 144
  • #22 IA__g_vasprintf
    at gprintf.c line 309
  • #23 IA__g_strdup_vprintf
    at gstrfuncs.c line 244
  • #24 gst_debug_message_get
    at gstinfo.c line 553
  • #25 gst_debug_log_default
    at gstinfo.c line 960
  • #26 gst_debug_log_default
    at gstinfo.c line 921
  • #27 gst_debug_log_valist
  • #28 gst_debug_log
  • #29 gst_registry_add_feature
    at gstregistry.c line 556
  • #30 gst_element_register
    at gstelementfactory.c line 320
  • #31 gst_register_core_elements
    at gst.c line 628
  • #32 gst_plugin_register_func
    at gstplugin.c line 557
  • #33 gst_plugin_register_func
    at gstplugin.c line 514
  • #34 gst_plugin_register_static
    at gstplugin.c line 254
  • #35 init_post
    at gst.c line 769
  • #36 init_post
    at gst.c line 650
  • #37 IA__g_option_context_parse
    at goption.c line 1947
  • #38 gst_init_check
    at gst.c line 439
  • #39 gst_init
    at gst.c line 493
  • #40 AVP_Initialize
    at support/media/bbc_audio_video_player/bb_audio_video_player/_src/audio_video_player.c line 2976
  • #41 Process_Message
    at support/media/bbc_audio_video_player/bb_avp_proxy/bb_avp_proxy_server/bb_avp_proxy_server_imp/_src/avp_proxy_server.c line 457
  • #42 AVP_Proxy_Server_Thread_Task
    at support/media/bbc_audio_video_player/bb_avp_proxy/bb_avp_proxy_server/bb_avp_proxy_server_imp/_src/avp_proxy_server.c line 538
  • #43 SAL_I_Start_User_Thread
    at support/os/bb_xsal/bb_xsal_src/common/xsal_create_thread.c line 169
  • #44 start_thread
    from /lib/libpthread.so.0
  • #45 clone
    from /lib/libc.so.6

Comment 1 Michael Xiang 2015-01-07 02:19:54 UTC
glib version:glib-2.22.1
Comment 2 Tim-Philipp Müller 2015-01-07 12:09:09 UTC
Thanks for the bug report. However, GStreamer 0.10 is no longer maintained. Feel free to file a new bug or re-open this bug if you can still reproduce the issue with a recent version of GStreamer 1.x, thanks!

Looking at the issue itself, it looks like there's some kind of configure/build-time mismatch.

The debug log string being printed is this:

GST_DEBUG_OBJECT (registry, "adding feature %p (%s)", feature, feature->name);

Which should print a pointer value and a string.

There are no printf extension formats being used here, yet the crash ends up in _gst_info_printf_extension_*. I have no idea why that would be the case.

You  can try if the patch/commit from https://bugzilla.gnome.org/show_bug.cgi?id=638599 helps, otherwise I'm out of ideas, sorry.

This should no longer be an issue in recent 1.x versions, since we do this differently there (with our own printf implementation).