Bug 334015 - Some GTK3 applications hang with gtk3-engines-oxygen under Kubuntu Trusty 14.04
Summary: Some GTK3 applications hang with gtk3-engines-oxygen under Kubuntu Trusty 14.04
Status: RESOLVED WORKSFORME
Alias: None
Product: Oxygen
Classification: Plasma
Component: gtk3-engine (show other bugs)
Version: 4.13.0
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL: http://hp.kairaven.de/misc/test.html
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-28 12:33 UTC by kraven
Modified: 2018-11-30 03:59 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
hugo.pereira.da.costa: corner_case-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kraven 2014-04-28 12:33:37 UTC
Hi,

this bug was reported <https://bugs.launchpad.net/bugs/1313153> before, but i was told to submit it here.

With oxygen-gtk as GTK design in the systemsettings, some GTK3 applications hang and consume 100% CPU and eat all RAM. I had this problem with Handbrake, Wireshark and gImageReader under Kubuntu Trusty 14.04.

With the selection of the above design for GTK3 apps, the file settings.ini file is copied from /usr/share/themes/oxygen-gtk/gtk-3.0 to ~/.config/gtk-3. If i delete the line

gtk-theme-name=oxygen-gtk

from ~/.config/gtk-3/settings.ini all the applications mentioned above start and run without problems except, that the style is not complete as shown on the webpage.

$ lsb_release -rd
Description: Ubuntu 14.04 LTS
Release: 14.04

Paket: gtk3-engines-oxygen
Neu: ja
Zustand: Installiert
Automatisch installiert: nein
Multi-Arch: same
Version: 1.3.5-0ubuntu1
Priorität: optional
Bereich: universe/gnome

Reproducible: Always

Steps to Reproduce:
see above.
Comment 1 Hugo Pereira Da Costa 2014-04-28 13:11:28 UTC
Can't reproduce with wireshark (recompiled locally to use gtk3, as above)
The other applications I'm unsuccesfull at getting them compiled here, and they are not provided by my distributions.

In any case. I'd need the version you have of "gtk3" and "glib".

Mine: 
oxygen-gtk3: vgtk3-1.3.5
gtk: 3.10.6
glib: 2.38.2

Some more information about where the code gets stuck would also help of course.
I suspect issues with g_spawn_command_line_sync, which we had in the past, and was a glib bug. 

If you have access to oxygen-gtk3 source cause, maybe you can try apply the following patch and report. (though it is just a wild guess)

diff --git a/src/oxygenqtsettings.cpp b/src/oxygenqtsettings.cpp
index e02aa28..f2d0b8b 100644
--- a/src/oxygenqtsettings.cpp
+++ b/src/oxygenqtsettings.cpp
@@ -214,7 +214,7 @@ namespace Oxygen
 
     //_________________________________________________________
     bool QtSettings::runCommand( const std::string& command, char*& result ) const
-    { return g_spawn_command_line_sync( command.c_str(), &result, 0L, 0L, 0L ) && result; }
+    { return false; }
 
     //_________________________________________________________
     bool QtSettings::loadKdeGlobals( void )
