Bug 418552

Summary: Random crashes on ppc64
Product: [Applications] kate Reporter: Peter Piwowarski <peterjpiwowarski>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash CC: christoph, justin.zobel
Priority: NOR Keywords: drkonqi
Version First Reported In: 19.12.0   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: attachment-18203-0.html

Description Peter Piwowarski 2020-03-06 15:50:34 UTC
Application: kate (19.12.0)

Qt Version: 5.12.5
Frameworks Version: 5.62.0
Operating System: Linux 5.3.0-3-powerpc64 ppc64
Distribution: Debian GNU/Linux bullseye/sid

-- Information about the crash:
I've seen occasional random crashes while editing C sources on Debian/ppc64 sid. In the specific case this backtrace was generated from, I had all files matching drivers/macintosh/windfarm*.? in the Linux source tree open. I can't say for sure what input triggers it, or whether it even triggers on a user input (as opposed to randomly whenever the window is open), but a quick glance over the backtrace suggests it probably is some mouse/keyboard event. More information (possibly) coming as I continue to see crashes, but I don't have constant access to this machine or use it very regularly.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault
Using host libthread_db library "/lib/powerpc64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fff92949b30 (LWP 5131))]

Thread 8 (Thread 0x7fff6cb1f070 (LWP 5142)):
#0  0x00007fff924a67bc in futex_wait_cancelable (private=0, expected=0, futex_word=0x1308f8070) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x1308f8020, cond=0x1308f8048) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x1308f8048, mutex=0x1308f8020) at pthread_cond_wait.c:655
#3  0x00007fff93cd5714 in __pthread_cond_wait (cond=<optimized out>, mutex=<optimized out>) at forward.c:149
#4  0x00007fff74f2b5fc in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#5  0x00007fff74f2b540 in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#6  0x00007fff9249dc88 in start_thread (arg=0x7fff6cb1f070) at pthread_create.c:486
#7  0x00007fff93cc3770 in .__clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82

Thread 7 (Thread 0x7fff6d32f070 (LWP 5141)):
#0  0x00007fff924a67bc in futex_wait_cancelable (private=0, expected=0, futex_word=0x1308f8070) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x1308f8020, cond=0x1308f8048) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x1308f8048, mutex=0x1308f8020) at pthread_cond_wait.c:655
#3  0x00007fff93cd5714 in __pthread_cond_wait (cond=<optimized out>, mutex=<optimized out>) at forward.c:149
#4  0x00007fff74f2b5fc in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#5  0x00007fff74f2b540 in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#6  0x00007fff9249dc88 in start_thread (arg=0x7fff6d32f070) at pthread_create.c:486
#7  0x00007fff93cc3770 in .__clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82

Thread 6 (Thread 0x7fff6db3f070 (LWP 5140)):
#0  0x00007fff924a67bc in futex_wait_cancelable (private=0, expected=0, futex_word=0x1308fc7a8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x1308fc758, cond=0x1308fc780) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x1308fc780, mutex=0x1308fc758) at pthread_cond_wait.c:655
#3  0x00007fff93cd5714 in __pthread_cond_wait (cond=<optimized out>, mutex=<optimized out>) at forward.c:149
#4  0x00007fff74f2eacc in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#5  0x00007fff74f2e890 in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#6  0x00007fff9249dc88 in start_thread (arg=0x7fff6db3f070) at pthread_create.c:486
#7  0x00007fff93cc3770 in .__clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82

Thread 5 (Thread 0x7fff6e34f070 (LWP 5139)):
#0  0x00007fff924a67bc in futex_wait_cancelable (private=0, expected=0, futex_word=0x1308fc648) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x1308fc5f8, cond=0x1308fc620) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x1308fc620, mutex=0x1308fc5f8) at pthread_cond_wait.c:655
#3  0x00007fff93cd5714 in __pthread_cond_wait (cond=<optimized out>, mutex=<optimized out>) at forward.c:149
#4  0x00007fff74f2eacc in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#5  0x00007fff74f2e890 in  () at /usr/lib/powerpc64-linux-gnu/dri/swrast_dri.so
#6  0x00007fff9249dc88 in start_thread (arg=0x7fff6e34f070) at pthread_create.c:486
#7  0x00007fff93cc3770 in .__clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82

