Public bug reported:
When the code to retrieve the basic metadata about a track is enabled in
TrackListImplementation::add_track_with_uri_at(), adding several tracks
back-to-back will cause a segfault in glib at g_hook_free(). Backtrace:
Signaled that we just added track id:
/core/ubuntu/media/Service/sessions/62/TrackList/0
*** void
core::ubuntu::media::TrackListSkeleton::Private::handle_add_track_with_uri_at(const
Ptr&)
virtual void
core::ubuntu::media::TrackListImplementation::add_track_with_uri_at(const
UriType&, const Id&, bool)
Adding Track::Id: /core/ubuntu/media/Service/sessions/62/TrackList/1
URI:
file:///home/phablet/dev/qtubuntu-media/tests/integration/testdata/testfile.mp4
container.size(): 2
[New Thread 0xa64e7370 (LWP 29240)]
[New Thread 0xa901a370 (LWP 29230)]
[New Thread 0xaa0fa370 (LWP 29229)]
[New Thread 0xaaa23370 (LWP 29228)]
[New Thread 0xab223370 (LWP 29227)]
[New Thread 0xa4f15370 (LWP 29226)]
[New Thread 0xa57ff370 (LWP 29225)]
[New Thread 0xa7f96370 (LWP 29224)]
[New Thread 0xa4715370 (LWP 29223)]
[New Thread 0xa3f15370 (LWP 29199)]
[New Thread 0xa981a370 (LWP 28842)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xa64e7370 (LWP 29240)]
0xab91ef00 in ?? ()
(gdb) bt
#0 0xffffffff in ()
#1 0xffffffff in g_hook_free (hook_list=0xac73b810, hook=0x2aff4a0) at
/build/glib2.0-w3DiQY/glib2.0-2.45.3/./glib/ghook.c:302
#2 0xffffffff in g_hook_next_valid (hook_list=0xac73b810, hook=0x2af3c78,
may_be_in_call=<optimized out>)
at /build/glib2.0-w3DiQY/glib2.0-2.45.3/./glib/ghook.c:751
#3 0xffffffff in g_hook_list_marshal (hook_list=hook_list@entry=0xac73b810,
may_recurse=may_recurse@entry=1, marshaller=0xb6d22371 <probe_hook_marshal>,
data=data@entry=0xa64e668c) at
/build/glib2.0-w3DiQY/glib2.0-2.45.3/./glib/ghook.c:676
#4 0xffffffff in do_probe_callbacks (pad=pad@entry=0xac73b7a8 [GstDecodePad],
info=info@entry=0xa64e6708, defaultval=defaultval@entry=GST_FLOW_OK)
at gstpad.c:3268
#5 0xffffffff in gst_pad_push_event_unchecked (pad=pad@entry=0xac73b7a8
[GstDecodePad], event=<optimized out>,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:4807
#6 0xffffffff in push_sticky (pad=0xac73b7a8 [GstDecodePad], ev=0xa64e67ac,
user_data=0xa64e67f0) at gstpad.c:3443
#7 0xffffffff in events_foreach (pad=pad@entry=0xac73b7a8 [GstDecodePad],
func=0xb6d234f1 <push_sticky>, user_data=user_data@entry=0xa64e67f0)
at gstpad.c:570
#8 0xffffffff in gst_pad_push_event (event=0xb2405940, pad=0xac73b7a8
[GstDecodePad]) at gstpad.c:3499
#9 0xffffffff in gst_pad_push_event (pad=pad@entry=0xac73b7a8 [GstDecodePad],
event=0xb2405940) at gstpad.c:4952
#10 0xffffffff in event_forward_func (pad=0xac73b7a8 [GstDecodePad],
data=0xa64e68e8) at gstpad.c:2842
#11 0xffffffff in gst_pad_forward (pad=pad@entry=0xab928900 [GstProxyPad],
forward=0xb6d2a3a1 <event_forward_func>, user_data=user_data@entry=0xa64e68e8)
at gstpad.c:2796
#12 0xffffffff in gst_pad_event_default (pad=0xab928900 [GstProxyPad],
parent=<optimized out>, event=0xb2405940) at gstpad.c:2893
#13 0xffffffff in gst_pad_send_event_unchecked (pad=pad@entry=0xab928900
[GstProxyPad], event=event@entry=0xb2405940,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5135
#14 0xffffffff in gst_pad_push_event_unchecked (pad=pad@entry=0xa821cbf0
[GstPad], event=0xb2405940, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM)
at gstpad.c:4833
#15 0xffffffff in push_sticky (pad=0xa821cbf0 [GstPad], ev=0xa64e6a7c,
user_data=0xa64e6ac0) at gstpad.c:3443
#16 0xffffffff in events_foreach (pad=pad@entry=0xa821cbf0 [GstPad],
func=0xb6d234f1 <push_sticky>, user_data=user_data@entry=0xa64e6ac0) at
gstpad.c:570
#17 0xffffffff in gst_pad_push_event (event=0xb2405940, pad=0xa821cbf0
[GstPad]) at gstpad.c:3499
#18 0xffffffff in gst_pad_push_event (pad=0xa821cbf0 [GstPad],
event=event@entry=0xb2405940) at gstpad.c:4952
#19 0xffffffff in gst_video_decoder_push_event
(decoder=decoder@entry=0xb2359cb8 [GstAmcVideoDec-OmxQcomVideoDecoderAvc],
event=0xb2405940)
at gstvideodecoder.c:917
#20 0xffffffff in gst_video_decoder_finish_frame
(decoder=decoder@entry=0xb2359cb8 [GstAmcVideoDec-OmxQcomVideoDecoderAvc],
frame=frame@entry=0xa8229540)
at gstvideodecoder.c:2663
#21 0xffffffff in gst_amc_video_dec_loop (self=<optimized out>) at
gstamcvideodechybris.c:1553
#22 0xffffffff in gst_task_func (task=0xa8229178 [GstTask]) at gsttask.c:316
#23 0xffffffff in g_thread_pool_thread_proxy (data=<optimized out>) at
/build/glib2.0-w3DiQY/glib2.0-2.45.3/./glib/gthreadpool.c:307
#24 0xffffffff in g_thread_proxy (data=0xa71d4600) at
/build/glib2.0-w3DiQY/glib2.0-2.45.3/./glib/gthread.c:764
#25 0xffffffff in start_thread () at /lib/arm-linux-gnueabihf/libpthread.so.0
#26 0xffffffff in () at /lib/arm-linux-gnueabihf/libc.so.6
(gdb) info threads
Id Target Id Frame
25 Thread 0xa981a370 (LWP 28842) "Binder_3" 0xb40c99c8 in ?? ()
24 Thread 0xa3f15370 (LWP 29199) "qtdemux14:sink" 0xb61a6620 in syscall ()
from /lib/arm-linux-gnueabihf/libc.so.6
23 Thread 0xa4715370 (LWP 29223) "multiqueue40:sr" 0xb6210d44 in
__libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
22 Thread 0xa7f96370 (LWP 29224) "typefind:sink" 0xb61a6620 in syscall ()
from /lib/arm-linux-gnueabihf/libc.so.6
21 Thread 0xa57ff370 (LWP 29225) "multiqueue40:sr" 0xa9840334 in ?? () from
/usr/lib/arm-linux-gnueabihf/libfaad.so.2
20 Thread 0xa4f15370 (LWP 29226) "ALooper" 0xb6210d46 in __libc_do_syscall
() from /lib/arm-linux-gnueabihf/libpthread.so.0
19 Thread 0xab223370 (LWP 29227) "CodecLooper" 0xb6210d46 in
__libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
18 Thread 0xaaa23370 (LWP 29228) "VideoDecMsgThre" 0xb612b9a6 in ?? () from
/lib/arm-linux-gnueabihf/libc.so.6
17 Thread 0xaa0fa370 (LWP 29229) "VideoDecCallBac" 0xb40c99c8 in ?? ()
16 Thread 0xa901a370 (LWP 29230) "OMXCallbackDisp" 0xb6210d44 in
__libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
* 15 Thread 0xa64e7370 (LWP 29240) "amcvideodec-omx" 0xab91ef00 in ?? ()
7 Thread 0xb36e8370 (LWP 28219) "Binder_1" 0xb40c99c8 in ?? ()
6 Thread 0xb2cff370 (LWP 28220) "Binder_2" 0xb40c99c8 in ?? ()
5 Thread 0xb22ff370 (LWP 28221) "media-hub-serve" 0xb61a6620 in syscall ()
from /lib/arm-linux-gnueabihf/libc.so.6
4 Thread 0xadafe370 (LWP 28222) "threaded-ml" 0xb61a24e2 in poll () from
/lib/arm-linux-gnueabihf/libc.so.6
3 Thread 0xad0ff370 (LWP 28223) "media-hub-serve" 0xb61a24e2 in poll ()
from /lib/arm-linux-gnueabihf/libc.so.6
2 Thread 0xac29c370 (LWP 28224) "media-hub-serve" 0xb61a9132 in epoll_wait
() from /lib/arm-linux-gnueabihf/libc.so.6
1 Thread 0xb4137000 (LWP 28173) "media-hub-serve" 0xb61a24e2 in poll ()
from /lib/arm-linux-gnueabihf/libc.so.6
** Affects: canonical-devices-system-image
Importance: Undecided
Status: Confirmed
** Affects: media-hub (Ubuntu)
Importance: Critical
Status: Triaged
** Changed in: media-hub (Ubuntu)
Importance: Undecided => Critical
** Changed in: media-hub (Ubuntu)
Status: New => Triaged
** Also affects: canonical-devices-system-image
Importance: Undecided
Status: New
** Changed in: canonical-devices-system-image
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1479383
Title:
Adding many tracks to the tracklist with metadata retrieval enabled
causes a segfault in glib
To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1479383/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs