Bug 28324 - On systems installed from Live-DVD Plasma, Dolphin segfaults
Summary: On systems installed from Live-DVD Plasma, Dolphin segfaults
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: High normal
Target Milestone: Mageia 9
Assignee: KDE maintainers
QA Contact:
URL: https://bugs.kde.org/show_bug.cgi?id=...
Whiteboard:
Keywords: UPSTREAM
Depends on:
Blocks:
 
Reported: 2021-02-08 17:42 CET by William Kenney
Modified: 2021-02-24 23:54 CET (History)
4 users (show)

See Also:
Source RPM: dolphin-20.12.0-6.mga8
CVE:
Status comment: Workaround on already installed systems in Comment 21


Attachments

Description William Kenney 2021-02-08 17:42:24 CET
Description of problem:

Mageia-8-rc-Live-Plasma-x86_64.iso  1/31/21
md5sum: 39eade18b4da6816bdc1cb9fd145cfe3

Dolphin launches normally in Live-DVD mode
Dolphin seg faults after install to either real
hardware or to a Vbox client

launching dolphin from a terminal shows the segmentation fault.
Comment 1 Aurelien Oudelet 2021-02-08 17:58:28 CET
Mageia-8-rc-Live-Plasma-x86_64.iso  1/31/21
md5sum: 39eade18b4da6816bdc1cb9fd145cfe3

févr. 08 17:54:31 localhost plasmashell[2229]: trying to show an empty dialog
févr. 08 17:54:31 localhost systemd[1988]: Started Dolphin - Gestionnaire de fichiers.
févr. 08 17:54:32 localhost dolphin[2639]: org.kde.dolphin: Unknown class  ""  in session saved data!
févr. 08 17:54:41 localhost kdeinit5[2678]: Qt: Session management error: networkIdsList argument is NULL
févr. 08 17:54:42 localhost systemd[1988]: app-org.kde.dolphin\x20\x281\x29-b5d21773407744988dba7a8f316c61a4.scope: Succeeded.
févr. 08 17:54:42 localhost systemd[1988]: app-org.kde.dolphin\x20\x281\x29-b5d21773407744988dba7a8f316c61a4.scope: Consumed 1.454s CPU time.

Note that:
$ urpmq -i dolphin
Name        : dolphin                                                                                                                                                                                                                      
Epoch       : 1
Version     : 20.12.0
Release     : 6.mga8
Group       : System/Base
Size        : 5158502                      Architecture: x86_64
Source RPM  : dolphin-20.12.0-6.mga8.src.rpm
URL         : https://kde.org/applications/system/org.kde.dolphin
Summary     : File manager for KDE focusing on usability

This is live installed on real hardware with updates immediately applied within the live session.

Dolphin starts well and runs well.

CC: (none) => ouaurelien

Comment 2 William Kenney 2021-02-08 18:23:21 CET
(In reply to Aurelien Oudelet from comment #1)

So the Live-DVD, without updates, Dolphin sig faults?
Comment 3 William Kenney 2021-02-08 19:12:37 CET
This has to be labeled a Priority "release blocker" as it's in the present iso.

Priority: Normal => release_blocker

Morgan Leijström 2021-02-08 19:41:57 CET

CC: (none) => fri
Keywords: (none) => FOR_ERRATA8

Comment 4 Morgan Leijström 2021-02-08 19:50:13 CET
Added:

 {{bug|28324}} - dolphin seg faults  - ''Already fixed when you apply updates''


As usual remove later from errata when fixed, before final.

Keywords: FOR_ERRATA8 => IN_ERRATA8

Comment 5 William Kenney 2021-02-08 20:11:38 CET
(In reply to Morgan Leijström from comment #4)

Many thanks Morgan.
Comment 6 Morgan Leijström 2021-02-08 20:23:46 CET
Thanks for catching this

(In reply to Morgan Leijström from comment #4)
> As usual remove later from errata when fixed,

* at time of next public ISO release *

to be specific.
Comment 7 Aurelien Oudelet 2021-02-09 10:44:18 CET
@William, please do this on installed system from KDE Live ISO RC1 public.
1) in a terminal as root (or you with sudo command):
# journalctl -f

2) in a new terminal:
$ rpm -qa | grep dolphin

3) open Dolphin. try to reproduce what you do to reproduce it.


