Bug 414392 - App crashes in KXMLGUIClient::setXML() when rc file is malformed
Summary: App crashes in KXMLGUIClient::setXML() when rc file is malformed
Status: RESOLVED DUPLICATE of bug 400271
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 19.08.3
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-22 11:37 UTC by Lapineige
Modified: 2019-11-22 17:07 UTC (History)
2 users (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 Lapineige 2019-11-22 11:37:10 UTC
SUMMARY
After upgrading to 19.10/plasma 5.17, Dolphin can't start.

STEPS TO REPRODUCE
1. Upgrade from 19.04 (+backports) to 19.10 (+backports, but it was the same without them) 
2. Try to start Dolphin

OBSERVED RESULT
In console:
> Error parsing XML document: "unexpected character" at line 115 column 1
Then it crashes.

With another user account (a new one created in 19.04), it works fine.

EXPECTED RESULT
Dolphin starts normally

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kubuntu 19.10 (+backports)
KDE Plasma Version: 5.17
KDE Frameworks Version: 5.64.0
Qt Version: 5.12.4

ADDITIONAL INFORMATION
I don't know how to get more logs…

I have a general (?) MySQL issue in the system, it won't start. Then Amarok and Akonadiserver (and probably some others) can't connect to MySQL and work normally. This is the same for a fresh new user account.
It might be related ?

I'm sorry if it the wrong place to report this issue (as I'm not sure it's related to Dolphin or MySQL).
Comment 1 Nate Graham 2019-11-22 13:34:39 UTC
> OBSERVED RESULT
> In console:
>> Error parsing XML document: "unexpected character" at line 115 column 1
Hmm, I think that's unrelated. Can you attach a backtrace of the crash? For details, see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Comment 2 Lapineige 2019-11-22 16:27:29 UTC
Here it is:

---

Application: Dolphin (dolphin), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2f58413c80 (LWP 10203))]

Thread 3 (Thread 0x7f2f56498700 (LWP 10205)):
#0  0x00007f2f5eac3c2f in __GI___poll (fds=0x7f2f480029e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f2f5a95ba3e in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2f5a95bb73 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2f5c9db6c3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f2f5c98263b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f2f5c7bba75 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f2f5cc5cefa in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f2f5c7bccc2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f2f5b224669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#9  0x00007f2f5ead0323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f2f572e4700 (LWP 10204)):
#0  0x00007f2f5eac3c2f in __GI___poll (fds=0x7f2f572e3ca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f2f5b25a917 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f2f5b25c53a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f2f57abb288 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f2f5c7bccc2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f2f5b224669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007f2f5ead0323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f2f58413c80 (LWP 10203)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007f2f5e9d3899 in __GI_abort () at abort.c:79
#8  0x00007f2f5e098ac2 in KXMLGUIClient::setXML(QString const&, bool) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#9  0x00007f2f5e09b562 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#10 0x00007f2f5e0bfa7b in KXmlGuiWindow::createGUI(QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#11 0x00007f2f5e0c087b in KXmlGuiWindow::setupGUI(QSize const&, QFlags<KXmlGuiWindow::StandardWindowOption>, QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#12 0x00007f2f5e0c0951 in KXmlGuiWindow::setupGUI(QFlags<KXmlGuiWindow::StandardWindowOption>, QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#13 0x00007f2f5ebf8f04 in ?? () from /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
#14 0x00007f2f5ebe937f in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
#15 0x00007f2f5e9d51e3 in __libc_start_main (main=0x55d206f14060, argc=1, argv=0x7fff0b273068, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff0b273058) at ../csu/libc-start.c:308
#16 0x000055d206f1409e in _start ()
[Inferior 1 (process 10203) detached]
Comment 3 Nate Graham 2019-11-22 16:30:22 UTC
Thanks. It's crashing in KXMLGUIClient::setXML(), which is where it tries to read your customized configuration file. This explains why it crashes for your user but not a fresh user. There appears to be something about the file that it doesn't like.

Can you attach ~/.local/share/kxmlgui5/dolphin/dolphinui.rc?
Comment 4 Lapineige 2019-11-22 16:39:08 UTC
Sure. Here it is: https://vps.lapineige.fr/privatebin/?c2646181dcb90b36#F+fBMSqtFWaG7imAhRtoc8PZ5IBq846lCGWDKLplLJ0=

(note: I did not edit this file manually)
Comment 5 Nate Graham 2019-11-22 16:49:22 UTC
Yep, the file is malformed:

</kpartgui>
o_forward"/>
  <Action priority="0" name="go_home"/>
  <Action priority="0" name="go_up"/>
  <Action priority="0" name="icons"/>
  <Action priority="0" name="stop"/>
  <Action priority="0" name="view_zoom_in"/>
  <Action priority="0" name="view_zoom_out"/>
 </ActionProperties>
</kpartgui>

It's not valid XML. I guess something interrupted the process while it was being written. Regardless, this should definitely not make Dolphin crash. That's tracked by Bug 400271.

In the meantime, you can safely remove that file. It will reset Dolphin's main window to its default settings, and then you can re-make any customizations you made to it.

*** This bug has been marked as a duplicate of bug 400271 ***
Comment 6 Lapineige 2019-11-22 17:06:44 UTC
Ok, I removed this part so it fixed the XML file (while I didn't lose my custom UI, and the time to rebuild it).

Problem solved, thanks a lot :)

(Now I need to find out what's my issue with mysql 😅 - but that's off-topic)
Comment 7 Nate Graham 2019-11-22 17:07:25 UTC
You're welcome!