Issue 1539 in quodlibet: QuodLibet causes high CPU load and GNOME shell freeze.

15 views
Skip to first unread message

quod...@googlecode.com

unread,
Feb 14, 2015, 5:39:15 PM2/14/15
to quod-lib...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Normal

New issue 1539 by van.de.b...@gmail.com: QuodLibet causes high CPU load and
GNOME shell freeze.
https://code.google.com/p/quodlibet/issues/detail?id=1539

Fedora 21 on x86_64
GNOME 3.14.3-1
QuodLibet 3.3.1-1
QuodLibet is installed from Fedora repos; the system is fully updated.

Sorry, I do not have exact reproducer. My desktop is GNOME, and QuodLibet
is my favorite music player. Sometimes system freezes: mouse cursor follows
mouse movement, but applications do not react to keys and mouse clicks,
screen is not updated. However, music continues to play normally — it means
QuodLibet still works. Originally I though it is a GNOME problem, but later
I noticed such a freeze *always* occurs when I interact with QuodLibet.
Then I found that I am able to switch to console by pressing Ctrl+Alt+F2
and login. "top" shows that CPU is heavily loaded by 3 processes:
quodlibet, gnome-shell and Xorg.bin. If I kill quodlibet with TERM signal
(e. g. by "killall quodlibet"), in a couple of seconds it exits, and then
CPU load falls to normal value.

Looks very similar to problem mentioned by hallu:
https://groups.google.com/forum/#!topic/quod-libet-development/JHajL4a3YO0


--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

quod...@googlecode.com

unread,
Feb 15, 2015, 5:21:29 AM2/15/15
to quod-lib...@googlegroups.com
Updates:
Status: NeedInfo

Comment #1 on issue 1539 by reiter.c...@gmail.com: QuodLibet causes
high CPU load and GNOME shell freeze.
https://code.google.com/p/quodlibet/issues/detail?id=1539

Any idea what kind of interaction causes it?

Do you use the command line interface somewhere?

quod...@googlecode.com

unread,
Feb 17, 2015, 2:17:53 PM2/17/15
to quod-lib...@googlegroups.com

Comment #2 on issue 1539 by van.de.b...@gmail.com: QuodLibet causes high
No. No.

However, next time I will try use gdb to attach to quodlibet process to see
where it loops.

quod...@googlecode.com

unread,
Feb 17, 2015, 2:30:18 PM2/17/15
to quod-lib...@googlegroups.com
Updates:
Status: Open

Comment #3 on issue 1539 by reiter.c...@gmail.com: QuodLibet causes
high CPU load and GNOME shell freeze.
https://code.google.com/p/quodlibet/issues/detail?id=1539

Thanks!

quod...@googlecode.com

unread,
Mar 4, 2015, 12:54:54 PM3/4/15
to quod-lib...@googlegroups.com

Comment #4 on issue 1539 by van.de.b...@gmail.com: QuodLibet causes high
Ok, I have high CPU load again.