Thread 4 (Thread 0x7fff84dcf070 (LWP 5135)):
#0  0x00007fff945a9ff0 in timerSourcePrepare(GSource*, gint*) (source=<optimized out>, timeout=0x7fff84dce05c) at kernel/qeventdispatcher_glib.cpp:137
#1  0x00007fff91711204 in g_main_context_prepare () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#2  0x00007fff91711f78 in  () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#3  0x00007fff91712240 in g_main_context_iteration () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#4  0x00007fff945aa48c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff7c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fff94523450 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /usr/include/c++/9/bits/atomic_base.h:734
#6  0x00007fff94523b7c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff84dce4a8, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#7  0x00007fff942b58b4 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#8  0x00007fff948eaa0c in  () at /lib/powerpc64-linux-gnu/libQt5DBus.so.5
#9  0x00007fff942b7b6c in QThreadPrivate::start(void*) (arg=0x7fff949c3c48) at thread/qthread_unix.cpp:361
#10 0x00007fff9249dc88 in start_thread (arg=0x7fff84dcf070) at pthread_create.c:486
#11 0x00007fff93cc3770 in .__clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82

Thread 3 (Thread 0x7fff8756f070 (LWP 5134)):
#0  0x00007fff93cb624c in __GI___poll (fds=0x7fff7800afe0, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fff91727c50 in g_poll () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#2  0x00007fff9171209c in  () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#3  0x00007fff9171266c in g_main_loop_run () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#4  0x00007fff8c6c96b8 in  () at /lib/powerpc64-linux-gnu/libgio-2.0.so.0
#5  0x00007fff9174c834 in  () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#6  0x00007fff9249dc88 in start_thread (arg=0x7fff8756f070) at pthread_create.c:486
#7  0x00007fff93cc3770 in .__clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82

Thread 2 (Thread 0x7fff87d7f070 (LWP 5133)):
#0  0x00007fff9177dde0 in g_private_get () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#1  0x00007fff9174d084 in g_thread_self () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#2  0x00007fff9171222c in g_main_context_iteration () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#3  0x00007fff917122dc in  () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#4  0x00007fff9174c834 in  () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#5  0x00007fff9249dc88 in start_thread (arg=0x7fff87d7f070) at pthread_create.c:486
#6  0x00007fff93cc3770 in .__clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82

Thread 1 (Thread 0x7fff92949b30 (LWP 5131)):
[KCrash Handler]
#6  0x00007fff94533950 in QMetaObject::cast(QObject const*) const (this=0x7fff95c24b28 <QAction::staticMetaObject>, obj=0x133e64b10) at kernel/qmetaobject.cpp:381
#7  0x00007fff945339d0 in QMetaObject::cast(QObject*) const (this=<optimized out>, obj=<optimized out>) at kernel/qmetaobject.cpp:370
#8  0x00007fff96552f50 in  () at /lib/powerpc64-linux-gnu/libKF5XmlGui.so.5
#9  0x00007fff945259bc in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at kernel/qcoreapplication.cpp:1196
#10 QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) (this=0x12f85a800, receiver=0x133e64b10, event=0x7fffe501e780) at kernel/qcoreapplication.cpp:1181
#11 0x00007fff955474b0 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x12f85a800, receiver=0x133e64b10, e=0x7fffe501e780) at kernel/qapplication.cpp:3685
#12 0x00007fff955551e0 in QApplication::notify(QObject*, QEvent*) (this=0x7fffe5020070, receiver=0x133e64b10, e=0x7fffe501e780) at kernel/qapplication.cpp:3650
#13 0x00007fff9452604c in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x133e64b10, event=0x7fffe501e780) at ../../include/QtCore/5.12.5/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322
#14 0x00007fff945263e4 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1476
#15 0x00007fff95552e7c in QApplicationPrivate::dispatchEnterLeave(QWidget*, QWidget*, QPointF const&) (enter=0x133e64b10, leave=<optimized out>, globalPosF=...) at kernel/qapplication.cpp:2296
#16 0x00007fff95554138 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=0x133e64b10, event=0x7fffe501ec40, alienWidget=0x0, nativeWidget=0x133e64b10, buttonDown=0x7fff95cc6640 <qt_button_down>, lastMouseReceiver=..., spontaneous=<optimized out>, onlyDispatchEnterLeave=<optimized out>) at ../../include/QtGui/../../src/gui/kernel/qevent.h:130
#17 0x00007fff955d3730 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=this@entry=0x132503c70, event=event@entry=0x7fffe501f4a8) at /usr/include/c++/9/bits/atomic_base.h:413
#18 0x00007fff955d7f0c in QWidgetWindow::event(QEvent*) (event=0x7fffe501f4a8, this=0x132503c70) at kernel/qwidgetwindow.cpp:281
#19 QWidgetWindow::event(QEvent*) (this=0x132503c70, event=0x7fffe501f4a8) at kernel/qwidgetwindow.cpp:224
#20 0x00007fff95547394 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x132503c70, e=0x7fffe501f4a8) at kernel/qapplication.cpp:3700
#21 0x00007fff95555074 in QApplication::notify(QObject*, QEvent*) (this=0x7fffe5020070, receiver=0x132503c70, e=0x7fffe501f4a8) at kernel/qapplication.cpp:3056
#22 0x00007fff9452604c in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x132503c70, event=0x7fffe501f4a8) at ../../include/QtCore/5.12.5/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322
#23 0x00007fff94526434 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1488
#24 0x00007fff94cb3b9c in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x133e379b0) at kernel/qguiapplication.cpp:2107
#25 0x00007fff94cb56f4 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (e=0x133e379b0) at kernel/qguiapplication.cpp:1842
#26 0x00007fff94c7d640 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:1151
#27 0x00007fff8ea1c870 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#28 0x00007fff91711dc8 in g_main_context_dispatch () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#29 0x00007fff91712148 in  () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#30 0x00007fff91712240 in g_main_context_iteration () at /lib/powerpc64-linux-gnu/libglib-2.0.so.0
#31 0x00007fff945aa454 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x12f950120, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#32 0x00007fff8ea1cec4 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qxcbeventdispatcher.cpp:143
#33 0x00007fff94523450 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /usr/include/c++/9/bits/atomic_base.h:734
#34 0x00007fff94523b7c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffe501fce8, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#35 0x00007fff9453007c in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#36 0x00007fff94ca4424 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1784
#37 0x00007fff955472f0 in QApplication::exec() () at kernel/qapplication.cpp:2856
#38 0x0000000125d22d30 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./kate/main.cpp:620
[Inferior 1 (process 5131) detached]