Comment 2 kraven 2014-04-28 20:19:11 UTC
(In reply to comment #1)

Hi,

> In any case. I'd need the version you have of "gtk3" and "glib".

gtk3-engines-oxygen: 1.3.5-0ubuntu1
libgtk-3-0: 3.10.8-0ubuntu1
libglib2.0-0: 2.40.0-2

> If you have access to oxygen-gtk3 source cause, maybe you can try apply the
> following patch and report. (though it is just a wild guess)

I have recompiled the Kubuntu source package with your patch, but nothing changed with Wireshark and gImageReader. The problem with Handbrake pertained to the "6171svnppa1~trusty1" snapshot/svn GTK3 version from John Stebbins, but i have switched to the stable 0.9.9 GTK2 version from the repository.
Comment 3 Cédric Bellegarde 2014-04-28 22:13:19 UTC
Here Kubuntu 14.04 and i can't reproduce issue with Wireshark and Oxygen-gtk3.
Same for handbrake, working as expected here...

What is your graphic card?
Comment 4 kraven 2014-04-29 11:18:15 UTC
(In reply to comment #3)
> Here Kubuntu 14.04 and i can't reproduce issue with Wireshark and
> Oxygen-gtk3.
> Same for handbrake, working as expected here...
> What is your graphic card?

It's a G98 [GeForce 8400 GS Rev. 2] (0x06E4).

In the meantime, i have tried various (known) steps:
- renamed/deleted different configuration files in ~/.kde, ~/.config (inc. settings.ini), gtk*, /var/tmp/kdecache-user, ~/.nvidia-settings-rc and so on, than re-login, started Wireshark -> nothing changed
- created a second user and login with and without my xorg config files in /etc/X11/xorg.conf.d, changed nothing in the default settings after KDE start, started Wireshark -> nothing changed.
Comment 5 Ruslan Kabatsayev 2014-04-29 11:23:50 UTC
Could you try running the app which hangs under debugger, like this:

gdb -ex 'r' wireshark

Then, when you get it to hang, press Ctrl+C in the terminal and enter "bt" (without quotes) at gdb prompt, and post the output here (pressing Enter if gdb asks to do it to continue, so that the full backtrace is generated).
Comment 6 kraven 2014-04-29 11:27:03 UTC
(In reply to comment #4)
i forgot:
- changed the NVIDIA driver from "331.38 from nvidia-331-updates" to "331.38 (Recommended Driver)" with the Driver Manager, but this changed nothing too.
Comment 7 kraven 2014-04-29 11:38:54 UTC
(In reply to comment #5)

OK, here is the output:

$ gdb -ex 'r' wireshark
This GDB was configured as "i686-linux-gnu".
Reading symbols from wireshark...(no debugging symbols found)...done.
Starting program: /usr/bin/wireshark 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".

** (wireshark:9564): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
[New Thread 0xb33ecb40 (LWP 9570)]
^C
Program received signal SIGINT, Interrupt.
0xb49ccd98 in g_type_class_peek () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
(gdb) bt
#0  0xb49ccd98 in g_type_class_peek () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#1  0xb4e861aa in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#2  0xb4d50e1e in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#3  0xb4d51437 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#4  0xb4d5200b in gtk_css_provider_load_from_file () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#5  0xb4d520aa in gtk_css_provider_load_from_path () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#6  0xb4d524f4 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#7  0xb4e6886e in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#8  0xb4e68a35 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#9  0xb49b03de in g_cclosure_marshal_VOID__PARAM () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#10 0xb49ac5a4 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#11 0xb49ada7e in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#12 0xb49bf6cc in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0xb49c7963 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#14 0xb49c7bf3 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#15 0xb49b1aef in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#16 0xb49b44d0 in g_object_notify () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#17 0xb4e67e8a in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#18 0xb4e683fa in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#19 0xb4e68930 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#20 0xb4e68c66 in gtk_settings_get_for_screen () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#21 0xb4e68d30 in gtk_settings_get_default () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#22 0xb7fc01f5 in ?? () from /usr/lib/i386-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so
#23 0xb7fc050b in gtk_module_init () from /usr/lib/i386-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so
#24 0xb4e06ab0 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#25 0xb49b03de in g_cclosure_marshal_VOID__PARAM () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#26 0xb49ada7e in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#27 0xb49c0029 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#28 0xb49c7963 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#29 0xb49c7bf3 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#30 0xb49b1aef in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#31 0xb49b44d0 in g_object_notify () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#32 0xb4bb1849 in gdk_display_manager_set_default_display () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
#33 0xb4bb1b74 in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
#34 0xb4bb002d in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
#35 0xb49af709 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#36 0xb49ac457 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#37 0xb49adcce in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#38 0xb49c7080 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#39 0xb49c80b1 in g_signal_emit_by_name () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#40 0xb4bd5abe in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
#41 0xb4bb1a36 in gdk_display_manager_open_display () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
#42 0xb4bb0d84 in gdk_display_open () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
#43 0xb4ba8915 in gdk_display_open_default_libgtk_only () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
#44 0xb4de16ae in gtk_init_check () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#45 0xb4de16e3 in gtk_init () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
#46 0x08060249 in ?? ()
#47 0xb467ba83 in __libc_start_main (main=0x805ff10, argc=1, argv=0xbfffef54, init=0x818d180 <__libc_csu_init>, fini=0x818d1f0 <__libc_csu_fini>, 
    rtld_fini=0xb7fed180 <_dl_fini>, stack_end=0xbfffef4c) at libc-start.c:287
#48 0x08061717 in _start ()

In relation to the "Reorg.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus" message: I have purged at-spi2-core, but i have the same problems with or without started at-spi-bus-launcher and at-spi2-registryd.
Comment 8 Hugo Pereira Da Costa 2014-04-29 12:09:54 UTC
... seems it gets stuck in gtk3. No oxygen in this stack.
Did you actually try with another widget style ? 
(e.g. instead of deleting gtk-theme-name=oxygen-gtk, can you replace it with "gtk-theme-name=Adwaita, assuming Adwaita is installed on your system) ?
Comment 9 Ruslan Kabatsayev 2014-04-29 12:17:27 UTC
I've tried running Kubuntu 14.04 in QEMU from iso image, installed wireshark from repository, run it, and didn't get any hang. 
How to reproduce this bug?
Comment 10 kraven 2014-04-29 14:04:18 UTC
(In reply to comment #8)
> ... seems it gets stuck in gtk3. No oxygen in this stack.
> Did you actually try with another widget style ? 

After your suggestion - thx btw. ;) - i have installed the Adwaita-X dark/light theme (https://opendesktop.org/content/show.php?content=150905) and the Uncomplicated theme (https://opendesktop.org/content/show.php?content=157986), tried both as GTK3 designs and had no peroblems with Wireshark and gImageReader.
Comment 11 Hugo Pereira Da Costa 2014-04-29 14:08:39 UTC
... so the plot thickens ...
the hang seems correlated to the use of oxygen-gtk3, though not directly.
and we can't reproduce ...
I wonder if it is not gtk getting somehow messed up because of us forcing some initializations to be performed too early. In all cases this will be very difficult to track down.
random question (sort of): which desktop environement are you using ?
Comment 12 kraven 2014-04-29 14:37:47 UTC
(In reply to comment #11)
> very difficult to track down.

it seems so ;)

> random question (sort of): which desktop environement are you using ?

$ kde4-config --version
Qt: 4.8.6
KDE: 4.13.0
kde4-config: 1.0

with lightdm 1.10.0-0ubuntu3 as display manager under Kubuntu 14.04.
Comment 13 Cédric Bellegarde 2014-04-29 14:59:22 UTC
Working as expected here with Nvidia driver:
304.117-0ubuntu1

Can you downgrade?
Comment 14 kraven 2014-04-29 19:23:45 UTC
(In reply to comment #13)
> Working as expected here with Nvidia driver:
> 304.117-0ubuntu1
> Can you downgrade?

Done. The same problems with 304.117-0ubuntu1.
Comment 15 Andrew Crouthamel 2018-10-31 04:01:20 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 16 Bug Janitor Service 2018-11-15 10:46:24 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 17 Bug Janitor Service 2018-11-30 03:59:22 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!