Bug 305151 - systemsettings crash after viewing effects
Summary: systemsettings crash after viewing effects
Status: RESOLVED UNMAINTAINED
Alias: None
Product: qtatspi
Classification: Miscellaneous
Component: general (show other bugs)
Version: 0.3.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Frederik Gladhorn
URL:
Keywords:
: 297413 299974 300027 305843 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-08-14 17:23 UTC by Stéphane Gourichon
Modified: 2018-09-04 15:32 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Valgrind log, annotated on test on fresh account no crash though invalid operations (722.88 KB, text/plain)
2012-08-29 05:33 UTC, Stéphane Gourichon
Details
Crash reproduced under valgrind control. (94.76 KB, text/plain)
2012-08-29 08:06 UTC, Stéphane Gourichon
Details
Valgrind log: after purged libqspiaccessiblebridge.so . Bug no longer observed. (77.64 KB, text/plain)
2012-08-29 15:23 UTC, Stéphane Gourichon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stéphane Gourichon 2012-08-14 17:23:27 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.8.4 (4.8.4)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-29-generic x86_64
Distribution: Ubuntu 12.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:

* play with alt-shift-f12 to toggle desktop effects
* in "desktop effect" choose "all effects"
* see list of effects, clock on any "i" to get more information
* a popup shows, e.g. "track mouse version 0.1.0" and stderr says :
OpenGL vendor string:                   Tungsten Graphics, Inc
OpenGL renderer string:                 Mesa DRI Intel(R) Sandybridge Mobile 
OpenGL version string:                  3.0 Mesa 8.0.2
OpenGL shading language version string: 1.30
Driver:                                 Intel
GPU class:                              SandyBridge
OpenGL version:                         3.0
GLSL version:                           1.30
Mesa version:                           8.0.2
X server version:                       1.11.3
Linux kernel version:                   3.2
Direct rendering:                       yes
Requires strict binding:                yes
GLSL shaders:                           yes
Texture NPOT support:                   yes
OpenGL vendor string:                   Tungsten Graphics, Inc
OpenGL renderer string:                 Mesa DRI Intel(R) Sandybridge Mobile 
OpenGL version string:                  3.0 Mesa 8.0.2
OpenGL shading language version string: 1.30
Driver:                                 Intel
GPU class:                              SandyBridge
OpenGL version:                         3.0
GLSL version:                           1.30
Mesa version:                           8.0.2
X server version:                       1.11.3
Linux kernel version:                   3.2
Direct rendering:                       yes
Requires strict binding:                yes
GLSL shaders:                           yes
Texture NPOT support:                   yes

* click on "close" 

Observed behavior: crash.
Expected behavior: no crash.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4b629ae780 (LWP 27157))]

