GNOME Bugzilla – Bug 755033
GstMssManifest: inconsistent data type for structure set makes coredump
Last modified: 2015-09-16 08:41:41 UTC
e
I met a system crash when I use smoothstreaming for streaming. The crash log is as below:
+ Trace 235455
After doing trace, I found the potential root cause and had fixed it. The root cause of my platform comes from following line within function = static GstCaps * _gst_mss_stream_audio_caps_from_qualitylevel_xml (GstMssStreamQuality * q) Where the structure set actions = if (q->bitrate) gst_structure_set (structure, "bitrate", G_TYPE_INT, (int) q->bitrate, NULL); may lead to coredump. Since q->bitrate is in guint64 so a modification of: if (q->bitrate) gst_structure_set (structure, "bitrate", G_TYPE_INT64, (int) q->bitrate, NULL); resolved this issue here. Please correct it if it really counts. Thanks~
Please provide a sample stream that can reproduce this crash, or a complete backtrace with debug symbols. The lines you mention are unlikely to cause the problem. The guint64 is casted to an int before passing to gst_structure_set(), so everything should be fine there.
*** Bug 755035 has been marked as a duplicate of this bug. ***
Please refer to following fix; I found someone had met the same isse & fixed it. http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=de246c6741d70077a06ea223297c5ebc57ba471c The problem indeed counts as: "q->bitrate is a guint64, but G_TYPE_INT may read fewer bits off the stack, and if we pass more then the NULL sentinel may not be found at the right place, which in turn might lead to crashes."
Thanks for following up, I will mark this a duplicate then. *** This bug has been marked as a duplicate of bug 741751 ***