Bug 431730 - Dolphin crashes at startup (after enabling user feedback feature) when built without Baloo
Summary: Dolphin crashes at startup (after enabling user feedback feature) when built ...
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi
: 449647 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-01-17 12:28 UTC by Karl Ove Hufthammer
Modified: 2022-02-15 13:10 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 21.12.2


Attachments
New crash information added by DrKonqi (97.81 KB, text/plain)
2021-01-17 12:28 UTC, Karl Ove Hufthammer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Ove Hufthammer 2021-01-17 12:28:57 UTC
Application: dolphin (21.03.70)

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.10.5-1-default x86_64
Windowing system: X11
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
I was just (re)starting Dolphin.

- Custom settings of the application:
I had just enabled the user feedback feature (and had set all the sliders to their maximum values).

The crash can be reproduced every time.

-- Backtrace (Reduced):
#4  QAction::isChecked() const (this=0x0) at kernel/qaction.cpp:982
#5  0x00007f6e3afec357 in DolphinMainWindow::isInformationPanelEnabled() const (this=<optimized out>) at /felles/kde/dolphin/src/dolphinmainwindow.cpp:260
#6  0x00007f6e3b02d937 in SettingsDataSource::data() (this=0x1f261c0) at /felles/kde/dolphin/src/userfeedback/settingsdatasource.cpp:47
#7  0x00007f6e384caa43 in KUserFeedback::ProviderPrivate::jsonData(KUserFeedback::Provider::TelemetryMode) const (this=<optimized out>, mode=<optimized out>) at /usr/src/debug/kuserfeedback-1.0.0-2.7.x86_64/src/provider/core/provider.cpp:232
#8  0x00007f6e384cf5ac in KUserFeedback::ProviderPrivate::submit(QUrl const&) (this=this@entry=0x1f21120, url=...) at /usr/src/debug/kuserfeedback-1.0.0-2.7.x86_64/src/provider/core/provider.cpp:670


Reported using DrKonqi
Comment 1 Karl Ove Hufthammer 2021-01-17 12:28:58 UTC
Created attachment 134966 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Karl Ove Hufthammer 2021-01-17 12:42:33 UTC
I have tried manually editing the file
~/.config/kde.org/UserFeedback.org.kde.dolphin.conf
to see which settings causes the crash.
It turns out that if I set

    [Source-settings]
    dataSourceCommonSettings\activeState=true

then Dolphin crashes at startup. But if I set it to false, it doesn’t. Setting the other settings (e.g. ‘[Source-applicationVersion]’) in this file to true does *not* cause Dolphin to crash.
Comment 3 Nate Graham 2021-01-19 16:33:31 UTC
Weird. I tried adding

[Source-settings]
dataSourceCommonSettings\activeState=true

To that file and launching Dolphin, and those lines actually got deleted. Then Dolphin launched with no crash. I suppose that's not happening for you?

This is with everything from git master.
Comment 4 Karl Ove Hufthammer 2021-01-19 17:03:51 UTC
(In reply to Nate Graham from comment #3)
> Weird. I tried adding
> 
> [Source-settings]
> dataSourceCommonSettings\activeState=true
> 
> To that file and launching Dolphin, and those lines actually got deleted.
> Then Dolphin launched with no crash. I suppose that's not happening for you?
> 
> This is with everything from git master.

I just tested this again:

1. Updated to the latest version from git master.
2. Ensured that Dolphin was not running.
3. Deleted the file ~/.config/kde.org/UserFeedback.org.kde.dolphin.conf
4. Started Dolphin (no crash).
5. Went to the settings and set both user feedback sliders to the maximum.
6. Pressed ‘Apply’.

Dolphin then crashed. And if I try to start Dolphin again, it crashes again. And again.

But the contents of the ~/.config/kde.org/UserFeedback.org.kde.dolphin.conf is now only:

[UserFeedback]
ApplicationStartCount=3
StatisticsCollectionMode=DetailedUsageStatistics
SurveyInterval=0


BTW, I have also enabled the user feedback in Kate, with no crashes.
Comment 5 Nate Graham 2021-01-19 18:01:07 UTC
Interesting. If I follow those exact steps, I still can't get it to crash. The file looks like this for me:



cat ~/.config/kde.org/UserFeedback.org.kde.dolphin.conf
[Source-applicationVersion]
dataSourceCommonSettings\activeState=true

[Source-locale]
dataSourceCommonSettings\activeState=true

[Source-places]
dataSourceCommonSettings\activeState=true

[Source-platform]
dataSourceCommonSettings\activeState=true

[Source-qtVersion]
dataSourceCommonSettings\activeState=true

[Source-screens]
dataSourceCommonSettings\activeState=true

[Source-settings]
dataSourceCommonSettings\activeState=true

[Source-startCount]
dataSourceCommonSettings\activeState=true

[Source-usageTime]
dataSourceCommonSettings\activeState=true

[UserFeedback]
ApplicationStartCount=1
ApplicationTime=20
LastSubmission=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x86\x62\x2Z\x17I\0)
StatisticsCollectionMode=DetailedUsageStatistics
SurveyInterval=0
Comment 6 Karl Ove Hufthammer 2021-01-19 18:10:20 UTC
By enabling one level of the sliders at a time, I managed to get a non-crashing version. The .conf file now looks like this:

[UserFeedback]
ApplicationStartCount=2
LastSubmission=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x86\x62\x4\x17Kt\0)
StatisticsCollectionMode=DetailedUsageStatistics
SurveyInterval=0

If I start Dolphin with this file, it does *not* crash. However, if I remove the LastSubmission line, it consistently crashes at startup.
Comment 7 Karl Ove Hufthammer 2021-01-19 18:18:10 UTC
I’m not sure if this is related, but if I start Dolphin with the non-crashing .conf file and press the ‘Show the raw data that is going to be shared.’ (a lifebuoy icon?) in the user feedback settings, Dolphin crashes.
Comment 8 Bug Janitor Service 2021-01-20 14:30:57 UTC
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/165
Comment 9 Harald Sitter 2021-01-25 09:18:33 UTC
Git commit 5ed12ed44a7169855d46486d17c3e18697c3c4ae by Harald Sitter.
Committed on 25/01/2021 at 09:12.
Pushed by sitter into branch 'release/20.12'.

don't crash when building without baloo

show_information_panel is only created when building with baloo. only
access it when built with baloo, otherwise always report the panel as
off.

this fixes a nullptr deref because action() would return a nullptr since
show_information_panel isn't a thing in all build configurations

(full disclosure: I can't reproduce the crash, nor did I build without
baloo)

M  +4    -0    src/dolphinmainwindow.cpp

https://invent.kde.org/system/dolphin/commit/5ed12ed44a7169855d46486d17c3e18697c3c4ae
Comment 10 Nate Graham 2022-02-02 17:24:53 UTC
*** Bug 419505 has been marked as a duplicate of this bug. ***
Comment 11 Ahmad Samir 2022-02-15 13:10:57 UTC
*** Bug 449647 has been marked as a duplicate of this bug. ***