Thread 2 (Thread 0x7f4b4ac7f700 (LWP 27158)):
#0  0x00007f4b5fe3fb03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4b5d626036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4b5d626164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4b605c0426 in QEventDispatcherGlib::processEvents (this=0x7f4b440008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f4b6058fc82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f4b6058fed7 in QEventLoop::exec (this=0x7f4b4ac7edd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f4b6048efa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f4b6056f9ff in QInotifyFileSystemWatcherEngine::run (this=0x18eefb0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f4b60491fcb in QThreadPrivate::start (arg=0x18eefb0) at thread/qthread_unix.cpp:298
#9  0x00007f4b5daf2e9a in start_thread (arg=0x7f4b4ac7f700) at pthread_create.c:308
#10 0x00007f4b5fe4b4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4b629ae780 (LWP 27157)):
[KCrash Handler]
#6  0x0000000000000030 in ?? ()
#7  0x00007f4b605a4b04 in QObject::disconnect (sender=0x2907c70, signal=0x2917499 "rowsInserted(QModelIndex,int,int)", receiver=0x2908ad0, method=0x1feb439 "_k_slotRowsInserted(QModelIndex,int,int)") at kernel/qobject.cpp:2891
#8  0x00007f4b61f212ef in eventFilter (event=0x7fffcc867910, watched=0x28bde20, this=0x290c660) at ../../kdeui/itemviews/kwidgetitemdelegate.cpp:253
#9  KWidgetItemDelegatePrivate::eventFilter (this=0x290c660, watched=0x28bde20, event=0x7fffcc867910) at ../../kdeui/itemviews/kwidgetitemdelegate.cpp:236
#10 0x00007f4b60591028 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x28bde20, event=0x7fffcc867910) at kernel/qcoreapplication.cpp:986
#11 0x00007f4b6120885f in notify_helper (e=0x7fffcc867910, receiver=0x28bde20, this=0x18b9630) at kernel/qapplication.cpp:4555
#12 QApplicationPrivate::notify_helper (this=0x18b9630, receiver=0x28bde20, e=0x7fffcc867910) at kernel/qapplication.cpp:4531
#13 0x00007f4b6120d713 in QApplication::notify (this=0x7fffcc869b20, receiver=0x28bde20, e=0x7fffcc867910) at kernel/qapplication.cpp:4420
#14 0x00007f4b61f429e6 in KApplication::notify (this=0x7fffcc869b20, receiver=0x28bde20, event=0x7fffcc867910) at ../../kdeui/kernel/kapplication.cpp:311
#15 0x00007f4b60590e9c in QCoreApplication::notifyInternal (this=0x7fffcc869b20, receiver=0x28bde20, event=0x7fffcc867910) at kernel/qcoreapplication.cpp:876
#16 0x00007f4b6172330d in sendEvent (event=0x7fffcc867910, receiver=0x28bde20) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#17 QAccessible::queryAccessibleInterface (object=0x28bde20) at accessible/qaccessible.cpp:593
#18 0x00007f4b6172951d in QAccessible::updateAccessibility (o=<optimized out>, who=0, reason=QAccessible::ObjectDestroyed) at accessible/qaccessible_unix.cpp:102
#19 0x00007f4b6125374f in QWidget::~QWidget (this=0x28bde20, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1679
#20 0x00007f4b61253a19 in QWidget::~QWidget (this=0x28bde20, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1700
#21 0x00007f4b605a3935 in QObjectPrivate::deleteChildren (this=0x2908c60) at kernel/qobject.cpp:1908
#22 0x00007f4b61253740 in QWidget::~QWidget (this=0x29082e0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1676
#23 0x00007f4b61ebafce in ~KAboutApplicationPersonListView (this=0x29082e0, __in_chrg=<optimized out>) at ../../kdeui/dialogs/kaboutapplicationpersonlistview_p.h:26
#24 KDEPrivate::KAboutApplicationPersonListView::~KAboutApplicationPersonListView (this=0x29082e0, __in_chrg=<optimized out>) at ../../kdeui/dialogs/kaboutapplicationpersonlistview_p.h:26
#25 0x00007f4b605a3935 in QObjectPrivate::deleteChildren (this=0x28be9e0) at kernel/qobject.cpp:1908
#26 0x00007f4b61253740 in QWidget::~QWidget (this=0x28bdd10, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1676
#27 0x00007f4b61253a19 in QWidget::~QWidget (this=0x28bdd10, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1700
#28 0x00007f4b605a3935 in QObjectPrivate::deleteChildren (this=0x28c5820) at kernel/qobject.cpp:1908
#29 0x00007f4b61253740 in QWidget::~QWidget (this=0x28c57f0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1676
#30 0x00007f4b616744b9 in QStackedWidget::~QStackedWidget (this=0x28c57f0, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:193
#31 0x00007f4b605a3935 in QObjectPrivate::deleteChildren (this=0x28c55b0) at kernel/qobject.cpp:1908
#32 0x00007f4b61253740 in QWidget::~QWidget (this=0x28c3df0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1676
#33 0x00007f4b6167ffa9 in QTabWidget::~QTabWidget (this=0x28c3df0, __in_chrg=<optimized out>) at widgets/qtabwidget.cpp:367
#34 0x00007f4b605a3935 in QObjectPrivate::deleteChildren (this=0x28a13d0) at kernel/qobject.cpp:1908
#35 0x00007f4b61253740 in QWidget::~QWidget (this=0x28a13a0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1676
#36 0x00007f4b61253a19 in QWidget::~QWidget (this=0x28a13a0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1700
#37 0x00007f4b605a3935 in QObjectPrivate::deleteChildren (this=0x2823c30) at kernel/qobject.cpp:1908
#38 0x00007f4b61253740 in QWidget::~QWidget (this=0x7fffcc868000, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1676
#39 0x00007f4b625b14bb in KPluginSelector::Private::PluginDelegate::slotAboutClicked (this=0x2e05700) at ../../kutils/kpluginselector.cpp:797
#40 0x00007f4b605a5281 in QMetaObject::activate (sender=0x2300ea0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffcc868570) at kernel/qobject.cpp:3547
#41 0x00007f4b61898c72 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220
#42 0x00007f4b615d6a4e in QAbstractButtonPrivate::emitClicked (this=<optimized out>) at widgets/qabstractbutton.cpp:548
#43 0x00007f4b615d7d8b in QAbstractButtonPrivate::click (this=0x1c49750) at widgets/qabstractbutton.cpp:541
#44 0x00007f4b615d7ffc in QAbstractButton::mouseReleaseEvent (this=0x2300ea0, e=0x7fffcc868e40) at widgets/qabstractbutton.cpp:1123
#45 0x00007f4b61259144 in QWidget::event (this=0x2300ea0, event=0x7fffcc868e40) at kernel/qwidget.cpp:8362
#46 0x00007f4b61208894 in notify_helper (e=0x7fffcc868e40, receiver=0x2300ea0, this=0x18b9630) at kernel/qapplication.cpp:4559
#47 QApplicationPrivate::notify_helper (this=0x18b9630, receiver=0x2300ea0, e=0x7fffcc868e40) at kernel/qapplication.cpp:4531
#48 0x00007f4b6120e0bf in QApplication::notify (this=<optimized out>, receiver=0x2300ea0, e=0x7fffcc868e40) at kernel/qapplication.cpp:4102
#49 0x00007f4b61f429e6 in KApplication::notify (this=0x7fffcc869b20, receiver=0x2300ea0, event=0x7fffcc868e40) at ../../kdeui/kernel/kapplication.cpp:311
#50 0x00007f4b60590e9c in QCoreApplication::notifyInternal (this=0x7fffcc869b20, receiver=0x2300ea0, event=0x7fffcc868e40) at kernel/qcoreapplication.cpp:876
#51 0x00007f4b61209862 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#52 QApplicationPrivate::sendMouseEvent (receiver=0x2300ea0, event=0x7fffcc868e40, alienWidget=0x2300ea0, nativeWidget=0x20684c0, buttonDown=0x2300ea0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170
#53 0x00007f4b61288bf5 in QETWidget::translateMouseEvent (this=0x20684c0, event=<optimized out>) at kernel/qapplication_x11.cpp:4617
#54 0x00007f4b61287bae in QApplication::x11ProcessEvent (this=0x7fffcc869b20, event=0x7fffcc869710) at kernel/qapplication_x11.cpp:3732
#55 0x00007f4b612b10d2 in x11EventSourceDispatch (s=0x18af510, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#56 0x00007f4b5d625d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007f4b5d6260a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007f4b5d626164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007f4b605c03bf in QEventDispatcherGlib::processEvents (this=0x187f4b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#60 0x00007f4b612b0d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#61 0x00007f4b6058fc82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#62 0x00007f4b6058fed7 in QEventLoop::exec (this=0x7fffcc869ab0, flags=...) at kernel/qeventloop.cpp:204
#63 0x00007f4b60594f67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#64 0x000000000040a7e5 in main (argc=5, argv=0x7fffcc869de8) at ../../../systemsettings/app/main.cpp:49

