Bug 430623 - Crash whenever exiting .ora viewer in Konqueror
Summary: Crash whenever exiting .ora viewer in Konqueror
Status: RESOLVED WORKSFORME
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Slackware Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-20 13:50 UTC by Ralph Versteegen
Modified: 2022-11-28 22:52 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ralph Versteegen 2020-12-20 13:50:37 UTC
Every time I try to exit (the tree view of) an .ora file in Konqueror, it crashes.

I have a few .ora files (creating a blank image in Krita and saving it as .ora exhibits the bug; all other .ora files I tested were created by the same artist). This is the first time I've ever opened an .ora file so don't know if the bug is new. Konqueror shows its contents as a tree of files and I can view them fine. But every time I try to navigate away to a different directory (e.g. go up a dir, type in a different path, click a shortcut/favourite) it crashes. I then restart Konqueror and find myself in the .ora again. However I can open new tabs and use them. If I try opening another .ora file in one of those the process repeats (except Konqueror so far doesn't remember that it was inside the .ora when it crashed, restoring a slightly earlier state).

Steps to Reproduce:
1. Open .ora file
2. Navigate to another directory (eg. up a dir)

Application: konqueror (4.14.38)
KDE Platform Version: 4.14.38
Qt Version: 4.8.7
Operating System: Linux 5.4.70 x86_64
Distribution (Platform): Slackware Packages (Slackware64-current)


Here is the backtrace generated by the crash reporter (submission failed so manually creating this bug):
Application: Konqueror (konqueror), signal: Segmentation fault
[KCrash Handler]
#6  0x00007fb441019170 in KXMLGUIFactory::removeClient(KXMLGUIClient*) () at /usr/lib64/libkdeui.so.5
#7  0x00007fb43142e6c4 in  () at /usr/lib64/kde4/arkpart.so
#8  0x00007fb43142e749 in  () at /usr/lib64/kde4/arkpart.so
#9  0x00007fb434b3e2eb in  () at /usr/lib64/libkdeinit4_konqueror.so
#10 0x00007fb434b3f156 in  () at /usr/lib64/libkdeinit4_konqueror.so
#11 0x00007fb434b3f2e2 in  () at /usr/lib64/libkdeinit4_konqueror.so
#12 0x00007fb434b84997 in  () at /usr/lib64/libkdeinit4_konqueror.so
#13 0x00007fb434b86826 in  () at /usr/lib64/libkdeinit4_konqueror.so
#14 0x00007fb434b4e90d in  () at /usr/lib64/libkdeinit4_konqueror.so
#15 0x00007fb434b4eddb in  () at /usr/lib64/libkdeinit4_konqueror.so
#16 0x00007fb434bb2608 in kdemain () at /usr/lib64/libkdeinit4_konqueror.so
#17 0x00000000004091d3 in  ()
#18 0x000000000040a7da in  ()
#19 0x000000000040af92 in  ()
#20 0x00000000004067ce in  ()
#21 0x00007fb43f3dbe5b in __libc_start_main () at /lib64/libc.so.6
#22 0x00000000004075ba in _start ()
[Inferior 1 (process 20068) detached]

I tries attaching gdb myself and got the same backtrace except with far more frames above kdemain():

...
#10 0x00007fefe7eea8cd in  () at /usr/lib64/libkdeinit4_konqueror.so
#11 0x00007fefe59534e5 in QObject::event(QEvent*) () at /usr/lib64/libQtCore.so.4
#12 0x00007fefe645a826 in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#13 0x00007fefe67e8d9c in QMainWindow::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#14 0x00007fefe709f359 in KXmlGuiWindow::event(QEvent*) () at /usr/lib64/libkdeui.so.5
#15 0x00007fefe7ee810c in  () at /usr/lib64/libkdeinit4_konqueror.so
#16 0x00007fefe640b4ad in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#17 0x00007fefe641190c in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#18 0x00007fefe6fac35a in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#19 0x00007fefe593c03b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#20 0x00007fefe593e810 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQtCore.so.4
#21 0x00007fefe5966a3d in  () at /usr/lib64/libQtCore.so.4
#22 0x00007fefe322aa1d in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#23 0x00007fefe322ac70 in  () at /usr/lib64/libglib-2.0.so.0
#24 0x00007fefe322acff in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#25 0x00007fefe5966b74 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#26 0x00007fefe64a4327 in  () at /usr/lib64/libQtGui.so.4
#27 0x00007fefe593aa2f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#28 0x00007fefe593ad06 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#29 0x00007fefe593fa3a in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#30 0x00007fefe7f08ff4 in kdemain () at /usr/lib64/libkdeinit4_konqueror.so
...

Disassembling, the crash is here:

   [Function intro register pushing]
   0x00007fefe70a913e <+14>:	mov    %rsi,0x8(%rsp)
   0x00007fefe70a9143 <+19>:	test   %rsi,%rsi
   0x00007fefe70a9146 <+22>:	je     0x7fefe70a9158 <_ZN14KXMLGUIFactory12removeClientEP13KXMLGUIClient+40>
   0x00007fefe70a9148 <+24>:	mov    %rdi,%rbp
   0x00007fefe70a914b <+27>:	mov    %rsi,%rd
   0x00007fefe70a914e <+30>:	call   0x7fefe6ebe130 <_ZNK13KXMLGUIClient7factoryEv@plt>
   0x00007fefe70a9153 <+35>:	cmp    %rax,%rbp
   0x00007fefe70a9156 <+38>:	je     0x7fefe70a9170 <_ZN14KXMLGUIFactory12removeClientEP13KXMLGUIClient+64>
...
=> 0x00007fefe70a9170 <+64>:	mov    0x10(%rbp),%rdi

%rax and %rbp are 0.
Comment 1 Justin Zobel 2022-11-21 08:11:53 UTC
Thank you for reporting this issue in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version?

If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Comment 2 Ralph Versteegen 2022-11-24 09:55:42 UTC
Hello. I still have the same system. Unfortunately I'm unable to test whether this bug still happens because every time I launch Konqueror it crashes!

I have Qt 5.15.0, KDE frameworks 5.97.0, Konqueror 22.08.0.

I tried deleting all Konqueror config and session files which I could find under ~/.kde and ~/.config, and also upgrading just Konqueror to 22.08.2, but no change.

The crash handler shows no crash information could be generated. Running under gdb I get:

Thread 1 "konqueror" received signal SIGSEGV, Segmentation fault.
0x00007fffeec62a61 in KService::mimeTypes() const () from /usr/lib64/libKF5Service.so.5
(gdb) bt
#0  0x00007fffeec62a61 in KService::mimeTypes() const () at /usr/lib64/libKF5Service.so.5
#1  0x00007ffff7f2049a in  () at /usr/lib64/libkdeinit5_konqueror.so
#2  0x00007ffff7f20924 in  () at /usr/lib64/libkdeinit5_konqueror.so
#3  0x00007ffff7f211f4 in  () at /usr/lib64/libkdeinit5_konqueror.so
#4  0x00007ffff7f21695 in  () at /usr/lib64/libkdeinit5_konqueror.so
#5  0x00007ffff7ef9b39 in  () at /usr/lib64/libkdeinit5_konqueror.so
#6  0x00007ffff7f0a6fc in  () at /usr/lib64/libkdeinit5_konqueror.so
#7  0x00007ffff7f2b017 in  () at /usr/lib64/libkdeinit5_konqueror.so
#8  0x00007ffff7f2ed78 in kdemain () at /usr/lib64/libkdeinit5_konqueror.so
#9  0x00007fffeca34177 in __libc_start_call_main () at /lib64/libc.so.6
#10 0x00007fffeca34235 in __libc_start_main_impl () at /lib64/libc.so.6
#11 0x0000000000401071 in  ()

Any advice what to try next?
Comment 3 Stefano Crocco 2022-11-24 10:22:47 UTC
(In reply to Ralph Versteegen from comment #2)
> Hello. I still have the same system. Unfortunately I'm unable to test
> whether this bug still happens because every time I launch Konqueror it
> crashes!
> 
> I have Qt 5.15.0, KDE frameworks 5.97.0, Konqueror 22.08.0.
> 
> I tried deleting all Konqueror config and session files which I could find
> under ~/.kde and ~/.config, and also upgrading just Konqueror to 22.08.2,
> but no change.
> 
> The crash handler shows no crash information could be generated. Running
> under gdb I get:

I tried creating a new .ora files using Krita as you described and I couldn't reproduce your original bug.

Regarding your current crash at startup, unfortunately the backtrace doesn't contain enough information to find out what's happening because you don't have debug symbols installed. I don't use Slackware, so I can't help much there. I tried a quick search on the web and found a couple of old (2015) posts asking this question. The answer was that you need to rebuild the packages yourself. I don't know if things have changed. Here are the links I found: https://www.linuxquestions.org/questions/slackware-14/debug-symbols-packages-for-slackware-4175463406/ and https://www.linuxquestions.org/questions/slackware-14/%5Bdead-question%5D-unstripped-binaries-937111/

You can also try to create a new user and see whether you get the crash with it. It could be a configuration problem not of Konqueror itself but of some other part of KDE.
Comment 4 Ralph Versteegen 2022-11-28 22:52:58 UTC
Thanks for your time. I'm closing this because konqueror works fine when run by a separate user, and I can't reproduce this.
Looks like my KDE user data is corrupt, I'll just wipe it all. Probably was the cause of the original problem. KDE doesn't even start up properly when run as my WM/desktop environment (I was using KDE when I originally reported this but have switched to xfce). I haven't reinstalled Slackware since 2009, so there's quite a lot of built up cruft.