$ gdb -p 2960
...
(gdb) info stack
#0 0x00007f4afcc5daa0 in writev () from /lib64/libc.so.6
#1 0x00007f4aebebd45b in _xcb_conn_wait () from /lib64/libxcb.so.1
#2 0x00007f4aebebd851 in _xcb_out_send () from /lib64/libxcb.so.1
#3 0x00007f4aebebd8d5 in xcb_writev () from /lib64/libxcb.so.1
#4 0x00007f4aef10adee in _XSend () from /lib64/libX11.so.6
#5 0x00007f4aef10b2e2 in _XReply () from /lib64/libX11.so.6
#6 0x00007f4aef108589 in XTranslateCoordinates () from /lib64/libX11.so.6
#7 0x00007f4aef671fb6 in gdk_window_x11_get_root_coords ()
from /lib64/libgdk-3.so.0
#8 0x00007f4aef64e1f2 in gdk_window_get_origin () from /lib64/libgdk-3.so.0
#9 0x00007f4af5358db0 in ffi_call_unix64 () from /lib64/libffi.so.6
#10 0x00007f4af5358818 in ffi_call () from /lib64/libffi.so.6
#11 0x00007f4af154c6a4 in pygi_invoke_c_callable ()
from /usr/lib64/python2.7/site-packages/gi/_gi.so
#12 0x00007f4af154dfd8 in pygi_function_cache_invoke ()
from /usr/lib64/python2.7/site-packages/gi/_gi.so
#13 0x00007f4af15424be in _callable_info_call ()
from /usr/lib64/python2.7/site-packages/gi/_gi.so
#14 0x00007f4afd899903 in PyObject_Call () from /lib64/libpython2.7.so.1.0
#15 0x00007f4afd92f585 in PyEval_EvalFrameEx () from
/lib64/libpython2.7.so.1.0
#16 0x00007f4afd932400 in PyEval_EvalCodeEx () from
/lib64/libpython2.7.so.1.0
#17 0x00007f4afd8be5dc in function_call () from /lib64/libpython2.7.so.1.0
#18 0x00007f4afd899903 in PyObject_Call () from /lib64/libpython2.7.so.1.0
#19 0x00007f4afd8a8815 in instancemethod_call ()
from /lib64/libpython2.7.so.1.0
#20 0x00007f4afd899903 in PyObject_Call () from /lib64/libpython2.7.so.1.0
#21 0x00007f4afd92b4c7 in PyEval_CallObjectWithKeywords ()
from /lib64/libpython2.7.so.1.0
#22 0x00007f4af154b9b0 in pygi_signal_closure_marshal ()
from /usr/lib64/python2.7/site-packages/gi/_gi.so
#23 0x00007f4af0ea9d35 in g_closure_invoke () from
/lib64/libgobject-2.0.so.0
#24 0x00007f4af0ebba42 in signal_emit_unlocked_R ()
from /lib64/libgobject-2.0.so.0
#25 0x00007f4af0ec3d58 in g_signal_emit_valist ()
from /lib64/libgobject-2.0.so.0
#26 0x00007f4af0ec43af in g_signal_emit () from /lib64/libgobject-2.0.so.0
#27 0x00007f4aefbf0294 in gtk_widget_event_internal ()
from /lib64/libgtk-3.so.0
#28 0x00007f4aefabeae9 in gtk_main_do_event () from /lib64/libgtk-3.so.0
#29 0x00007f4aef667bb2 in gdk_event_source_dispatch ()
from /lib64/libgdk-3.so.0
#30 0x00007f4af0baaaeb in g_main_context_dispatch ()
from /lib64/libglib-2.0.so.0
#31 0x00007f4af0baae88 in g_main_context_iterate.isra ()
from /lib64/libglib-2.0.so.0
#32 0x00007f4af0bab1b2 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#33 0x00007f4aefabde25 in gtk_main () from /lib64/libgtk-3.so.0
#34 0x00007f4af5358db0 in ffi_call_unix64 () from /lib64/libffi.so.6
#35 0x00007f4af5358818 in ffi_call () from /lib64/libffi.so.6
#36 0x00007f4af154c6a4 in pygi_invoke_c_callable ()
from /usr/lib64/python2.7/site-packages/gi/_gi.so
#37 0x00007f4af154dfd8 in pygi_function_cache_invoke ()
from /usr/lib64/python2.7/site-packages/gi/_gi.so
#38 0x00007f4afd899903 in PyObject_Call () from /lib64/libpython2.7.so.1.0
#39 0x00007f4afd92f585 in PyEval_EvalFrameEx () from
/lib64/libpython2.7.so.1.0
#40 0x00007f4afd932400 in PyEval_EvalCodeEx () from
/lib64/libpython2.7.so.1.0
#41 0x00007f4afd930ae4 in PyEval_EvalFrameEx () from
/lib64/libpython2.7.so.1.0
#42 0x00007f4afd932400 in PyEval_EvalCodeEx () from
/lib64/libpython2.7.so.1.0
#43 0x00007f4afd930ae4 in PyEval_EvalFrameEx () from
/lib64/libpython2.7.so.1.0
#44 0x00007f4afd932400 in PyEval_EvalCodeEx () from
/lib64/libpython2.7.so.1.0
#45 0x00007f4afd9324f9 in PyEval_EvalCode () from /lib64/libpython2.7.so.1.0
#46 0x00007f4afd94b90f in run_mod () from /lib64/libpython2.7.so.1.0
#47 0x00007f4afd94cb32 in PyRun_FileExFlags () from
/lib64/libpython2.7.so.1.0
#48 0x00007f4afd94dd47 in PyRun_SimpleFileExFlags ()
from /lib64/libpython2.7.so.1.0
#49 0x00007f4afd95f2ea in Py_Main () from /lib64/libpython2.7.so.1.0
#50 0x00007f4afcb86fe0 in __libc_start_main () from /lib64/libc.so.6
#51 0x000000000040071e in _start ()

Then I run "continue" gdb command. My intention was break execution by
Ctrl+C and see stack backtrace again, but after continuing execution CPU
load becomes normal, so I just exited from gdb.

Also, I forgot to look at status of other threads (I suppose quodlibet is a
multithread application).

Let me know gdb commands to execute to find out required info.

quod...@googlecode.com

unread,
Mar 4, 2015, 1:38:16 PM3/4/15
to quod-lib...@googlegroups.com

Comment #5 on issue 1539 by van.de.b...@gmail.com: QuodLibet causes high
See attached logs (the first log is the same as above).

Now I can reproduce this misbehavior quite easily:

1. Quodlibet is in Album List Mode (View -> Album List). Left pane
(containing album list) is not too wide: some albums should not fit.

2. Move mouse pointer to a truncated album (which is not shown fully due to
small width of the pane). QuodLibet will show full information as a tooltip
(?). Starting from now, do *not* touch mouse — do not move mouse pointer it
and do not click mouse buttons.

3. Now press Alt+Tab to switch from QuodLibet to another application. (I am
not sure if it is important, but all the applications at my desktop are
maximized.) You will see another application window, and QoudLibet's
tooltip (album info) over it.

4. Press Alt+Tab again to switch back to QuodLibet. Tooltip is not visible
(I am not sure whether QuodLibet closed it or it is not visible under the
QuodLibet main window).

5. Press Alt+Tab again. Gnome shell freezes.


Attachments:
qoudlibet-1.log 4.9 KB
quodlibet-2.log 4.0 KB
quodlibet-3.log 5.1 KB

quod...@googlecode.com

unread,
Mar 6, 2015, 10:13:13 AM3/6/15
to quod-lib...@googlegroups.com

Comment #6 on issue 1539 by reiter.c...@gmail.com: QuodLibet causes
high CPU load and GNOME shell freeze.
https://code.google.com/p/quodlibet/issues/detail?id=1539

I can't reproduce on my system, but will try with a few VMs. Thanks for the
detailed report.
Reply all
Reply to author
Forward
0 new messages