Possible duplicates by query: bug 296373, bug 276066.

Reported using DrKonqi
Comment 1 Christoph Feck 2012-08-27 14:14:02 UTC
*** Bug 305843 has been marked as a duplicate of this bug. ***
Comment 2 Christoph Feck 2012-08-27 14:16:51 UTC
If the crash is reproducible, could you run system settings in valgrind, and add the valgrind log? For more information, see http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_with_Valgrind
Comment 3 Christoph Feck 2012-08-28 22:55:08 UTC
> #17 QAccessible::queryAccessibleInterface (object=0x28bde20) at accessible/qaccessible.cpp:593
> #18 0x00007f4b6172951d in QAccessible::updateAccessibility (o=<optimized out>, who=0, reason=QAccessible::ObjectDestroyed) at accessible/qaccessible_unix.cpp:102

The backtrace also indicates, that you may be use Qt with accessibility enabled. If this is the case, please ask in the forums of your distribution how to disable Qt accessibility, and report back, if this fixes the issue.
Comment 4 Stéphane Gourichon 2012-08-29 05:33:32 UTC
Created attachment 73537 [details]
Valgrind log, annotated on test on fresh account no crash though invalid operations

1) On test account : not reproduced, valgrind log provided anyway

I have a test account for bug reporting, which did not exhibit the bug. Typing systemsettings from command show this on stderr:

QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.

Still a valgrind log may be useful so I ran systemsettings again with this :
valgrind --leak-check=full --track-origins=yes --trace-children=yes systemsettings

2) Information on regular account

My regular account (used when seeing the crash) was never regularly used for full kde session.
Here's its timeline :
* account created, used with unity, gnome, then xfce for many sessions.
* no specific hack or anything that may interfere
* only KDE app used was probably k3b, never a full kde sesson (full kde not even installed)
* installed full kde (from Ubuntu standard repo) for a try, tried to login with kde, saw this bug, reported

