Bug 446438

Summary: Wayland session does not launch using the login screen when using fish shell
Product: [Plasma] plasmashell Reporter: pewkrause
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED UPSTREAM    
Severity: normal CC: nate, ngompa, plasma-bugs-null
Priority: LO Keywords: wayland-only
Version First Reported In: 5.23.3   
Target Milestone: 1.0   
Platform: unspecified   
OS: Linux   
URL: https://github.com/sddm/sddm/pull/1360
See Also: https://bugs.kde.org/show_bug.cgi?id=450639
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description pewkrause 2021-12-03 18:38:36 UTC
SUMMARY
***
Using OpenSUSE Tumbleweed 20211130 the system freezes after logging in showing showing the sddm screen only. However, I am sure I was able to run a Wayland session not long time ago. It works, however, if I log in as a newly created user or, using my own login, start a wayland session running
'dbus-run-session startplasma-wayland'

The relevant section of the system.journal reads:

Nov 26 10:30:08 vision sddm-greeter[1650]: Reading from "/usr/share/wayland-sessions/plasmawayland.desktop"
Nov 26 10:30:08 vision sddm[993]: Message received from greeter: Login
Nov 26 10:30:08 vision sddm[993]: Reading from "/usr/share/wayland-sessions/plasmawayland.desktop"
Nov 26 10:30:08 vision sddm[993]: Reading from "/usr/share/wayland-sessions/plasmawayland.desktop"
Nov 26 10:30:08 vision sddm[993]: Session "/usr/share/wayland-sessions/plasmawayland.desktop" selected, command: "/usr/lib64/libexec/plasma-dbus-run-session-if>
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Starting...
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Authenticating...
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Preparing to converse...
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Conversation with 1 messages
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] returning.
Nov 26 10:30:08 vision sddm[993]: Authenticated successfully
Nov 26 10:30:08 vision sddm-greeter[1650]: Message received from daemon: LoginSucceeded
Nov 26 10:30:08 vision systemd[1]: Created slice User Slice of UID 1000.
Nov 26 10:30:08 vision systemd[1]: Starting User Runtime Directory /run/user/1000...
Nov 26 10:30:08 vision systemd-logind[742]: New session 2 of user peter.
Nov 26 10:30:08 vision systemd[1]: Finished User Runtime Directory /run/user/1000.
Nov 26 10:30:08 vision systemd[1]: Starting User Manager for UID 1000...
Nov 26 10:30:08 vision systemd[2116]: pam_unix(systemd-user:session): session opened for user peter(uid=1000) by (uid=0)
Nov 26 10:30:08 vision sddm-helper[1615]: [PAM] Closing session
Nov 26 10:30:08 vision sddm-helper[1615]: pam_unix(sddm-greeter:session): session closed for user sddm
Nov 26 10:30:08 vision sddm-helper[1615]: [PAM] Ended.
Nov 26 10:30:08 vision sddm[993]: Auth: sddm-helper exited successfully
Nov 26 10:30:08 vision sddm[993]: Greeter stopped.
Nov 26 10:30:08 vision systemd[1]: session-1.scope: Deactivated successfully.
Nov 26 10:30:08 vision systemd[1]: session-1.scope: Consumed 1.691s CPU time.
Nov 26 10:30:08 vision systemd-logind[742]: Session 1 logged out. Waiting for processes to exit.
Nov 26 10:30:08 vision systemd-logind[742]: Removed session 1.
Nov 26 10:30:08 vision systemd[1]: Started User Manager for UID 1000.
Nov 26 10:30:08 vision systemd[1]: Started Session 2 of User peter.
Nov 26 10:30:08 vision sddm-helper[2114]: pam_unix(sddm:session): session opened for user peter(uid=1000) by (uid=0)
Nov 26 10:30:08 vision sddm-helper[2114]: Starting: "/usr/share/sddm/scripts/wayland-session /usr/lib64/libexec/plasma-dbus-run-session-if-needed /usr/bin/star>
Nov 26 10:30:08 vision sddm-helper[2125]: Jumping to VT 2
Nov 26 10:30:08 vision sddm-helper[2125]: VT mode didn't need to be fixed
Nov 26 10:30:08 vision sddm[993]: Session started
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Closing session
Nov 26 10:30:08 vision sddm-helper[2114]: pam_unix(sddm:session): session closed for user peter
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Ended.
Nov 26 10:30:08 vision sddm[993]: Auth: sddm-helper exited with 1
Nov 26 10:30:08 vision systemd[1]: session-2.scope: Deactivated successfully.
Nov 26 10:30:08 vision systemd-logind[742]: Session 2 logged out. Waiting for processes to exit.
Nov 26 10:30:08 vision systemd-logind[742]: Removed ses wayland-session.logsion 2.


***


STEPS TO REPRODUCE
1. Start the system
2. In the sddm screen select 'PLASMA Wayland'
3. Type in the login data
4. Press 'Enter'

OBSERVED RESULT

The system hangs displaying the sddm screen or a black screen.
EXPECTED RESULT


SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.23.3
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2
Kernel Version: 5.14.14-1-default (64-bit)
Graphics Platform: X11
Processors: 8 × 11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz
Memory: 15.4 GiB of RAM
Graphics Processor: Mesa Intel® Xe Graphics
Comment 1 Nate Graham 2021-12-03 20:53:04 UTC
That's odd:

Nov 26 10:30:08 vision sddm[993]: Session started
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Closing session
Nov 26 10:30:08 vision sddm-helper[2114]: pam_unix(sddm:session): session closed for user peter
Nov 26 10:30:08 vision sddm-helper[2114]: [PAM] Ended.
Nov 26 10:30:08 vision sddm[993]: Auth: sddm-helper exited with 1
Comment 2 David Edmundson 2021-12-05 07:08:12 UTC
It just means the session failed to run and SDDM worked perfectly in that case.

