Bug 453338 - sddmthemeinstaller doesn't tell you specifically what went wrong when there was an installation error
Summary: sddmthemeinstaller doesn't tell you specifically what went wrong when there w...
Status: CONFIRMED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_sddm (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Alexander Lohnau
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2022-05-03 12:28 UTC by amixra
Modified: 2022-05-10 03:19 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description amixra 2022-05-03 12:28:13 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. try to install [ArchAbstract_Sddm](https://store.kde.org/p/1678315) theme
2. it will not install saying no output of `sddmthemeinstaller -i /tmp/file.tar.gz
3. 

OBSERVED RESULT

A popup saying it can't be installed. And gives empty output of command `sddmthemeinstaller -i /tmp/file.tar.gz`
EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Alexander Lohnau 2022-05-03 16:02:38 UTC
Do you get additional info from the command line when you open systemsettings from there?

Please attach a screenshot of the error message.
Comment 2 Nate Graham 2022-05-03 17:03:55 UTC
Hmm, I just tried it and it installed just fine.

Can you paste the output of `ls /usr/share/sddm/themes/`?
Comment 3 amixra 2022-05-03 17:46:53 UTC
(In reply to Alexander Lohnau from comment #1)
> Do you get additional info from the command line when you open
> systemsettings from there?

Here are the logs, last lines are point of interest most probably
```
kf.kirigami: Failed to find a Kirigami platform plugin
kf.kirigami: Failed to find a Kirigami platform plugin
QQmlEngine::setContextForObject(): Object already has a QQmlContext
kf.kirigami: Failed to find a Kirigami platform plugin
QQmlEngine::setContextForObject(): Object already has a QQmlContext
qml: The item SubCategoryPage_QMLTYPE_74(0x560ff390e160) is already in the PageRow
kf.configwidgets: A widget named ' "kcfg_AllowKDEAppsToRememberWindowPositions" ' was found but there is no setting named ' "AllowKDEAppsToRememberWindowPositions" '
kf.configwidgets: A widget named ' "kcfg_ShadeHover" ' was found but there is no setting named ' "ShadeHover" '
kf.configwidgets: A widget named ' "kcfg_ShadeHoverInterval" ' was found but there is no setting named ' "ShadeHoverInterval" '
kf.configwidgets: A widget named ' "kcfg_Placement" ' was found but there is no setting named ' "Placement" '
kf.configwidgets: A widget named ' "kcfg_HideUtilityWindowsForInactive" ' was found but there is no setting named ' "HideUtilityWindowsForInactive" '
qml: The item SubCategoryPage_QMLTYPE_74(0x560ff390e160) is already in the PageRow
kf.kirigami: Failed to find a Kirigami platform plugin
QQmlEngine::setContextForObject(): Object already has a QQmlContext
kf.i18n: "0 instead of 3 arguments to message {%1, by %2 (%3)} supplied before conversion."
kf.i18n: "0 instead of 2 arguments to message {%1 (%2)} supplied before conversion."
file:///usr/lib/qt/qml/org/kde/kcm/GridView.qml:42: TypeError: Value is null and could not be converted to an object
file:///usr/share/kpackage/kcms/kcm_sddm/contents/ui/main.qml:22:13: QML InlineMessage: Cannot anchor to an item that isn't a parent or sibling.
qml: The item SubCategoryPage_QMLTYPE_74(0x560ff390e160) is already in the PageRow
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/OverlaySheet.qml:219:38: QML FocusScope: Binding loop detected for property "contentItemMaximumWidth"
QCoreApplication::postEvent: Unexpected null receiver
file:///usr/lib/qt/qml/org/kde/kcm/GridView.qml:42: TypeError: Value is null and could not be converted to an object
file:///usr/lib/qt/qml/org/kde/newstuff/Action.qml:145:59: QML Connections: Detected function "onInitialized" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
file:///usr/lib/qt/qml/org/kde/kirigami.2/AbstractApplicationItem.qml:93: TypeError: Cannot read property 'position' of null
file:///usr/lib/qt/qml/org/kde/kirigami.2/AbstractApplicationItem.qml:92: TypeError: Cannot read property 'background' of null
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/OverlaySheet.qml:219:38: QML FocusScope: Binding loop detected for property "contentItemMaximumWidth"
file:///usr/lib/qt/qml/org/kde/kirigami.2/ContextDrawer.qml:125:9: QML ListView: Binding loop detected for property "topMargin"
qt.network.http2: stream 3 finished with error: "Server stopped accepting new streams before this stream was established"
parse():: XML Error:  "Premature end of document." 
In XML:
 ""

```
> 
> Please attach a screenshot of the error message.

first attempt (again) - new error -> https://pasteboard.co/yno5zolxFCyv.png
working from more than 5 minutes -> https://pasteboard.co/a7TmuUydWD62.png

Second refresh attempt - https://pasteboard.co/NiEXOHdJ0Eal.png 
I have got exactly this for very first time.
terminal logs were also same
```
kf.newstuff.core: Command ' "sddmthemeinstaller -i /tmp/ArchAbstract_Sddm.tar.gz" ' failed with code 255

```

One more thing I am using awesomeWm and not plasma, if that affects anyway.
Comment 4 amixra 2022-05-03 17:48:21 UTC
(In reply to Nate Graham from comment #2)
> Hmm, I just tried it and it installed just fine.
> 
> Can you paste the output of `ls /usr/share/sddm/themes/`?

❯ ls /usr/share/sddm/themes/
breeze  elarun  maldives  maya
Comment 5 Alexander Lohnau 2022-05-03 18:35:44 UTC
Thanks for the additional info!

Could you please tell us which your configured locale and KDE Frameworks version is? Some time back we had issues with the KDE store server on certain locales.

>One more thing I am using awesomeWm and not plasma, if that affects anyway.

From looking at the code, we are doing some authorization, copy files and write config. I do not think it makes a difference.

>kf.newstuff.core: Command ' "sddmthemeinstaller -i /tmp/ArchAbstract_Sddm.tar.gz" ' failed with code 255

Does the file exist and could you open it with ark? What might be worth a try is downloading the file from the KDE store and then calling sddmthemeinstaller manually.
Comment 6 amixra 2022-05-05 04:27:15 UTC
(In reply to Alexander Lohnau from comment #5)
 
> Could you please tell us which your configured locale and KDE Frameworks
> version is? Some time back we had issues with the KDE store server on
> certain locales.

KDE Frameworks version : 5.93.0

Output of `locale -a`
```
C
en_US.utf8
POSIX
```

if that's what you meant 
 
> Does the file exist and could you open it with ark?

Yes I downloaded manually and can see various files into it.

> What might be worth a
> try is downloading the file from the KDE store and then calling
> sddmthemeinstaller manually.

Tried that too, Zsh gives same 255 error https://pasteboard.co/Tm6e0FUkAjLi.png
Comment 7 Alexander Lohnau 2022-05-08 07:45:17 UTC
That is weird, I have no other idea that running GDB and trying to find out where it crashed. Could you do that?
Comment 8 amixra 2022-05-09 05:27:13 UTC
(In reply to Alexander Lohnau from comment #7)
> That is weird, I have no other idea that running GDB and trying to find out
> where it crashed. Could you do that?

```
(gdb) run
Starting program: /usr/bin/sddmthemeinstaller -i Downloads/ArchAbstract_Sddm.tar.gz
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff3131640 (LWP 85071)]
[New Thread 0x7ffff25f1640 (LWP 85072)]
[New Thread 0x7ffff1df0640 (LWP 85073)]
[New Thread 0x7ffff15ef640 (LWP 85074)]
[Thread 0x7ffff3131640 (LWP 85071) exited]
[Thread 0x7ffff25f1640 (LWP 85072) exited]
[Thread 0x7ffff1df0640 (LWP 85073) exited]
[Thread 0x7ffff3706840 (LWP 85068) exited]
[Inferior 1 (process 85068) exited with code 0377]
(gdb) quit
```
I again checked `/usr/share/sddm/themes` it wasn't updated. I don't know whether it was already supposed or not but i felt to update that directory it will need root permissions and it doesn't asks me for password so i tried `sudo sddmthemeinstaller -i /Downloads/ArchAbstract_Sddm.tar.gz`  and got following output if that helps
```
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Debug message from helper: Installing  "/home/amit/Downloads/ArchAbstract_Sddm.tar.gz"  into  "/usr/share/sddm/themes"
Warning from helper: Postinstallation: uncompress the file
```
I rechecked /usr/share/sddm/themes/ and it was updated with that i tried applying those changes using system settings got following
https://pasteboard.co/vIAy8TyueeXK.png
empty red popup at top
https://pasteboard.co/wgWHuLSkVpAI.png
Comment 9 amixra 2022-05-09 07:25:30 UTC
FIXED NOW

After spending some time i found their should be a `/etc/sddm.conf` or/and `/etc/sddm.conf.d` file or/and directory containing user settings, none of them was present in my case. Also found that `/usr/lib/sddm/sddm.conf.d` contains system configuration and `CURRENT` is the variable for theme name. Updated it's value with `ArchAbstract_Sddm` and saved. Tested using `sddm --test-mode` and was behaving as expected. Rebooted and everything works fine.
`man sddm` and arch wiki was enough.

I am skeptical of the fact that gui is really able to do any change.
Comment 10 Nate Graham 2022-05-09 16:07:46 UTC
I suppose trying to install an SDDM theme with SDDM improperly configured would be an issue, yeah. We could improve the error message that `sddmthemeinstaller` presents to the user, though.
Comment 11 Alexander Lohnau 2022-05-09 17:52:53 UTC
@amixra Could you please check if by the change you did the directory that is searched for in https://invent.kde.org/plasma/sddm-kcm/-/blob/master/sddmauthhelper.cpp#L331 was created? Unless you have any specific settings for the standard paths, the path should evaluate to /usr/share/sddm/themes at runtime.
Comment 12 amixra 2022-05-10 03:19:25 UTC
(In reply to Alexander Lohnau from comment #11)
Yes I have mentioned that above too. Using sudo was able to do atleast unpacking of `.tar.gz` file and placing at `/usr/share/sddm/themes`. Didn't did installing part only.