Fedora Account System
Red Hat Associate
Red Hat Customer
Description of problem: The dleyna-server-service consumes 100% of a CPU all the time. This can't be right :) Version-Release number of selected component (if applicable): Installed Packages Name : dleyna-server Arch : x86_64 Epoch : 0 Version : 0.5.0 Release : 3.fc24 Size : 202 k Repo : @System From repo : koji-override-0 How reproducible: 100% of the time Steps to Reproduce: On Thunderbird, enable the plugin "Grilo Media Browser". After a couple of seconds, the CPU usage for the process goes to 100% and stays there. On my case, I have a router with DLNA capabilities, as well as a Kodi on my home network. Example: $ top -b -n 1 top - 17:30:32 up 8:43, 2 users, load average: 1,48, 2,29, 2,18 Tasks: 273 total, 2 running, 271 sleeping, 0 stopped, 0 zombie %Cpu(s): 22,6 us, 6,7 sy, 0,0 ni, 69,5 id, 1,1 wa, 0,0 hi, 0,0 si, 0,0 st KiB Mem : 7869096 total, 859204 free, 4851712 used, 2158180 buff/cache KiB Swap: 7995388 total, 6401512 free, 1593876 used. 1999612 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5069 jpkroeh+ 20 0 496772 21380 11268 R 100,0 0,3 0:45.12 dleyna-server-s
It will be very helpful to have some stack traces from dleyna-server-service when it consumes 100% CPU. That will give us an indication of what it is doing. You can run this a few times: $ gstack $(pidof dleyna-server-service)
(In reply to Juraci Paixão Kröhling from comment #0) > Steps to Reproduce: > On Thunderbird, enable the plugin "Grilo Media Browser". s/Thunderbird/Rhythmbox/ ? :) 17:30 <hadess> rishi, i have no idea what that plugin is 17:30 <hadess> maybe rhythmbox? 17:31 <hadess> yeah, looks like the name of the plugin for rhythmbox
> s/Thunderbird/Rhythmbox/ ? :) Yes, sorry! I was probably fighting with Thunderbird at the time I wrote the comment :)
Output from `gstack $(pidof dleyna-server-service)` Thread 5 (Thread 0x7fb27b42e700 (LWP 7071)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cb5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #3 0x00007fb27b435fad in dconf_gdbus_worker_thread () from /usr/lib64/gio/modules/libdconfsettings.so #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7fb2912f3700 (LWP 7069)): #0 0x00007fb2960c7919 in syscall () from /lib64/libc.so.6 #1 0x00007fb2969a0dca in g_cond_wait_until () from /lib64/libglib-2.0.so.0 #2 0x00007fb296931489 in g_async_queue_pop_intern_unlocked () from /lib64/libglib-2.0.so.0 #3 0x00007fb296931aac in g_async_queue_timeout_pop () from /lib64/libglib-2.0.so.0 #4 0x00007fb29698380d in g_thread_pool_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #6 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #7 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7fb292cfa700 (LWP 7066)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cdd2 in g_main_loop_run () from /lib64/libglib-2.0.so.0 #3 0x00007fb296f55f76 in gdbus_shared_thread_func () from /lib64/libgio-2.0.so.0 #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7fb2934fb700 (LWP 7065)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cb5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #3 0x00007fb29695cba1 in glib_worker_main () from /lib64/libglib-2.0.so.0 #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7fb29859b880 (LWP 7064)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cdd2 in g_main_loop_run () from /lib64/libglib-2.0.so.0 #3 0x00007fb297f758da in dleyna_main_loop_start () from /lib64/libdleyna-core-1.0.so.4 #4 0x00005620871b1e34 in main ()
Second run: Thread 4 (Thread 0x7fb27b42e700 (LWP 7071)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cb5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #3 0x00007fb27b435fad in dconf_gdbus_worker_thread () from /usr/lib64/gio/modules/libdconfsettings.so #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7fb292cfa700 (LWP 7066)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cdd2 in g_main_loop_run () from /lib64/libglib-2.0.so.0 #3 0x00007fb296f55f76 in gdbus_shared_thread_func () from /lib64/libgio-2.0.so.0 #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7fb2934fb700 (LWP 7065)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cb5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #3 0x00007fb29695cba1 in glib_worker_main () from /lib64/libglib-2.0.so.0 #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7fb29859b880 (LWP 7064)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cdd2 in g_main_loop_run () from /lib64/libglib-2.0.so.0 #3 0x00007fb297f758da in dleyna_main_loop_start () from /lib64/libdleyna-core-1.0.so.4 #4 0x00005620871b1e34 in main ()
And third run. If you need more, let me know. Thread 4 (Thread 0x7fb27b42e700 (LWP 7071)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cb5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #3 0x00007fb27b435fad in dconf_gdbus_worker_thread () from /usr/lib64/gio/modules/libdconfsettings.so #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7fb292cfa700 (LWP 7066)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cdd2 in g_main_loop_run () from /lib64/libglib-2.0.so.0 #3 0x00007fb296f55f76 in gdbus_shared_thread_func () from /lib64/libgio-2.0.so.0 #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7fb2934fb700 (LWP 7065)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cb5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #3 0x00007fb29695cba1 in glib_worker_main () from /lib64/libglib-2.0.so.0 #4 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 #6 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7fb29859b880 (LWP 7064)): #0 0x00007fb2960c1c4d in poll () from /lib64/libc.so.6 #1 0x00007fb29695ca46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007fb29695cdd2 in g_main_loop_run () from /lib64/libglib-2.0.so.0 #3 0x00007fb297f758da in dleyna_main_loop_start () from /lib64/libdleyna-core-1.0.so.4 #4 0x00005620871b1e34 in main ()
This might be a duplicate of #1240411
*** Bug 1240411 has been marked as a duplicate of this bug. ***
This is allegedly triggered by gnome-music. See bug 1240411
(In reply to Debarshi Ray from comment #9) > This is allegedly triggered by gnome-music. See bug 1240411 It is triggered by anything that uses grilo plugins, I experience the same problem whenever I start totem. I have a DLNA server in my network, and the 100% cpu issue does not happen if I disconnect from the network. Is dleyna trying to index network content?
(In reply to Dario Castellarin from comment #10) > (In reply to Debarshi Ray from comment #9) > > This is allegedly triggered by gnome-music. See bug 1240411 > > It is triggered by anything that uses grilo plugins, I experience the same > problem whenever I start totem. I see. That makes me suspect grilo's DLNA plugin. > I have a DLNA server in my network, and the > 100% cpu issue does not happen if I disconnect from the network. Is dleyna > trying to index network content? I don't think so. It is a D-Bus daemon that simplifies accessing DLNA servers from client applications, as opposed to directly using gupnp.
(In reply to Debarshi Ray from comment #11) > (In reply to Dario Castellarin from comment #10) > > (In reply to Debarshi Ray from comment #9) > > > This is allegedly triggered by gnome-music. See bug 1240411 > > > > It is triggered by anything that uses grilo plugins, I experience the same > > problem whenever I start totem. > > I see. That makes me suspect grilo's DLNA plugin. Definitely that, if I remove the server from my network, everything's fine. > > > I have a DLNA server in my network, and the > > 100% cpu issue does not happen if I disconnect from the network. Is dleyna > > trying to index network content? > > I don't think so. It is a D-Bus daemon that simplifies accessing DLNA > servers from client applications, as opposed to directly using gupnp. Soo... how do you debug a grilo plugin?
You can look at the D-Bus activity using gdbus(1) or dbus-monitor(1). For example: $ gdbus monitor --session --dest com.intel.dleyna-server Maybe try to get some better backtraces that show some CPU activity instead of just waiting on a poll? Or you could use sysprof.
(In reply to Juraci Paixão Kröhling from comment #4) > Thread 4 (Thread 0x7fb2912f3700 (LWP 7069)): > #0 0x00007fb2960c7919 in syscall () from /lib64/libc.so.6 > #1 0x00007fb2969a0dca in g_cond_wait_until () from /lib64/libglib-2.0.so.0 > #2 0x00007fb296931489 in g_async_queue_pop_intern_unlocked () from > /lib64/libglib-2.0.so.0 > #3 0x00007fb296931aac in g_async_queue_timeout_pop () from > /lib64/libglib-2.0.so.0 > #4 0x00007fb29698380d in g_thread_pool_thread_proxy () from > /lib64/libglib-2.0.so.0 > #5 0x00007fb296982d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0 > #6 0x00007fb2963945ba in start_thread () from /lib64/libpthread.so.0 > #7 0x00007fb2960cd7cd in clone () from /lib64/libc.so.6 This GAsyncQueue activity makes me curious. Everything else other than this is just waiting for a poll to trigger, and is the usual set of worker threads: (a) dconf, (b) gdbus and (c) glib. Doesn't look suspicious.
I'm also seeing this. For me gstack keeps showing one thread in some "soup" code. This is typical, but see below for another typical trace. ================ trace #1 Thread 4 (Thread 0x7f26c1e18700 (LWP 26443)): #0 0x00007f26c6c4756d in poll () at /lib64/libc.so.6 #1 0x00007f26c7480a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #2 0x00007f26c7480b1c in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f26abdf9fad in dconf_gdbus_worker_thread () at /usr/lib64/gio/modules/libdconfsettings.so #4 0x00007f26c74a6cf5 in g_thread_proxy () at /lib64/libglib-2.0.so.0 #5 0x00007f26c6f195ca in start_thread () at /lib64/libpthread.so.0 #6 0x00007f26c6c530ed in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7f26c381f700 (LWP 10701)): #0 0x00007f26c6c4756d in poll () at /lib64/libc.so.6 #1 0x00007f26c7480a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #2 0x00007f26c7480d92 in g_main_loop_run () at /lib64/libglib-2.0.so.0 #3 0x00007f26c7a79e46 in gdbus_shared_thread_func () at /lib64/libgio-2.0.so.0 #4 0x00007f26c74a6cf5 in g_thread_proxy () at /lib64/libglib-2.0.so.0 #5 0x00007f26c6f195ca in start_thread () at /lib64/libpthread.so.0 #6 0x00007f26c6c530ed in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f26c4692700 (LWP 10700)): #0 0x00007f26c6c4756d in poll () at /lib64/libc.so.6 #1 0x00007f26c7480a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #2 0x00007f26c7480b1c in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f26c7480b61 in glib_worker_main () at /lib64/libglib-2.0.so.0 #4 0x00007f26c74a6cf5 in g_thread_proxy () at /lib64/libglib-2.0.so.0 #5 0x00007f26c6f195ca in start_thread () at /lib64/libpthread.so.0 #6 0x00007f26c6c530ed in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f26c9098880 (LWP 10699)): #0 0x00007f26c7d6d9a7 in soup_connection_get_state () at /lib64/libsoup-2.4.so.1 #1 0x00007f26c7d8d0dc in soup_session_cleanup_connections () at /lib64/libsoup-2.4.so.1 #2 0x00007f26c7d916cd in soup_session_process_queue_item () at /lib64/libsoup-2.4.so.1 #3 0x00007f26c7d91f1e in soup_session_real_send_message () at /lib64/libsoup-2.4.so.1 #4 0x00007f26c8462f9d in gupnp_service_info_get_introspection () at /lib64/libgupnp-1.0.so.4 #5 0x00007f26c8ca7eb4 in prv_props_update.isra () at /usr/lib64/dleyna-renderer/libdleyna-renderer-1.0.so.1 #6 0x00007f26c8ca8218 in prv_process_rc_last_change () at /usr/lib64/dleyna-renderer/libdleyna-renderer-1.0.so.1 #7 0x00007f26c74806ba in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #8 0x00007f26c7480a70 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #9 0x00007f26c7480d92 in g_main_loop_run () at /lib64/libglib-2.0.so.0 #10 0x00007f26c8a9990c in dleyna_main_loop_start () at /lib64/libdleyna-core-1.0.so.4 #11 0x00007f26c6b70731 in __libc_start_main () at /lib64/libc.so.6 #12 0x0000555ad8befa09 in _start () ================ trace #2 Thread 4 (Thread 0x7f26c1e18700 (LWP 26443)): #0 0x00007f26c6c4756d in poll () at /lib64/libc.so.6 #1 0x00007f26c7480a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #2 0x00007f26c7480b1c in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f26abdf9fad in dconf_gdbus_worker_thread () at /usr/lib64/gio/modules/libdconfsettings.so #4 0x00007f26c74a6cf5 in g_thread_proxy () at /lib64/libglib-2.0.so.0 #5 0x00007f26c6f195ca in start_thread () at /lib64/libpthread.so.0 #6 0x00007f26c6c530ed in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7f26c381f700 (LWP 10701)): #0 0x00007f26c6c4756d in poll () at /lib64/libc.so.6 #1 0x00007f26c7480a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #2 0x00007f26c7480d92 in g_main_loop_run () at /lib64/libglib-2.0.so.0 #3 0x00007f26c7a79e46 in gdbus_shared_thread_func () at /lib64/libgio-2.0.so.0 #4 0x00007f26c74a6cf5 in g_thread_proxy () at /lib64/libglib-2.0.so.0 #5 0x00007f26c6f195ca in start_thread () at /lib64/libpthread.so.0 #6 0x00007f26c6c530ed in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f26c4692700 (LWP 10700)): #0 0x00007f26c6c4756d in poll () at /lib64/libc.so.6 #1 0x00007f26c7480a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #2 0x00007f26c7480b1c in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f26c7480b61 in glib_worker_main () at /lib64/libglib-2.0.so.0 #4 0x00007f26c74a6cf5 in g_thread_proxy () at /lib64/libglib-2.0.so.0 #5 0x00007f26c6f195ca in start_thread () at /lib64/libpthread.so.0 #6 0x00007f26c6c530ed in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f26c9098880 (LWP 10699)): #0 0x00007f26c7d6d99e in soup_connection_get_state () at /lib64/libsoup-2.4.so.1 #1 0x00007f26c7d8d0dc in soup_session_cleanup_connections () at /lib64/libsoup-2.4.so.1 #2 0x00007f26c7d916cd in soup_session_process_queue_item () at /lib64/libsoup-2.4.so.1 #3 0x00007f26c7d91f1e in soup_session_real_send_message () at /lib64/libsoup-2.4.so.1 #4 0x00007f26c8462f9d in gupnp_service_info_get_introspection () at /lib64/libgupnp-1.0.so.4 #5 0x00007f26c8ca7eb4 in prv_props_update.isra () at /usr/lib64/dleyna-renderer/libdleyna-renderer-1.0.so.1 #6 0x00007f26c8ca8218 in prv_process_rc_last_change () at /usr/lib64/dleyna-renderer/libdleyna-renderer-1.0.so.1 #7 0x00007f26c74806ba in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #8 0x00007f26c7480a70 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #9 0x00007f26c7480d92 in g_main_loop_run () at /lib64/libglib-2.0.so.0 #10 0x00007f26c8a9990c in dleyna_main_loop_start () at /lib64/libdleyna-core-1.0.so.4 #11 0x00007f26c6b70731 in __libc_start_main () at /lib64/libc.so.6 #12 0x0000555ad8befa09 in _start ()
Upstream bug: https://github.com/01org/dleyna-server/issues/150
This message is a reminder that Fedora 24 is nearing its end of life. Approximately 2 (two) weeks from now Fedora will stop maintaining and issuing updates for Fedora 24. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '24'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 24 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 24 changed to end-of-life (EOL) status on 2017-08-08. Fedora 24 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.