Bug 453741 - kscreenlocker_greet crashes in ScreenLocker::UnlockApp::markViewsAsVisible()
Summary: kscreenlocker_greet crashes in ScreenLocker::UnlockApp::markViewsAsVisible()
Status: RESOLVED FIXED
Alias: None
Product: kscreenlocker
Classification: Unmaintained
Component: general (other bugs)
Version First Reported In: 5.24.4
Platform: Fedora RPMs Linux
: NOR grave
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-13 14:05 UTC by giuseppe
Modified: 2022-11-20 21:36 UTC (History)
2 users (show)

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


Attachments
coredumpctl gdb (21.94 KB, text/plain)
2022-05-13 15:49 UTC, giuseppe
Details
coredumpctl after i run the command from bash instead of fish (24.29 KB, text/plain)
2022-05-13 17:10 UTC, giuseppe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description giuseppe 2022-05-13 14:05:41 UTC
SUMMARY
Whenever I lock the screen, after my monitor is turned off or even if I turn it off manually I get this error
"The lock screen is broken and unlocking is not possible anymore ... " with instructions on how to manually unlock it.


STEPS TO REPRODUCE
1.  Lock the screen
2.  Turn off the monitor
3.  Turn on the monitor

OBSERVED RESULT
Black screen with the error mentioned above

EXPECTED RESULT
Be able to unlock the screen without using a TTY

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 36
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Before the latest Fedora upgrade it happened just random, now it's constant.

I tried to follow the solution given here:   https://forum.kde.org/viewtopic.php?f=309&t=174343&sid=4cb37e2c4fdaed7c15c597e15ec942ca&start=15   but it didn't work 

My setup consist of an external monitor used as main and only monitor, external mouse and keyboard, the laptop is an Ideapad with intel i7 10th gen and Iris Plus graphics
Comment 1 Nate Graham 2022-05-13 15:05:37 UTC
What happens if you run `/usr/libexec/kscreenlocker_greet --testing` ? Can you do so and paste the output in your terminal window?
Comment 2 giuseppe 2022-05-13 15:18:47 UTC
(In reply to Nate Graham from comment #1)
> What happens if you run `/usr/libexec/kscreenlocker_greet --testing` ? Can
> you do so and paste the output in your terminal window?

It didn't crash this time. But after I turn off the monitor and on again it didn't ask for my password.

Below the output:
Locked at 1652454987
file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.desktop/contents/components/UserList.qml:42:9: Unable to assign [undefined] to bool
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.desktop/contents/components/UserList.qml:42:9: Unable to assign [undefined] to bool
qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
fish: Job 1, '/usr/libexec/kscreenlocker_gree…' terminated by signal SIGSEGV (Address boundary error)

It seems the problem was the external monitor itself
Comment 3 Nate Graham 2022-05-13 15:31:15 UTC
Seems like kscreenlocker_greet is crashing. That definitely shouldn't happen. :) Can you get a backtrace of it? You may be able to use `coredumpctl` to get an existing one. See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl

I also notice that you're using fish shell. Does the issue go away if you change your login shell to bash?
Comment 4 giuseppe 2022-05-13 15:49:54 UTC
Created attachment 148801 [details]
coredumpctl gdb

this is the coredumpctl. 
About the other question, I just have fish set in use as konsole command, I didn't do chsh to set it.
Comment 5 giuseppe 2022-05-13 16:01:59 UTC
Additional findings: I have a soundbar attached and powered by the monitor itself. After I tried a couple of time the screen locker I noticed the soundbar profile was set off by itself.
Comment 6 Nate Graham 2022-05-13 16:02:14 UTC
> #0  0x00007f0b702ecc4f _ZN18QMetaObjectPrivate10disconnectEPK7QObjectiPK11QMetaObjectS2_iPPvNS_14DisconnectTypeE (libQt5Core.so.5 + 0x2d4c4f)
> #1  0x00007f0b702edc82 _ZN7QObject14disconnectImplEPKS_PPvS1_S3_PK11QMetaObject (libQt5Core.so.5 + 0x2d5c82)
> #2  0x000055cb07a8694f _ZN12ScreenLocker9UnlockApp18markViewsAsVisibleEPN12KQuickAddons21QuickViewSharedEngineE (kscreenlocker_greet + 0x1094f)

Can you use bash (or whatever your login shell is) in your konsole window, and run `/usr/libexec/kscreenlocker_greet --testing` again? Does it still crash with the same backtrace?
Comment 7 giuseppe 2022-05-13 16:06:59 UTC
/usr/libexec/kscreenlocker_greet --testing
Locked at 1652457928
file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.desktop/contents/components/UserList.qml:42:9: Unable to assign [undefined] to bool
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.desktop/contents/components/UserList.qml:42:9: Unable to assign [undefined] to bool
qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Segmentation fault (core dumped)
Comment 8 Nate Graham 2022-05-13 16:12:53 UTC
Is the backtrace the same?
Comment 9 giuseppe 2022-05-13 16:39:25 UTC
Seens exact same, just this time i used bash as you suggested
Comment 10 giuseppe 2022-05-13 17:10:16 UTC
Created attachment 148804 [details]
coredumpctl after i run the command from bash instead of fish

I thought backtrace was the output when I tried to run the lock screen from bash. Instead it should be the coredumpctl. This one seems longer of 40 lines indeed.
Comment 11 Nate Graham 2022-05-16 15:37:17 UTC
Thanks!

Cannot reproduce with an external monitor and all KDE software from git master.
Comment 12 giuseppe 2022-05-16 16:01:23 UTC
Then it might be Fedora related? It wasn't happening so consistently on F35. As a workaround for now I'm using X11.
Comment 13 Nate Graham 2022-05-16 16:10:01 UTC
I'm on Fedora too, but I do build all KDE software from source.
Comment 14 giuseppe 2022-05-16 16:17:12 UTC
For what matters I could reproduce even on the live of F36, but maybe is Intel (and Wayland) specific, so if we don't have a very similar hardware it might be difficult to replicate.
Comment 15 Nate Graham 2022-11-04 21:31:45 UTC
Can you reproduce it on Fedora 36?
Comment 16 Bug Janitor Service 2022-11-19 05:14:29 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 17 giuseppe 2022-11-19 12:09:34 UTC
(In reply to Nate Graham from comment #15)
> Can you reproduce it on Fedora 36?

Sorry, i must have missed the email somehow. After the stable release of Fedora 36 it didn't happen anymore, I've gone all summer without the bug. 
Now I'm on Steam OS since I changed my device but I assume the bug can be marked as solved finally.
Comment 18 Nate Graham 2022-11-20 21:36:14 UTC
Thanks for following up!