FS#24916 - Qt Designer crashes when activating open/saveas dialog
Attached to Project:
Arch Linux
Opened by kachelaqa (kachelaqa) - Monday, 27 June 2011, 22:31 GMT
Last edited by Andrea Scarpino (BaSh) - Friday, 30 December 2011, 04:16 GMT
Opened by kachelaqa (kachelaqa) - Monday, 27 June 2011, 22:31 GMT
Last edited by Andrea Scarpino (BaSh) - Friday, 30 December 2011, 04:16 GMT
|
Details
Description:
after the recent glibc upgrade, qt designer crashes when attempting to activate the open/saveas dialogs. downgrading to glibc-2.13-5 fixes the problem. Versions affected: qt-4.7.3-3 glibc-2.14-4 |
This task depends upon
Closed by Andrea Scarpino (BaSh)
Friday, 30 December 2011, 04:16 GMT
Reason for closing: Fixed
Additional comments about closing: qt 4.8-1
Friday, 30 December 2011, 04:16 GMT
Reason for closing: Fixed
Additional comments about closing: qt 4.8-1
Some more information:
makekdewidgets(27309) Sonnet::DictionaryComboBox::reloadCombo: Populate combo: "English (United States of America)" : "en_US"
makekdewidgets(27309) Sonnet::DictionaryComboBox::reloadCombo: Populate combo: "German (Austria)" : "de_AT"
makekdewidgets(27309) Sonnet::DictionaryComboBox::reloadCombo: Populate combo: "German (Germany)" : "de_DE"
makekdewidgets(27309) Sonnet::DictionaryComboBox::reloadCombo: Populate combo: "German (Switzerland)" : "de_CH"
QMetaProperty::read: Unable to handle unregistered datatype 'KUrl' for property 'KUrlRequester::url'
QMetaProperty::read: Unable to handle unregistered datatype 'QList<QColor>' for property 'KColorCombo::colors'
Application asked to unregister timer 0x5e000007 which is not registered in this thread. Fix application.
Application asked to unregister timer 0x61000002 which is not registered in this thread. Fix application.
QMetaProperty::read: Unable to handle unregistered datatype 'SelectionBehavior' for property 'QTabBar::selectionBehaviorOnRemove'
Application asked to unregister timer 0x51000007 which is not registered in this thread. Fix application.
makekdewidgets(27309) fileModule: Failed to load configured file module "kfilemodule"
Speicherzugriffsfehler
kfilemodule.so is in place.
For downgrading the following packages work for me:
glibc-2.13-5 binutils-2.21-7 gcc-libs-4.6.0-6 gcc-4.6.0-6 libtool-2.4-3
-rob
I can't / don't know how to downgrade glibc safely (last time I try, broke entire system). Any other solution?
Downgrading qt to 4.7.2-6 don't work neither
- Jrh
http://dev.archlinux.org/~andrea/pkgs/qt-4.7.3-4-i686.pkg.tar.xz
http://dev.archlinux.org/~andrea/pkgs/qt-4.7.3-4-x86_64.pkg.tar.xz
i tried your i686 package - but designer is still crashing
no, i use phonon-gstreamer
Program received signal SIGSEGV, Segmentation fault.
0xb53db79d in KFileDialog::KFileDialog(KUrl const&, QString const&, QWidget*, QWidget*) () from /usr/lib/libkio.so.5
(gdb) bt
#0 0xb53db79d in KFileDialog::KFileDialog(KUrl const&, QString const&, QWidget*, QWidget*) () from /usr/lib/libkio.so.5
#1 0xb53e0fe5 in ?? () from /usr/lib/libkio.so.5
#2 0xb723b05a in QFileDialog::getOpenFileNames (parent=0xbfffe534, caption=..., dir=..., filter=..., selectedFilter=0x0, options=...)
at dialogs/qfiledialog.cpp:1789
#3 0x080851e7 in QDesignerActions::openForm (this=0x8d4fba8, parent=0x0) at qdesigner_actions.cpp:603
#4 0x080853ef in QDesignerActions::slotOpenForm (this=0x8d4fba8) at qdesigner_actions.cpp:595
#5 0x080948c2 in QDesignerActions::qt_metacall (this=0x8d4fba8, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>,
_a=0xbfffe7f8) at .moc/debug-shared/moc_qdesigner_actions.cpp:122
#6 0xb68cc3ec in metacall (object=0x8d4fba8, cl=QMetaObject::InvokeMetaMethod, idx=7, argv=0xbfffe7f8) at kernel/qmetaobject.cpp:237
#7 QMetaObject::metacall (object=0x8d4fba8, cl=QMetaObject::InvokeMetaMethod, idx=7, argv=0xbfffe7f8) at kernel/qmetaobject.cpp:232
#8 0xb68db670 in QMetaObject::activate (sender=0x8afe178, m=0x80b3890, local_signal_index=1, argv=0xbfffe7f8) at kernel/qobject.cpp:3278
#9 0xb6c76c8d in QAction::triggered (this=0x8afe178, _t1=false) at .moc/debug-shared/moc_qaction.cpp:263
#10 0xb6c76f2b in QAction::activate (this=0x8afe178, event=QAction::Trigger) at kernel/qaction.cpp:1257
#11 0xb71d3710 in trigger (this=0x847b190) at ../../include/QtGui/../../src/gui/kernel/qaction.h:218
#12 QToolButton::nextCheckState (this=0x847b190) at widgets/qtoolbutton.cpp:1147
#13 0xb70ea467 in QAbstractButtonPrivate::click (this=0x8d2ea80) at widgets/qabstractbutton.cpp:528
#14 0xb70ea766 in QAbstractButton::mouseReleaseEvent (this=0x847b190, e=0xbfffede8) at widgets/qabstractbutton.cpp:1121
#15 0xb71d37ad in QToolButton::mouseReleaseEvent (this=0x847b190, e=0xbfffede8) at widgets/qtoolbutton.cpp:721
#16 0xb6ce2826 in QWidget::event (this=0x847b190, event=0xbfffede8) at kernel/qwidget.cpp:8259
#17 0xb70e98d9 in QAbstractButton::event (this=0x847b190, e=0xbfffede8) at widgets/qabstractbutton.cpp:1080
#18 0xb71d503c in QToolButton::event (this=0x847b190, event=0xbfffede8) at widgets/qtoolbutton.cpp:1163
#19 0xb6c7e3ec in notify_helper (this=0x80b4f20, receiver=0x847b190, e=0xbfffede8) at kernel/qapplication.cpp:4462
#20 QApplicationPrivate::notify_helper (this=0x80b4f20, receiver=0x847b190, e=0xbfffede8) at kernel/qapplication.cpp:4434
#21 0xb6c85266 in QApplication::notify (this=0x80b4f20, receiver=0x847b190, e=0xbfffede8) at kernel/qapplication.cpp:4023
#22 0xb68c534e in QCoreApplication::notifyInternal (this=0xbffff528, receiver=0x847b190, event=0xbfffede8)
at kernel/qcoreapplication.cpp:731
#23 0xb6c7f971 in sendEvent (receiver=0x847b190, event=0xbfffede8, alienWidget=0x847b190, nativeWidget=0x8480428, buttonDown=0xb76a5934,
lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 QApplicationPrivate::sendMouseEvent (receiver=0x847b190, event=0xbfffede8, alienWidget=0x847b190, nativeWidget=0x8480428,
buttonDown=0xb76a5934, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#25 0xb6d15db7 in QETWidget::translateMouseEvent (this=0x8480428, event=0xbffff1c0) at kernel/qapplication_x11.cpp:4461
#26 0xb6d145d7 in QApplication::x11ProcessEvent (this=0xbffff528, event=0xbffff1c0) at kernel/qapplication_x11.cpp:3587
#27 0xb6d411ac in x11EventSourceDispatch (s=0x80b8c40, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#28 0xb6167c4f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0xb61683b0 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0xb61686da in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0xb68f7a4a in QEventDispatcherGlib::processEvents (this=0x80b5a30, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#32 0xb6d40d9a in QGuiEventDispatcherGlib::processEvents (this=0x80b5a30, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0xb68c3a1d in QEventLoop::processEvents (this=0xbffff4c4, flags=...) at kernel/qeventloop.cpp:149
#34 0xb68c3c69 in QEventLoop::exec (this=0xbffff4c4, flags=...) at kernel/qeventloop.cpp:201
#35 0xb68c984d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#36 0xb6c7c134 in QApplication::exec () at kernel/qapplication.cpp:3736
#37 0x0805932b in main (argc=1, argv=0xbffff5f4) at main.cpp:57
In my system $QT_PLUGIN_PATH points to "/home/javier/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/" but the first folder doesn't exists.
It looks like a plugin related problem.
Doing more test, if I delete the kdewidgets.so plugin everything seems to work.
Hope this help !!!
good find! deleting the kdewidgets.so plugin also works for me.
i'm using kde.
a couple of other things i tried before deleting the kdewidgets.so plugin:
(1) login as a new user
(2) switch from qtcurve to plastique style
...but obviously neither had any effect
i really wish the qt devs wouldn't force native file-dialogs on users - it should be optional
The "kdewidgets.so" plugin provides a Qt Designer plugin for the core KDE widgets from "libkdeui". It makes KDE widgets appear in the widgets collection of the designer and allows to design user interfaces containing KDE widgets. This kind of plugin is specific to the Qt designer, and consequently this issue only affects the Qt designer, but not any other plain Qt application.
nope. if you remove kdewidgets.so *and* libkde.so, qt designer/linguist will still show a native file-dialog rather than a qt file-dialog.
what i want is a global option to switch off the use of native dialogs (whether kde or otherwise) for *all* pure-qt applications.
this is mainly because i find the kde file-dialogs can be irritatingly slow to open compared to the qt ones.
This issue tracker and especially this issue is certainly not the right place to generally discuss the pros and cons of a certain Qt feature. Feature requests concerning Qt should be reported to the Qt issue tracker.
thank you, but i'm perfectly well aware of what the various plugins do, and of which applications are affected and how.
even so, i will repeat that removing libkde.so *will not* prevent qt designer (or linguist or virtualbox) from showing a kde file-dialog, even though it does for certain other pure-qt applications (such as smplayer).
i suspect that if qt designer used its own file-dialogs, this issue might not occur.
the qtcurve config dialog has a setting under 'Applications' called 'Use Qt file dialog'. this /should/ allow native dialogs to be removed on a per application basis, but, for some reason this has never previously worked for me so i overlooked it. however, i gave it another try and the upshot is that i have been able to reinstall the kdewidgets.so plugin and designer now shows qt file-dialogs with no segfaults. (nb: this only works for me if i *also* remove the libkde.so plugin).
this is the best workaround so far, as it restores all previous functionality.
ps: i have also been able to restore my $QT_PLUGIN_PATH so that it includes '/usr/lib/kde4/plugins/'
Still, the dialogs are probably only symptom, but not the cause, because obviously only applications which load "kdewidgets.so" are affected.
i can confirm that the problem no longer occurs for me with qt-4.8.0