Bug 446421

Summary: Irreversable crash after using fullscreen window
Product: [Plasma] plasmashell Reporter: Alpha-Craft <knolld00>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nate, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.23.4   
Target Milestone: 1.0   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Alpha-Craft 2021-12-03 14:04:52 UTC
Application: plasmashell (5.23.4)

Qt Version: 5.15.2
Frameworks Version: 5.88.0
Operating System: Linux 5.13.0-22-generic x86_64
Windowing System: X11
Distribution: Ubuntu 21.10
DrKonqi: 5.23.4 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
I ran a selfmade python script which firstly created a pygame window with the size of 500x500 pixels. It also was set to fullscreen. That is where everything crashed. The second monitor is streched in the x-axis and the system is buggy and nearly unusable. I even loaded some backups but nothing helped. The python script is definately not running and the shell is still broken. The sddm login screen looks like normal and as soon as I log in I can shortly see that the mouse cursor was looking right and I could even move it between the two displays as normal but then it crashes and the error message pops up. It's always something different. Fullscreen was always buggy in any app but this is horrible and irreversable. I really need help and I hope I could give enough information to manage to do something with it.
Probably reproducable when creating a pygame window within a python script which doesn't have the same dimensions as the display it's running on and which is set to fullscreen mode.

Thank you in advance!

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fa7e10f428f in QQuickItemPrivate::addToDirtyList() () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#5  0x00007fa7e10f8d8e in QQuickItemPrivate::dirty(QQuickItemPrivate::DirtyType) () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007fa7df6e973e in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa7e03a86b3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007fa7df6bc16a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa7df6bf257 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fa7df715ef7 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fa7ddaef8bb in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fa7ddb42f08 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007fa7ddaed003 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007fa7df715548 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007fa7df6baa9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007fa7df6c3024 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x000056425023ad09 in  ()
#18 0x00007fa7defedfd0 in __libc_start_call_main (main=main@entry=0x564250239eb0, argc=argc@entry=1, argv=argv@entry=0x7ffe0a3d6d68) at ../sysdeps/nptl/libc_start_call_main.h:58
#19 0x00007fa7defee07d in __libc_start_main_impl (main=0x564250239eb0, argc=1, argv=0x7ffe0a3d6d68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe0a3d6d58) at ../csu/libc-start.c:409
#20 0x000056425023ae25 in  ()
[Inferior 1 (process 3664) detached]

Possible duplicates by query: bug 446361, bug 446357, bug 445975, bug 445876, bug 445662.

Reported using DrKonqi
Comment 1 Alpha-Craft 2021-12-03 16:25:22 UTC
The .py python script I ran roughly looks like this:
"
import pygame
from pygame.locals import *
pygame.init()

screen = pygame.display.set_mode((500, 500), flags=FULLSCREEN)
clock = pygame.time.Clock()

run = True

while run:
    for event in pygame.event.get():
        if event.type == QUIT:
            run = False
    pygame.display.update()
    clock.tick(60)
pygame.quit()
"
This should really not be run this on one's main machine. It might cause the same error as I have.
I didn't find any solution yet. You would also need the pygame library to be installed.
You should be able to install it with "pip install pygame". If it doesn't work you can read the pygame docs.
Comment 2 Nate Graham 2021-12-03 20:46:32 UTC

*** This bug has been marked as a duplicate of bug 396359 ***