Possible duplicates by query: bug 418468, bug 418352, bug 418351, bug 418277, bug 418026.

Reported using DrKonqi
Comment 1 Justin Zobel 2020-11-13 05:11:57 UTC
Thanks for the report Peter.

Can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I'm setting status to "needsinfo" pending your response, please change back to "reported" or "resolved" when you respond, thanks.
Comment 2 Peter Piwowarski 2020-11-13 14:37:17 UTC
I may be able to do that, but it'll be some time before I have that machine running again. Are you interested in some particular version of kate? A build of git master? Do you have some particular commit you suspect resolved the issue that I can test?
Comment 3 Justin Zobel 2020-11-13 23:16:11 UTC
(In reply to Peter Piwowarski from comment #2)
> I may be able to do that, but it'll be some time before I have that machine
> running again. Are you interested in some particular version of kate? A
> build of git master? Do you have some particular commit you suspect resolved
> the issue that I can test?

No fixes in particular that I know of, but if you are able to build from git master that would be ideal. kdesrc-build is perfect for this situation, it will build you all the dependencies you need as well.

How long do you foresee before you're able to test so I know what status to leave the bug in.
Comment 4 Peter Piwowarski 2020-11-15 16:58:18 UTC
I can't say for sure, but probably on the order of weeks.
Comment 5 Justin Zobel 2020-11-16 04:30:56 UTC
Thanks Peter, I'll put this in reported status and if you can let us know once you've tested that would be great.
Comment 6 Christoph Cullmann 2021-06-12 18:39:15 UTC
I looked a bit at the below backtrace again.
I see no real Kate specific parts.
If you can reproduce that with e.g. some recent released 21.04.x version, please re-open.
Thanks!
Comment 7 Peter Piwowarski 2021-06-12 20:49:38 UTC
Created attachment 139268 [details]
attachment-18203-0.html

I should be able to set up another ppc64 system soon, I'll see what I can
find out at that time.

On Sat, Jun 12, 2021, 2:39 PM Christoph Cullmann <bugzilla_noreply@kde.org>
wrote:

> https://bugs.kde.org/show_bug.cgi?id=418552
>
> Christoph Cullmann <cullmann@kde.org> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>              Status|REPORTED                    |NEEDSINFO
>          Resolution|---                         |WAITINGFORINFO
>                  CC|                            |cullmann@kde.org
>
> --- Comment #6 from Christoph Cullmann <cullmann@kde.org> ---
> I looked a bit at the below backtrace again.
> I see no real Kate specific parts.
> If you can reproduce that with e.g. some recent released 21.04.x version,
> please re-open.
> Thanks!
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 8 Bug Janitor Service 2021-06-27 04:33:46 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 9 Bug Janitor Service 2021-07-12 04:33:41 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!