Please include output of ~/.local/share/sddm/wayland-session.log and reopen
Comment 3 pewkrause 2021-12-05 10:59:54 UTC
(In reply to David Edmundson from comment #2)
> It just means the session failed to run and SDDM worked perfectly in that
> case.
> 
> Please include output of ~/.local/share/sddm/wayland-session.log and reopen

The log file only contains a single statement:

'/tmp/xsess-env-gx5RNd: Zeile 39: PROFILEREAD: Schreibgeschützte Variable.'

Couldn't find that file, so obviously it gets deleted automatically.
Comment 4 pewkrause 2021-12-10 11:23:26 UTC
I checked the file '/tmp/xsess-env-...' right after the wayland session login gets stuck and line 39 says

EXPORT PROFILEREAD="true".
Comment 5 pewkrause 2021-12-10 12:40:13 UTC
Just found out, that the problem is caused by the fact that I am running 'fish' as my default shell. Maybe fish tries to read a different config file than bash does. Hope I can figure that out. 

Thanks for your support anyway!
Comment 6 Nate Graham 2021-12-13 16:20:08 UTC
So it works when you're using bash?
Comment 7 pewkrause 2021-12-13 17:55:19 UTC
(In reply to Nate Graham from comment #6)
> So it works when you're using bash?

Yes, it does. Unfortunately, fish is not POSIX compatible and is, obviously, not meant to be used in the non-interactive login shell, as it does not read the .bashrc.
Comment 8 pewkrause 2021-12-14 13:04:05 UTC
I guess I need to add a few details:
As of today, none of the shells seem to work anymore with launching a wayland session, although I am sure it was working with bash before. Also, logging in as a freh defined new user, I can easily switch between the shells using 'chsh -s' and the login persistantly works with bash and won't work using fish. So, it looks like there still is something else blocking the wayland login to my default user. I will check the journal output once again.
Comment 9 pewkrause 2021-12-14 18:36:26 UTC
The Wayland-related output of the system.journal after booting with bash reads:


Dez 14 19:17:08 vision ksmserver-logout-greeter[2997]: The Wayland connection broke. Did the Wayland compositor die?
Dez 14 19:17:08 vision kded5[2364]: QDBusAbstractAdaptor: Cannot relay signal KDEDModule::moduleDeleted(KDEDModule*): Pointers are not supported: KDEDModule*
Dez 14 19:17:08 vision kwalletd5[2637]: The Wayland connection broke. Did the Wayland compositor die?
Dez 14 19:17:08 vision kded5[2364]: QDBusAbstractAdaptor: Cannot relay signal KDEDModule::moduleDeleted(KDEDModule*): Pointers are not supported: KDEDModule*
Dez 14 19:17:08 vision kactivitymanagerd[2397]: The Wayland connection broke. Did the Wayland compositor die?
Dez 14 19:17:08 vision kded5[2364]: QDBusAbstractAdaptor: Cannot relay signal KDEDModule::moduleDeleted(KDEDModule*): Pointers are not supported: KDEDModule*
Dez 14 19:17:08 vision kaccess[2381]: The X11 connection broke (error 1). Did the X11 server die?
Dez 14 19:17:08 vision pulseaudio[2462]: X11 I/O error exit handler called, preparing to tear down X11 modules
Dez 14 19:17:08 vision pulseaudio[2462]: X11 I/O error handler called
Dez 14 19:17:08 vision gmenudbusmenuproxy[2454]: The X11 connection broke (error 1). Did the X11 server die?
Dez 14 19:17:08 vision xembedsniproxy[2385]: The X11 connection broke (error 1). Did the X11 server die?
Dez 14 19:17:08 vision ksmserver[2367]: The X11 connection broke (error 1). Did the X11 server die?
Dez 14 19:16:59 vision ksmserver-logout-greeter[2997]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Dez 14 19:16:59 vision ksmserver-logout-greeter[2997]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Dez 14 19:16:59 vision dbus-daemon[2299]: [session uid=1000 pid=2299] Successfully activated service 'org.kde.LogoutPrompt'
Dez 14 19:16:59 vision dbus-daemon[2299]: [session uid=1000 pid=2299] Activating service name='org.kde.LogoutPrompt' requested by ':1.10' (uid=1000 pid=2367 co>
Dez 14 19:16:25 vision plasmashell[2800]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:134:19: QML Loader: Binding loop de>
Dez 14 19:16:25 vision plasmashell[2800]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:134:19: QML Loader: Binding loop de>
Dez 14 19:16:25 vision plasmashell[2800]: trying to show an empty dialog
Dez 14 19:16:25 vision plasmashell[2800]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()


Is there a Qt Issue?
Comment 10 pewkrause 2021-12-18 19:00:49 UTC
Sorry, guys, my fault. Last time I  ran a Wayland session with bash being the default shell I disabled the laptop screen in order to use the second screen only and was not aware of the fact, that this would not apply to the X11 session. 

On the other hand the issue of Wayland not booting with fish being the default shell has not been fixed yet. I am currently using a workaround now by stting bash as the default shell and starting fish only the moment I start a terminal. This works fine for me. maybe it's mainly an issue of the fish shell.
Comment 11 Neal Gompa 2022-01-16 20:27:06 UTC
This is fixed in upstream SDDM and openSUSE will need to backport it: https://github.com/sddm/sddm/pull/1360
Comment 12 Nate Graham 2022-01-17 01:36:24 UTC
Awesome!