Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
None
-
5.5.1
-
None
-
* Linux 4.3.0-gentoo
* LxQt 0.9.0
* ibus 1.5.11
Description
When exiting any Python-based Qt5 application with QT_IM_MODULE=ibus, the application crashes with a segmentation fault:
~ $ QT_IM_MODULE=xim ipython3 qtconsole iconTheme "Adwaita" [JupyterQtConsoleApp] shutdown: {'restart': False, 'status': 'ok'} ~ $ QT_IM_MODULE=ibus ipython3 qtconsole iconTheme "Adwaita" [JupyterQtConsoleApp] shutdown: {'restart': False, 'status': 'ok'} Speicherzugriffsfehler (Speicherabzug geschrieben)
The complete backtrace looks as follows:
Core was generated by `/usr/bin/python3.4 /usr/lib/python-exec/python3.4/ipython3 qtconsole'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007fa564efb260 in ?? () [Current thread is 1 (Thread 0x7fa57acde700 (LWP 8445))] (gdb) bt #0 0x00007fa564efb260 in ?? () #1 0x00007fa571158f83 in QInternal::activateCallbacks (cb=cb@entry=QInternal::EventNotifyCallback, parameters=parameters@entry=0x7ffd7b187ae0) at global/qglobal.cpp:3817 #2 0x00007fa57135b575 in QCoreApplication::notifyInternal (this=0x55e6b51e5900, receiver=0x55e6b55b53b0, event=event@entry= 0x7ffd7b187b50) at kernel/qcoreapplication.cpp:954 #3 0x00007fa571394319 in QCoreApplication::sendEvent (event=0x7ffd7b187b50, receiver=<optimized out>) at kernel/qcoreapplication.h:224 #4 QObjectPrivate::setParent_helper (this=this@entry=0x55e6b55cfc40, o=o@entry=0x0) at kernel/qobject.cpp:1972 #5 0x00007fa5713949d8 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1031 #6 0x00007fa5713999ef in QSocketNotifier::~QSocketNotifier (this=0x55e6b55c89e0, __in_chrg=<optimized out>) at kernel/qsocketnotifier.cpp:159 #7 0x00007fa568041dff in qDBusRemoveWatch (watch=0x55e6b553f1f0, data=0x55e6b55b53b0) at qdbusintegrator.cpp:295 #8 0x00007fa565fb6c26 in _dbus_watch_list_remove_watch (watch_list=0x55e6b553f050, watch=0x55e6b553f1f0) at /var/tmp/paludis/sys-apps-dbus-1.8.20/work/dbus-1.8.20/dbus/dbus-watch.c:420 #9 0x00007fa565f99a64 in protected_change_watch (enabled=0, toggle_function=0x0, remove_function=<optimized out>, add_function=0x0, watch=<optimized out>, connection=<optimized out>) at /var/tmp/paludis/sys-apps-dbus-1.8.20/work/dbus-1.8.20/dbus/dbus-connection.c:717 #10 _dbus_connection_remove_watch_unlocked (connection=<optimized out>, watch=<optimized out>) at /var/tmp/paludis/sys-apps-dbus-1.8.20/work/dbus-1.8.20/dbus/dbus-connection.c:764 #11 0x00007fa565fb4c54 in free_watches (transport=transport@entry=0x55e6b553f090) at /var/tmp/paludis/sys-apps-dbus-1.8.20/work/dbus-1.8.20/dbus/dbus-transport-socket.c:81 #12 0x00007fa565fb4d0f in socket_disconnect (transport=0x55e6b553f090) at /var/tmp/paludis/sys-apps-dbus-1.8.20/work/dbus-1.8.20/dbus/dbus-transport-socket.c:1011 #13 0x00007fa565fb392a in _dbus_transport_disconnect (transport=0x55e6b553f090) at /var/tmp/paludis/sys-apps-dbus-1.8.20/work/dbus-1.8.20/dbus/dbus-transport.c:511 #14 0x00007fa565f9c8e8 in _dbus_connection_close_possibly_shared_and_unlock (connection=0x55e6b553f730) at /var/tmp/paludis/sys-apps-dbus-1.8.20/work/dbus-1.8.20/dbus/dbus-connection.c:2869 #15 0x00007fa56803c382 in q_dbus_connection_close (connection=<optimized out>) at qdbus_symbols_p.h:186 #16 QDBusConnectionPrivate::closeConnection (this=0x55e6b55b53b0) at qdbusintegrator.cpp:1091 #17 0x00007fa568032013 in QDBusConnectionManager::~QDBusConnectionManager ( this=0x7fa5680a5500 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>, __in_chrg=<optimized out>) at qdbusconnection.cpp:88 #18 0x00007fa5680320bb in (anonymous namespace)::Q_QGS__q_manager::innerFunction()::Holder::~Holder() () at qdbusconnection.cpp:59 #19 0x00007fa57a0c1660 in __run_exit_handlers (status=0, listp=0x7fa57a42f618 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82 #20 0x00007fa57a0c16c8 in __GI_exit (status=<optimized out>) at exit.c:104 #21 0x00007fa57a0aa73b in __libc_start_main (main=0x55e6b478ab20 <main>, argc=3, argv=0x7ffd7b188008, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd7b187ff8) at libc-start.c:323 #22 0x000055e6b478ad59 in _start () at ../sysdeps/x86_64/start.S:108
Terminating the ibus-daemon or setting QM_IM_MODULE=xim makes the segmentation fault go away.
Since C++ based Qt applications terminate correctly I assume that it must have something to do with PyQt5, but the segmentation fault still happens in the C++ code itself.