Add eventual segfault added from kernel in journal output.

Please carefully detail what do you do to get the segfault. I really try to reproduce. I simply can't.

(In reply to William Kenney from comment #2)
> (In reply to Aurelien Oudelet from comment #1)
> 
> So the Live-DVD, without updates, Dolphin sig faults?

No, even in Live environnment (x86_64) on real and virtual hardware, I simply can't reproduce a segfault upon opening Dolphin with:
dolphin-20.12.0-5.mga8 present on Live system
and dolphin-20.12.0-6.mga8 which is in M8/core repository.

So. This is not a release blocker for me.
But, leaving this as is until more details are added.
Comment 8 Aurelien Oudelet 2021-02-09 10:55:36 CET
(In reply to William Kenney from comment #0)
> Description of problem:
> 
> Mageia-8-rc-Live-Plasma-x86_64.iso  1/31/21
> md5sum: 39eade18b4da6816bdc1cb9fd145cfe3
> 
> Dolphin launches normally in Live-DVD mode
> Dolphin seg faults after install to either real
> hardware or to a Vbox client
> 
> launching dolphin from a terminal shows the segmentation fault.

One more question, but I think partially answered or not as reading above...
Does the /home partition is retained to the newly installed M8 RC1 or does this is an entirely fresh install without datas in /home?

Status comment: (none) => Not reproduced by Bugsquad on real and on virtualized one.
Summary: dolphin seg faults after Live-DVD install => Dolphin segfaults after Live-DVD Plasma install
Source RPM: (none) => dolphin-20.12.0-6.mga8

Comment 9 William Kenney 2021-02-09 14:07:14 CET
(In reply to Aurelien Oudelet from comment #8)
> (In reply to William Kenney from comment #0)
> > Description of problem:
> > 
> > Mageia-8-rc-Live-Plasma-x86_64.iso  1/31/21
> > md5sum: 39eade18b4da6816bdc1cb9fd145cfe3
> > 
> > Dolphin launches normally in Live-DVD mode
> > Dolphin seg faults after install to either real
> > hardware or to a Vbox client
> > 
> > launching dolphin from a terminal shows the segmentation fault.
> 
> One more question, but I think partially answered or not as reading above...
> Does the /home partition is retained to the newly installed M8 RC1 or does
> this is an entirely fresh install without datas in /home?

When ever I do a new install to real hardware I always zero out the drive before the install:

dd if=/dev/zero of=/dev/sda status=progress

I may stop this process early as I only want to get the partitioning info off the drive.
Comment 10 Aurelien Oudelet 2021-02-09 15:55:20 CET
(In reply to William Kenney from comment #9)
> 
> dd if=/dev/zero of=/dev/sda status=progress
> 
> I may stop this process early as I only want to get the partitioning info
> off the drive.

OK, this should not segfault.
Bad RAM?

Really, Dolphin does not segfault on my computer.
Comment 11 Nicolas Lécureuil 2021-02-12 11:41:54 CET
i can reproduce.


you need to start a live and install it.

In live mode no crash, when installed crash

CC: (none) => mageia

Comment 12 William Kenney 2021-02-12 11:46:53 CET
(In reply to Nicolas Lécureuil from comment #11)
> i can reproduce.
> 
> 
> you need to start a live and install it.
> 
> In live mode no crash, when installed crash

Thank you Nicolas. You are the best.
Morgan Leijström 2021-02-12 11:48:27 CET

Status comment: Not reproduced by Bugsquad on real and on virtualized one. => Reproducer

Comment 13 Nicolas Lécureuil 2021-02-12 14:49:21 CET
this is random :-(  i reinstalled a Live ( because it crashed => no more disk space ).

With my new install it is OK.


I will try something else ( Start the live, open Dolphin, install the Live )
Comment 14 Nicolas Lécureuil 2021-02-12 15:28:39 CET
YES!! Better reproducer.

-1- Start Mageia Live
-2- Start dolphin ( it starts OK )
-3- Install the live
-4- Start dolphin => it crashes
Comment 15 Aurelien Oudelet 2021-02-12 15:48:01 CET
Yep reproduced.

Feb 12 15:24:42 localhost kernel: dolphin[2632]: segfault at 50 ip 00007f6c72c6db30 sp 00007ffed936ab40 error 4 in libkdeinit5_dolphin.so[7f6c72c53000+6b000]
Feb 12 15:24:42 localhost kernel: Code: 49 89 fc e8 92 95 fe ff 4c 89 e0 41 5c c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 41 54 44 0f b6 e6 55 89 f5 44 89 e6 53 48 89 fb <48> 8b 7f 50 e8 07 da 01 00 48 8b 43 40 48 85 c0 74 23 8b 50 04 85
Feb 12 15:24:42 localhost systemd[1821]: app-org.kde.dolphin\x20\x281\x29-4d6d192955344826bd15ea5884589446.scope: Succeeded.


Strangely, it appears with Dolphin 20.12.0-5.mga8 carried over a Live-DVD RC1 public ISO while setting US as locale for this WM!

But, trying to install -debuginfo package... it wants to install dolphin-20.12.0-6.mga8......... argh...

(Note that inside VirtualBox I get this error while also launching Dolphin but it hits all applications:
Feb 12 15:28:39 localhost kernel: [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
Feb 12 15:28:39 localhost kernel: [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
See https://bugs.mageia.org/show_bug.cgi?id=28330. So it is not related to this.)

Diff between dolphin 20.12.0-5 and 20.12.0-6 in core/release is this fix:
Add P4: Fix crash in dolphin (mga#28311)
But it hits 
kernel: dolphin[11956]: segfault at 30 ip 00007fab7a6dc29e sp 00007ffd40bda9b0 error 4 in libKF5KIOFileWidgets.so.5.76.0[7fab7a67e000+65000]
So unrelated.

So no, this not fixed...
Updating to 20.12.0-6 from core/release...

Feb 12 15:38:13 localhost kernel: dolphin[3239]: segfault at 50 ip 00007fea78a45b30 sp 00007ffdeb4c89d0 error 4 in libkdeinit5_dolphin.so[7fea78a2b000+6b000]
Feb 12 15:38:13 localhost kernel: Code: 49 89 fc e8 92 95 fe ff 4c 89 e0 41 5c c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 41 54 44 0f b6 e6 55 89 f5 44 89 e6 53 48 89 fb <48> 8b 7f 50 e8 07 da 01 00 48 8b 43 40 48 85 c0 74 23 8b 50 04 85
Feb 12 15:38:13 localhost systemd[2484]: app-org.kde.dolphin\x20\x281\x29-5aed39f2973e4ef58b3ff64e9f4f5539.scope: Succeeded.

Still the same. Uh.
So -debug files.

Reading symbols from dolphin...
Reading symbols from /usr/lib/debug/usr/bin/dolphin-20.12.0-6.mga8.x86_64.debug...
(gdb) run
Starting program: /usr/bin/dolphin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe65fc640 (LWP 6673)]
[New Thread 0x7fffe5a37640 (LWP 6674)]
[New Thread 0x7fffdd1ff640 (LWP 6675)]
[New Thread 0x7fffdc9fe640 (LWP 6676)]
[New Thread 0x7fffd3c92640 (LWP 6677)]
[New Thread 0x7fffd3491640 (LWP 6678)]
[New Thread 0x7fffd2c90640 (LWP 6679)]

Thread 1 "dolphin" received signal SIGSEGV, Segmentation fault.
0x00007ffff7f1eb30 in DolphinViewContainer::setActive (this=0x0, active=true)
    at /usr/src/debug/dolphin-20.12.0-6.mga8.x86_64/src/dolphinviewcontainer.cpp:215
215         m_searchBox->setActive(active);
Comment 16 Nicolas Lécureuil 2021-02-12 16:01:33 CET
i just pushed a potential fix.
It fixes de null pointer.
Comment 17 Aurelien Oudelet 2021-02-12 16:07:58 CET
That's a good segfault.
Trying it with switch to FR locale... still within a VM...

And after switching to FR locale and rebooted...
Booh segfault...

Feb 12 16:05:45 localhost kernel: dolphin[7282]: segfault at 50 ip 00007fa50b457b30 sp 00007ffc0e0d81b0 error 4 in libkdeinit5_dolphin.so[7fa50b43d000+6b000]
Feb 12 16:05:45 localhost kernel: Code: 49 89 fc e8 92 95 fe ff 4c 89 e0 41 5c c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 41 54 44 0f b6 e6 55 89 f5 44 89 e6 53 48 89 fb <48> 8b 7f 50 e8 07 da 01 00 48 8b 43 40 48 85 c0 74 23 8b 50 04 85
Feb 12 16:05:45 localhost systemd[2558]: app-org.kde.dolphin\x20\x281\x29-f078241b5d6e40c0a86efabbb091a307.scope: Succeeded.

That's still strange, on my main system, it does not segfault...
(M8 Plasma x86_64 installed from Classic public RC1 ISO)
Comment 18 William Kenney 2021-02-12 16:18:04 CET
What a mess I created :-0.....
Comment 19 Aurelien Oudelet 2021-02-12 17:02:29 CET
Note that using dolphin-20.12.0-8.mga8 from core/updates_testing and after a reboot, while using now FR locale, (and US locale)

It still segfault:

$ gdb dolphin
Missing separate debuginfos, use: debuginfo-install dolphin-20.12.0-8.mga8.x86_64
(gdb) run
Starting program: /usr/bin/dolphin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe65fc640 (LWP 7505)]
[New Thread 0x7fffe59c4640 (LWP 7506)]
[New Thread 0x7fffdd1ff640 (LWP 7507)]
[New Thread 0x7fffdc9fe640 (LWP 7508)]
[New Thread 0x7fffd3c92640 (LWP 7509)]
[New Thread 0x7fffd3491640 (LWP 7510)]
[New Thread 0x7fffd2c90640 (LWP 7511)]

Thread 1 "dolphin" received signal SIGSEGV, Segmentation fault.
0x00007ffff7f1eb1d in DolphinViewContainer::setActive(bool) () from /lib64/libkdeinit5_dolphin.so
Aurelien Oudelet 2021-02-12 17:04:48 CET

Status comment: Reproducer => even with dolphin-20.12.0-8.mga8 from updates_testing
Summary: Dolphin segfaults after Live-DVD Plasma install => On systems installed from Live-DVD Plasma, Dolphin segfaults

Comment 20 Aurelien Oudelet 2021-02-12 17:24:35 CET
STOP !!

Creating a new user with drakconf.
Log to this newly created user account...

Open Dolphin...

NO SEGFAULT !
Comment 21 Aurelien Oudelet 2021-02-12 18:15:47 CET
So, there is strange bit of datas written somewhere in Live environment that are carried over the installation to newly system.

Investigating:
The culprit is session management added to Dolphin in Dolphin 20.08...
This is the option in Dolphin's preferences:
Startup => Show on startup "Folders, tabs, and window state from last time".

This wants to open /home/live/ with several name "live" somewhere... and it crashed because it no longer exists although there is a symlink "Live" that points to /home/aurelien (where "aurelien" is the name of the first user created after installation).

So, this is no accessible as Dolphin crashes as soon as it launches.

After many tries, there are several files to delete to workaround this on already installed systems:
First:
~/.config/session/dolphin_dolphin_dolphin
~/.config/dolphinrc

Remove everything in them. => No segfault after.
Aurelien Oudelet 2021-02-12 18:16:18 CET

Status comment: even with dolphin-20.12.0-8.mga8 from updates_testing => Workaround on already installed systems in Comment 21

Aurelien Oudelet 2021-02-12 18:16:32 CET

Assignee: bugsquad => kde

Aurelien Oudelet 2021-02-12 18:16:48 CET

Keywords: (none) => UPSTREAM

Aurelien Oudelet 2021-02-12 18:29:49 CET

URL: (none) => https://bugs.kde.org/show_bug.cgi?id=432862

Comment 22 Thomas Backlund 2021-02-14 22:02:38 CET
(In reply to Aurelien Oudelet from comment #21)

So how about disabling this one by default in live mode then:
> Startup => Show on startup "Folders, tabs, and window state from last time".

and flip it back on in finish-install

> This wants to open /home/live/ with several name "live" somewhere... and it
> crashed because it no longer exists although there is a symlink "Live" that
> points to /home/aurelien (where "aurelien" is the name of the first user
> created after installation).

maybe dolpin has some code to not follow symlinks in /home by default ?

> So, this is no accessible as Dolphin crashes as soon as it launches.
> 
> After many tries, there are several files to delete to workaround this on
> already installed systems:
> First:
> ~/.config/session/dolphin_dolphin_dolphin
> ~/.config/dolphinrc
> 
> Remove everything in them. => No segfault after.

or this could be done with  finish-install
Comment 23 Thomas Backlund 2021-02-14 22:11:57 CET
@martin

according to:
https://bugs.kde.org/show_bug.cgi?id=432862#c3

we should in live media creation add:

/home/live/config/dolphinrc

with content:

[General]
RememberOpenedTabs=false




I think dolphin will happily fill in the rest of configs when it starts

CC: (none) => mageia

Comment 24 Thomas Backlund 2021-02-14 22:12:53 CET
that would obviously be:

/home/live/.config/dolphinrc
Comment 25 Aurelien Oudelet 2021-02-14 22:15:56 CET
(In reply to Thomas Backlund from comment #22)
> (In reply to Aurelien Oudelet from comment #21)
> 
> So how about disabling this one by default in live mode then:
> > Startup => Show on startup "Folders, tabs, and window state from last time".
> 
> and flip it back on in finish-install
> 
> > This wants to open /home/live/ with several name "live" somewhere... and it
> > crashed because it no longer exists although there is a symlink "Live" that
> > points to /home/aurelien (where "aurelien" is the name of the first user
> > created after installation).
> 
> maybe dolpin has some code to not follow symlinks in /home by default ?
> 
> > So, this is no accessible as Dolphin crashes as soon as it launches.
> > 
> > After many tries, there are several files to delete to workaround this on
> > already installed systems:
> > First:
> > ~/.config/session/dolphin_dolphin_dolphin
> > ~/.config/dolphinrc
> > 
> > Remove everything in them. => No segfault after.
> 
> or this could be done with  finish-install

I do think the latter is the good solution.
We also should add an errata entry saying that Dolphin should not run before running the installer.

Or we should not copy the Live user directory to the final /home only for Live Plasma.
Comment 26 Aurelien Oudelet 2021-02-14 22:17:21 CET
(In reply to Thomas Backlund from comment #24)
> that would obviously be:
> 
> /home/live/.config/dolphinrc

Yeah you're right.
Comment 27 Martin Whitaker 2021-02-14 23:00:08 CET
If I add a /home/live/.config/dolphinrc, I can mark it for automatic removal during installation.
Comment 28 Martin Whitaker 2021-02-15 00:11:09 CET
Added to draklive-config, will be in next ISO build.
Comment 29 Morgan Leijström 2021-02-15 11:45:52 CET
Marked in RC errata as fixed next iso
Comment 30 Aurelien Oudelet 2021-02-16 05:09:32 CET
Live session fixed.
Demoting this, it should no longer a blocker one.
But a real upstream fix is in under investigation.

Target Milestone: --- => Mageia 9
Priority: release_blocker => High

Comment 31 Morgan Leijström 2021-02-24 23:54:45 CET
I assume fix is working
So now removed from Errata

Keywords: IN_ERRATA8 => (none)


Note You need to log in before you can comment on or make changes to this bug.