I'll try to reproduce the bug on the regular account soon.
Thank you.

Please tell if valgrind log provided now is useful to anything.
Comment 5 Thomas Lübking 2012-08-29 07:18:16 UTC
No we'd require a valgrind log of what actually (probably) leads to the memory corruption.
If it's reproducible for sure with the regular account but not at all with the test one, it's very likely that the critical code path is not entered on the latter, therefore doesn't show up in valgrind.

It would be great, if you could provide a valgrind log of the actual crash.

Also you might want to MOVE ~/.kde/share/config/* away and put back the settings one by one, seeing what file triggers the crash, but using valgrind is likely simpler ;-)
Comment 6 Stéphane Gourichon 2012-08-29 08:06:49 UTC
Created attachment 73540 [details]
Crash reproduced under valgrind control.

Actions performed :
* login to kde session using regular account. Not changed accessibility (not found in preferece, but there is a "KDE accessible" icon on tray.
* Run : valgrind --leak-check=full --track-origins=yes --trace-children=yes systemsettings 2>&1 | tee valgrind_log_crash.txt
* Added annotations (lines starting with #).
* The part of valgrind log specific to the crash seems to be between lines 7225 and 7294.
* Notice that valgrind says, juste before the click that triggers crash :
==4677== More than 100 errors detected.  Subsequent errors
==4677== will still be recorded, but in less detail than before.

Regards.
Comment 7 Christoph Feck 2012-08-29 12:46:18 UTC
Thanks for the valgrind log. Please ask in an Ubuntu forum how you can disable Qt accessibility, and report back if this fixes the bug.
Comment 8 Christoph Feck 2012-08-29 13:13:45 UTC
*** Bug 300027 has been marked as a duplicate of this bug. ***
Comment 9 Christoph Feck 2012-08-29 13:16:17 UTC
*** Bug 297413 has been marked as a duplicate of this bug. ***
Comment 10 Christoph Feck 2012-08-29 13:17:13 UTC
*** Bug 299974 has been marked as a duplicate of this bug. ***
Comment 11 Stéphane Gourichon 2012-08-29 14:24:15 UTC
> Please ask in an Ubuntu forum how you can disable Qt accessibility, and report back if this fixes the bug.

Done http://askubuntu.com/questions/181815/how-to-disable-qt-accessibility-in-12-04 .

I tested again with valgrind with two differences :
* from my regular XFCE session instead of KDE session
* after purging package "kaccessible". 
Bug still occurs. I can provide valgrind log if useful.
Comment 12 Christoph Feck 2012-08-29 15:00:50 UTC
If everything fails, check which package installs /usr/lib/x86_64-linux-gnu/qt4/plugins/accessiblebridge/libqspiaccessiblebridge.so and try to remove it. If you cannot, because of dependencies, you can manually move the file away as root, and restart the desktop. This should remove support for Qt accessibility.
Comment 13 Stéphane Gourichon 2012-08-29 15:23:57 UTC
Created attachment 73546 [details]
Valgrind log: after purged libqspiaccessiblebridge.so . Bug no longer observed.

> check which package installs /usr/lib/x86_64-linux-gnu/qt4/plugins/accessiblebridge/libqspiaccessiblebridge.so 

$ dlocate /usr/lib/x86_64-linux-gnu/qt4/plugins/accessiblebridge/libqspiaccessiblebridge.so
qt-at-spi:amd64: /usr/lib/x86_64-linux-gnu/qt4/plugins/accessiblebridge/libqspiaccessiblebridge.so

$ sudo dpkg --purge qt-at-spi
(Lecture de la base de données... 284271 fichiers et répertoires déjà installés.)
Suppression de qt-at-spi ...

(from my regular XFCE session)

$ valgrind --leak-check=full --track-origins=yes --trace-children=yes systemsettings 2>&1 | tee valgrind_log_without_libqspiaccessiblebridge_so.txt 

$ grep q.*access valgrind_log_without_libqspiaccessiblebridge_so.txt || echo no match
no match

So, removing this package and library fixed the bug.
Comment 14 Christoph Feck 2012-08-29 17:59:49 UTC
Thank you, Stéphane. Reassigning to qtatspi developers.
Comment 15 Andrew Crouthamel 2018-09-04 15:32:56 UTC
Hello! Sorry to be the bearer of bad news, but this project has been unmaintained for many years so I am closing this bug.