https://bugs.kde.org/show_bug.cgi?id=500519

            Bug ID: 500519
           Summary: KWin crashes when bogus size window is created
    Classification: Plasma
           Product: kwin
           Version: 6.3.1
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: generic-crash
          Assignee: kwin-bugs-n...@kde.org
          Reporter: w...@nereid.pl
  Target Milestone: ---

I have not initialized a variable in my wayland client program, which resulted
in a request to create a nonsense size window. Instead of refusing the request,
KWin crashed.

(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x000075b60c2a56d3 in __pthread_kill_internal (threadid=<optimized out>,
signo=11) at pthread_kill.c:89
#2  0x000075b60c24bba0 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x000075b60efcd4da in KCrash::defaultCrashHandler (sig=11) at
/usr/src/debug/kcrash/kcrash-6.11.0/src/kcrash.cpp:605
#4  <signal handler called>
#5  std::__fill_a1<unsigned int*, unsigned int> (__first=0x0, __last=0x4,
__value=<error reading variable: Cannot access memory at address 0x4>) at
/usr/include/c++/14.2.1/bits/stl_algobase.h:947
#6  std::__fill_a<unsigned int*, unsigned int> (__first=0x0, __last=0x4,
__value=<error reading variable: Cannot access memory at address 0x4>) at
/usr/include/c++/14.2.1/bits/stl_algobase.h:998
#7  std::__fill_n_a<unsigned int*, int, unsigned int> (__first=0x0, __n=1,
__n@entry=0, __value=<error reading variable: Cannot access memory at address
0x4>) at /usr/include/c++/14.2.1/bits/stl_algobase.h:1154
#8  std::fill_n<unsigned int*, int, unsigned int> (__first=0x0, __n=1,
__n@entry=0, __value=<error reading variable: Cannot access memory at address
0x4>) at /usr/include/c++/14.2.1/bits/stl_algobase.h:1183
#9  KWin::clamp_row (left=left@entry=1, width=width@entry=1436714451,
right=right@entry=-1436714452, src=src@entry=0x4, dest=0x0) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene_opengl.cpp:289
#10 0x000075b60e8ef04a in KWin::clamp (image=..., viewport=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene_opengl.cpp:323
#11 KWin::SceneOpenGLDecorationRenderer::renderPart
(this=this@entry=0x5d4871a8e2f0, rect=..., partRect=..., textureOffset=...,
devicePixelRatio=devicePixelRatio@entry=1, rotated=rotated@entry=false) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene_opengl.cpp:413
#12 0x000075b60e8ef470 in KWin::SceneOpenGLDecorationRenderer::render
(this=0x5d4871a8e2f0, region=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene_opengl.cpp:364
#13 0x000075b60e8c8dd0 in KWin::DecorationItem::preprocess
(this=0x5d487181bb90) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/decorationitem.cpp:143
#14 0x000075b60e8d653d in KWin::ItemRendererOpenGL::createRenderNode
(this=0x5d48712f10b0, item=<optimized out>, context=0x7ffe0ad45480) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/itemrenderer_opengl.cpp:154
#15 0x000075b60e8d7002 in KWin::ItemRendererOpenGL::createRenderNode
(this=this@entry=0x5d48712f10b0, item=item@entry=0x5d4871a80030,
context=context@entry=0x7ffe0ad45480) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/itemrenderer_opengl.cpp:223
#16 0x000075b60e8daf48 in KWin::ItemRendererOpenGL::renderItem
(this=0x5d48712f10b0, renderTarget=..., viewport=..., item=0x5d4871a80030,
mask=<optimized out>, region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/itemrenderer_opengl.cpp:268
#17 0x000075b60e804020 in KWin::OffscreenData::maybeRender
(this=this@entry=0x5d4871a89560, window=window@entry=0x5d4871a7a5e0) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/offscreeneffect.cpp:136
#18 0x000075b60e8042f5 in KWin::OffscreenEffect::drawWindow
(this=0x5d48713e0d50, renderTarget=..., viewport=..., window=0x5d4871a7a5e0,
mask=4, region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/offscreeneffect.cpp:251
#19 0x000075b60e7e11c3 in KWin::EffectsHandler::drawWindow
(this=0x5d48713431a0, renderTarget=..., viewport=..., w=<optimized out>,
mask=<optimized out>, region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:379
#20 0x000075b60e7e11c3 in KWin::EffectsHandler::drawWindow
(this=0x5d48713431a0, renderTarget=..., viewport=..., w=<optimized out>,
mask=<optimized out>, region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:379
#21 0x000075b60e7e11c3 in KWin::EffectsHandler::drawWindow
(this=0x5d48713431a0, renderTarget=..., viewport=..., w=<optimized out>,
mask=<optimized out>, region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:379
#22 0x000075b60e7e1104 in KWin::EffectsHandler::paintWindow
(this=0x5d48713431a0, renderTarget=..., viewport=..., w=0x5d4871a7a5e0, mask=4,
region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:350
#23 0x000075b60e7e1104 in KWin::EffectsHandler::paintWindow
(this=0x5d48713431a0, renderTarget=..., viewport=..., w=0x5d4871a7a5e0, mask=4,
region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:350
#24 0x000075b60e7e1104 in KWin::EffectsHandler::paintWindow
(this=0x5d48713431a0, renderTarget=..., viewport=..., w=0x5d4871a7a5e0, mask=4,
region=..., data=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:350
#25 0x000075b60e8e7383 in KWin::WorkspaceScene::paintWindow (this=<optimized
out>, renderTarget=..., viewport=..., item=0x5d4871a80030, mask=4, region=...)
at /usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene.cpp:529
#26 KWin::WorkspaceScene::paintWindow (this=this@entry=0x5d4871342450,
renderTarget=..., viewport=..., item=0x5d4871a80030, mask=4, region=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene.cpp:522
#27 0x000075b60e8e7697 in KWin::WorkspaceScene::paintSimpleScreen
(this=0x5d4871342450, renderTarget=..., viewport=..., region=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene.cpp:502
#28 0x000075b60e7e1036 in KWin::EffectsHandler::paintScreen
(this=0x5d48713431a0, renderTarget=..., viewport=..., mask=<optimized out>,
region=..., screen=<optimized out>) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:322
#29 0x000075b60e7e1036 in KWin::EffectsHandler::paintScreen
(this=0x5d48713431a0, renderTarget=..., viewport=..., mask=<optimized out>,
region=..., screen=<optimized out>) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:322
#30 0x000075b60e7e1036 in KWin::EffectsHandler::paintScreen
(this=0x5d48713431a0, renderTarget=..., viewport=..., mask=<optimized out>,
region=..., screen=<optimized out>) at
/usr/src/debug/kwin/kwin-6.3.1/src/effect/effecthandler.cpp:322
#31 0x000075b60e8e7818 in KWin::WorkspaceScene::paint (this=0x5d4871342450,
renderTarget=..., region=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene.cpp:437
#32 0x000075b60e8d8ac5 in KWin::SceneDelegate::paint (this=<optimized out>,
renderTarget=..., region=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/scene.cpp:44
#33 0x000075b60e76f937 in KWin::Compositor::paintPass (this=0x5d4870c90a50,
layer=0x5d487136b730, renderTarget=..., region=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/compositor.cpp:177
#34 0x000075b60e77bc59 in KWin::WaylandCompositor::composite
(this=0x5d4870c90a50, renderLoop=<optimized out>) at
/usr/src/debug/kwin/kwin-6.3.1/src/compositor_wayland.cpp:435
#35 0x000075b60bdb1a49 in QtPrivate::QSlotObjectBase::call (this=<optimized
out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized
out>, a=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486
#36 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4115
#37 0x000075b60e790b45 in KWin::RenderLoop::frameRequested (this=<optimized
out>, _t1=<optimized out>) at
/usr/src/debug/kwin/build/src/kwin_autogen/include/moc_renderloop.cpp:211
#38 0x000075b60e795113 in KWin::RenderLoopPrivate::dispatch
(this=0x5d4870bbe7b0) at
/usr/src/debug/kwin/kwin-6.3.1/src/core/renderloop.cpp:190
#39 0x000075b60bdb1a49 in QtPrivate::QSlotObjectBase::call (this=<optimized
out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized
out>, a=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486
#40 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4115
#41 0x000075b60bdbaa75 in QTimer::timeout (this=0x5d4870bbe9f0, _t1=...) at
/usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qtimer.cpp:223
#42 QTimer::timerEvent (e=<optimized out>, this=0x5d4870bbe9f0) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:285
#43 QTimer::timerEvent (this=0x5d4870bbe9f0, e=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:279
#44 0x000075b60bda2ef9 in QObject::event (this=0x5d4870bbe9f0,
e=0x7ffe0ad46a20) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1393
#45 0x000075b60d0ff0ca in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x5d4870bbe9f0, e=0x7ffe0ad46a20) at
/usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3296
#46 0x000075b60bd55b00 in QCoreApplication::notifyInternal2
(receiver=0x5d4870bbe9f0, event=0x7ffe0ad46a20) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1172
#47 0x000075b60bed5aff in QCoreApplication::sendEvent (receiver=<optimized
out>, event=0x7ffe0ad46a20) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1612
#48 QTimerInfoList::activateTimers (this=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:426
#49 0x000075b60bede408 in QEventDispatcherUNIXPrivate::activateTimers
(this=0x5d4870b34560) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:199
#50 QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...,
flags@entry=...) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:475
#51 0x000075b60ca61d93 in QUnixEventDispatcherQPA::processEvents
(this=<optimized out>, flags=...) at
/usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qunixeventdispatcher.cpp:27
#52 0x000075b60bd606a6 in QEventLoop::processEvents (this=0x7ffe0ad46c20,
flags=...) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:103
#53 QEventLoop::exec (this=0x7ffe0ad46c20, flags=...) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:185
#54 0x000075b60bd591d6 in QCoreApplication::exec () at
/usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#55 0x000075b60d0faf9a in QApplication::exec () at
/usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2564
#56 0x00005d4862caf07b in main (argc=<optimized out>, argv=<optimized out>) at
/usr/src/debug/kwin/kwin-6.3.1/src/main_wayland.cpp:622
(gdb) f 10
#10 0x000075b60e8ef04a in KWin::clamp (image=..., viewport=...) at
/usr/src/debug/kwin/kwin-6.3.1/src/scene/workspacescene_opengl.cpp:323          
323             clamp_row(left, width, right, firstRow + left, dest);
(gdb) p viewport
$1 = (const QRect &) @0x7ffe0ad44500: {x1 = 1, y1 = 1, x2 = 1436714451, y2 =
28}


$ qdbus org.kde.KWin /KWin supportInformation

Version
=======
KWin version: 6.3.1
Qt Version: 6.8.2
Qt compile version: 6.8.2
XCB compile version: 1.17.0

Operation Mode: Wayland

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes
HAVE_GLX: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 12401005
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Plugin recommends border size: None
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 0
gridUnit: 10
font: Noto Sans,10,-1,0,400,0,0,0,0,0,0,0,0,0,0,1
smallSpacing: 2
largeSpacing: 10

Output backend
==============
Name: DRM
Atomic Mode Setting on GPU 0: true

Cursor
======
themeName: breeze_cursors
themeSize: 24

Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: true
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
edgeBarrier: 100
cornerBarrier: 1
rollOverDesktops: false
focusStealingPreventionLevel: 1
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateRaiseOnReleaseAndPassClick
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
doubleClickBorderToMaximize: true
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: AutoSwapStrategy
glPlatformInterface: 2
windowsBlockCompositing: true
allowTearing: true
interactiveWindowMoveEnabled: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Number of Screens: 2

Screen 0:
---------
Name: DP-4
Enabled: 1
Geometry: 2560,0,1920x1080
Physical size: 509x286mm
Scale: 1
Refresh Rate: 60000
Adaptive Sync: incapable
Screen 1:
---------
Name: DP-5
Enabled: 1
Geometry: 0,0,2560x1440
Physical size: 697x392mm
Scale: 1.5
Refresh Rate: 143999
Adaptive Sync: automatic

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 4090/PCIe/SSE2
OpenGL version string: 3.1.0 NVIDIA 570.86.16
OpenGL platform interface: EGL
OpenGL shading language version string: 1.40 NVIDIA via Cg compiler
Driver: NVIDIA
Driver version: 570.86.16
GPU class: Unknown
OpenGL version: 3.1
GLSL version: 1.40
X server version: 1.24.1
Linux kernel version: 6.13.3
Direct rendering: Requires strict binding: no
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
screenshot
outputlocator
colorpicker
zoom
screenedge
blur
contrast
sessionquit
logout
login
slidingpopups
windowaperture
slide
glide
squash
maximize
fullscreen
frozenapp
fadingpopups
dimscreen
wobblywindows
dialogparent
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
systembell
screentransform
kscreen
invert

Currently Active Effects:
-------------------------
blur
contrast

Effect Settings:
----------------
screenshot:

outputlocator:

colorpicker:

zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
focusTrackingEnabled: false
textCaretTrackingEnabled: false
focusDelay: 350
moveFactor: 20
targetZoom: 1

screenedge:

blur:

contrast:

sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false

logout:
pluginId: logout
isActiveFullScreenEffect: false

login:
pluginId: login
isActiveFullScreenEffect: false

slidingpopups:
slideInDuration: 200
slideOutDuration: 200

windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false

slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true

glide:
duration: 160
inRotationEdge: Top
inRotationAngle: 3
inDistance: 30
inOpacity: 0.4
outRotationEdge: Bottom
outRotationAngle: 3
outDistance: 30
outOpacity: 0

squash:
pluginId: squash
isActiveFullScreenEffect: false

maximize:
pluginId: maximize
isActiveFullScreenEffect: false

fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false

frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false

fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false

dimscreen:
pluginId: dimscreen
isActiveFullScreenEffect: false

wobblywindows:
stiffness: 0.1
drag: 0.85
moveFactor: 0.1
xTesselation: 20
yTesselation: 20
minVelocity: 0
maxVelocity: 1000
stopVelocity: 0.5
minAcceleration: 0
maxAcceleration: 1000
stopAcceleration: 0.5
moveWobble: true
resizeWobble: true

dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false

tileseditor:
activeView: 
delegate: 
animationDuration: 200

overview:
activeView: 
delegate: 
animationDuration: 300
ignoreMinimized: false
filterWindows: true
organizedGrid: true
overviewPartialActivationFactor: 0
overviewGestureInProgress: false
transitionPartialActivationFactor: 0
transitionGestureInProgress: false
gridPartialActivationFactor: 0
gridGestureInProgress: false
desktopOffset: 
searchText: 

highlightwindow:

blendchanges:

startupfeedback:
type: 0

systembell:

screentransform:

kscreen:

invert:


Loaded Plugins:
---------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast

Available Plugins:
------------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to