Closed piotr-dobrogost closed 10 years ago
I'll have a look at it tomorrow. In the meantime, please don't report this to kwin upstream, I have an idea what it might be caused by and it would be my fault, not theirs.
So, this is probably caused by one of three things:
Can you please try the latter?
Do I have to restart anything after installing new version of the script?
Yes - kwin --replace
should suffice.
After installing 9b8b91a things got better. I did have a few crashes but they are much more seldom. Also windows are more responsive now. If you want I can send traceback next time KWin crashes again.
Tracebacks would be nice, but I'll close this issue once I merge the 15 branch as I think the new crashes are unrelated - can you test the new HEAD of that?
I can test whatever you need to be tested. However I'm not sure which head you you refer to.
Oops forgot to push - I'm referring to 0dd06bb67da0aa3194186d86798bbd49cad346ec (now in master as I merged already). This one has an attempted fix for what the removed hack tried: Prevent clients (like vlc) from becoming corrupted when their min/maxSize is violated.
And what steps are needed to verify the fix?
See that it's no worse than 9b8b91a. If you want to do something extra, see that it does what it's supposed to do:
See that Firefox doesn't size weirdly (i.e. not filling the entire screen) when launched
See that vlc, when playing a video, then switching to no-interface (CTRL+H), resizing it to something small and switching the interface back on (CTRL+H) doesn't "hang" (i.e. not change the display) unless resized back to an "acceptable" size.
Start situation: Firefox maximized and occupies whole screen.
[piotr@demon ~]$ kwin --version
Qt: 4.8.5
KDE Development Platform: 4.12.2
KWin: 4.11.6
[piotr@demon ~]$ vlc --version
VLC media player 2.1.3 Rincewind (revision 2.1.3-0-ge6a71cc)
VLC version 2.1.3 Rincewind (2.1.3-0-ge6a71cc)
(…)
vlc resizes itself to fit the video format
Well, I think this is an option that's kinda against tiling, so I'd be okay with breaking it if the only option is breaking numerous other cases.
the moment left mouse button is released vlc window resizes back to half of the screen.
Oh, you'll need to resize another window as KWin won't allow resizing below minSize - I'm not sure what to do about that, though.
In summary: This fixes your crashes and retains the same behaviour as the previous hack, so I'm calling it fixed for now (in git, I may do a release sometime soon).
Oh, you'll need to resize another window as KWin won't allow resizing below minSize - I'm not sure what to do about that, though.
How do you know I resized below minSize? Is minSize global or per window? If the latter do you know minSize value for vlc?
In summary: This fixes your crashes and retains the same behaviour as the previous hack, so I'm calling it fixed for now (in git, I may do a release sometime soon).
Thank you for fixing this.
Is minSize global or per window?
Per-window. It's something the client can request.
If the latter do you know minSize value for vlc?
xprop
, click open vlc window, see something like
program specified minimum size: 613 by 81
though it could also change and depend on e.g. the video being played.
Thank you for fixing this.
Unfortunately, I just found out that it doesn't quite fix the corruption (see small dolphin windows), though corrupt windows are better than crashes.
So, it seems like there is more to this than I initially thought.
Can you give me the following things:
~/$(kde4-config --localprefix)/share/config/kwinrc
and any other information you might think useful.
Please try 1aded34cb6376eb01aaff2427b27. My new suspicion is that violating min/maxSize is breaks kwin, so this commit changes it so we don't do that anymore.
Can you confirm that v1.5 (i.e. 1aded34) doesn't have this anymore?
I remember about this issue and will test it later today. Sorry for delay.
Well from the quick look it seems like things do not look ok and I managed to get a crash too. I see pretty wired behavior in some circumstances and need more time to describe them here. Btw, I think it would help if we could start gathering some test scenarios so that we know what we really test. This would allow for testing regressions, too. It would be best to find some tool to automate these tests…
Well from the quick look it seems like things do not look ok and I managed to get a crash too.
Ah crap. I've run this version for two weeks without problems, including occasional torturing.
Is it the same crash (i.e. in KWin::Client::layoutDecorationRects)? What's your window decoration?
This would allow for testing regressions, too. It would be best to find some tool to automate these tests…
I've thought about it, but I'm not quite sure how it's supposed to work. Just launching clients wouldn't be enough, we'd need a tool to essentially "robotize" X11, something like autokey might suffice.
Is it the same crash (i.e. in KWin::Client::layoutDecorationRects)? What's your window decoration?
Yes, it's the same. I have default window decoration – Oxygen.
Answering your earlier question about contents of kwinrc:
$ cat $(kde4-config --localprefix)share/config/kwinrc
[$Version]
update_info=kwin_remove_effects.upd:kwin4.7_effects
[Compositing]
AnimationSpeed=2
Backend=OpenGL
Enabled=true
GLColorCorrection=false
GLCore=true
GLLegacy=false
GLPreferBufferSwap=a
GLTextureFilter=2
GraphicsSystem=native
HiddenPreviews=5
OpenGLIsUnsafe=false
UnredirectFullscreen=false
XRenderSmoothScale=false
[Desktops]
Number=2
Rows=1
[Effect-BoxSwitch]
TabBox=false
TabBoxAlternative=false
[Effect-CoverSwitch]
TabBox=false
TabBoxAlternative=false
[Effect-Cube]
BorderActivate=9
BorderActivateCylinder=9
BorderActivateSphere=9
[Effect-DesktopGrid]
BorderActivate=1,3
[Effect-FlipSwitch]
TabBox=false
TabBoxAlternative=false
[Effect-PresentWindows]
BorderActivate=9
BorderActivateAll=7
BorderActivateClass=9
[Effect-Zoom]
InitialZoom=1
[ElectricBorders]
Bottom=None
BottomLeft=ShowDesktop
BottomRight=None
Left=None
Right=None
Top=None
TopLeft=None
TopRight=None
[MouseBindings]
CommandActiveTitlebar1=Raise
CommandActiveTitlebar2=Start window tab drag
CommandActiveTitlebar3=Operations menu
CommandAll1=Move
CommandAll2=Toggle raise and lower
CommandAll3=Resize
CommandAllKey=Alt
CommandAllWheel=Nothing
CommandInactiveTitlebar1=Activate and raise
CommandInactiveTitlebar2=Start window tab drag
CommandInactiveTitlebar3=Operations menu
CommandTitlebarWheel=Switch to Window Tab to the Left/Right
CommandWindow1=Activate, raise and pass click
CommandWindow2=Activate and pass click
CommandWindow3=Activate and pass click
CommandWindowWheel=Scroll
[Plugins]
desktopchangeosdEnabled=true
kwin-script-tilingEnabled=true
kwin4_effect_blurEnabled=true
kwin4_effect_coverswitchEnabled=true
kwin4_effect_cubeEnabled=false
kwin4_effect_cubeslideEnabled=false
kwin4_effect_dashboardEnabled=true
kwin4_effect_desktopgridEnabled=true
kwin4_effect_dialogparentEnabled=true
kwin4_effect_diminactiveEnabled=false
kwin4_effect_dimscreenEnabled=false
kwin4_effect_fadeEnabled=true
kwin4_effect_fadedesktopEnabled=false
kwin4_effect_fallapartEnabled=false
kwin4_effect_flipswitchEnabled=true
kwin4_effect_glideEnabled=false
kwin4_effect_highlightwindowEnabled=true
kwin4_effect_invertEnabled=false
kwin4_effect_kscreenEnabled=true
kwin4_effect_loginEnabled=true
kwin4_effect_logoutEnabled=true
kwin4_effect_lookingglassEnabled=false
kwin4_effect_magiclampEnabled=false
kwin4_effect_magnifierEnabled=false
kwin4_effect_maximizeEnabled=true
kwin4_effect_minimizeanimationEnabled=true
kwin4_effect_mouseclickEnabled=false
kwin4_effect_mousemarkEnabled=false
kwin4_effect_presentwindowsEnabled=true
kwin4_effect_resizeEnabled=false
kwin4_effect_scaleinEnabled=false
kwin4_effect_screenedgeEnabled=true
kwin4_effect_screenshotEnabled=true
kwin4_effect_sheetEnabled=false
kwin4_effect_showfpsEnabled=false
kwin4_effect_showpaintEnabled=false
kwin4_effect_slideEnabled=false
kwin4_effect_slidebackEnabled=false
kwin4_effect_slidingpopupsEnabled=true
kwin4_effect_snaphelperEnabled=false
kwin4_effect_startupfeedbackEnabled=true
kwin4_effect_taskbarthumbnailEnabled=true
kwin4_effect_thumbnailasideEnabled=false
kwin4_effect_trackmouseEnabled=false
kwin4_effect_translucencyEnabled=true
kwin4_effect_windowgeometryEnabled=false
kwin4_effect_wobblywindowsEnabled=false
kwin4_effect_zoomEnabled=true
synchronizeskipswitcherEnabled=false
videowallEnabled=false
[Script-desktopchangeosd]
PopupHideDelay=1000
TextOnly=true
[SubSession: c86ab620-8fbc-45dd-a7eb-720a33493976]
active=-1
activities1=c86ab620-8fbc-45dd-a7eb-720a33493976
activities2=c86ab620-8fbc-45dd-a7eb-720a33493976
count=2
desktop1=1
desktop2=1
fsrestore1=0,0,0,0
fsrestore2=0,0,0,0
fullscreen1=0
fullscreen2=0
geometry1=2520,0,836,988
geometry2=1680,0,840,995
iconified1=true
iconified2=true
keepBelow1=true
keepBelow2=true
maximize1=1
maximize2=3
opacity1=1
opacity2=1
resourceClass1=krusader
resourceClass2=konsole
resourceName1=krusader
resourceName2=konsole
restore1=1680,0,1680,1015
restore2=1680,0,844,1022
sessionId1=10d2656d6f000139301054200000014460025
sessionId2=10d2656d6f000139301055400000014460026
shaded1=false
shaded2=false
shortcut1=
shortcut2=
skipPager1=false
skipPager2=false
skipSwitcher1=false
skipSwitcher2=false
skipTaskbar1=false
skipTaskbar2=false
stackingOrder1=3
stackingOrder2=2
staysOnTop1=false
staysOnTop2=false
sticky1=false
sticky2=false
tabGroup1=0
tabGroup2=0
userNoBorder1=false
userNoBorder2=false
windowRole1=mainwindow#1
windowRole2=mainwindow#1
windowType1=Normal
windowType2=Normal
wmCommand1=/usr/bin/krusader
wmCommand2=/usr/bin/konsole
[TabBox]
ActivitiesMode=1
ApplicationsMode=0
BorderActivate=9
BorderAlternativeActivate=9
DesktopMode=1
HighlightWindows=true
LayoutName=present_windows
ListMode=0
MinimizedMode=0
MultiScreenMode=0
ShowDesktopMode=0
ShowTabBox=false
SwitchingMode=0
[TabBoxAlternative]
ActivitiesMode=1
ApplicationsMode=0
DesktopMode=1
HighlightWindows=true
LayoutName=thumbnails
MinimizedMode=0
MultiScreenMode=0
ShowDesktopMode=0
ShowTabBox=true
SwitchingMode=0
[Windows]
ActiveMouseScreen=false
AutoRaise=false
AutogroupInForeground=true
AutogroupSimilarWindows=false
CenterSnapZone=0
ClickRaise=true
DelayFocusInterval=300
ElectricBorderCooldown=350
ElectricBorderCornerRatio=0.25
ElectricBorderDelay=150
ElectricBorderMaximize=true
ElectricBorderTiling=true
ElectricBorders=1
FocusStealingPreventionLevel=1
GeometryTip=false
HideUtilityWindowsForInactive=true
InactiveTabsSkipTaskbar=false
MaximizeButtonLeftClickCommand=Maximize
MaximizeButtonMiddleClickCommand=Maximize (vertical only)
MaximizeButtonRightClickCommand=Maximize (horizontal only)
NextFocusPrefersMouse=false
Placement=Smart
RollOverDesktops=true
SeparateScreenFocus=false
ShadeHover=false
ShadeHoverInterval=250
SnapOnlyWhenOverlapping=false
TitlebarDoubleClickCommand=Maximize
As to videodriver I do not know how to check this.
Okay, it works for me with your kwinrc (and I also use Oxygen).
Did you specify any kwin rules (i.e. is there anything in kwinrulesrc?)
As to videodriver I do not know how to check this.
lspci -vnn
, look for "VGA compatible controller" and the line "Kernel driver in use".
For the record, this is my kwinrc:
[Compositing]
AnimationSpeed=2
Backend=OpenGL
Enabled=true
GLColorCorrection=false
GLCore=false
GLLegacy=false
GLPreferBufferSwap=a
GLTextureFilter=0
GLVSync=true
GraphicsSystem=native
HiddenPreviews=5
OpenGLIsUnsafe=false
UnredirectFullscreen=false
XRenderSmoothScale=false
[Desktops]
Name_1=alfa
Name_2=bravo
Name_3=charlie
Name_4=delta
Name_5=echo
Name_6=foxtrot
Name_7=golf
Name_8=hotel
Number=8
Rows=4
[Effect-CoverSwitch]
TabBox=false
TabBoxAlternative=false
[Effect-Cube]
BorderActivate=9
BorderActivateCylinder=9
BorderActivateSphere=9
[Effect-DesktopGrid]
BorderActivate=7
[Effect-DimInactive]
Strength=20
[Effect-FlipSwitch]
TabBox=false
TabBoxAlternative=false
[Effect-PresentWindows]
BorderActivate=9
BorderActivateAll=9
BorderActivateClass=9
[Effect-Zoom]
InitialZoom=1
[Effect-kwin4_effect_translucency]
MoveResize=88
[ElectricBorders]
Bottom=None
BottomLeft=None
BottomRight=None
Left=None
Right=None
Top=None
TopLeft=None
TopRight=None
[MouseBindings]
CommandActiveTitlebar1=Raise
CommandActiveTitlebar2=Start window tab drag
CommandActiveTitlebar3=Operations menu
CommandAll1=Move
CommandAll2=Toggle raise and lower
CommandAll3=Resize
CommandAllKey=Alt
CommandAllWheel=Nothing
CommandInactiveTitlebar1=Activate and raise
CommandInactiveTitlebar2=Start window tab drag
CommandInactiveTitlebar3=Operations menu
CommandTitlebarWheel=Switch to Window Tab to the Left/Right
CommandWindow1=Activate, raise and pass click
CommandWindow2=Activate and pass click
CommandWindow3=Activate and pass click
CommandWindowWheel=Scroll
[Plugins]
ShimmerEnabled=true
clientArea-testEnabled=false
demandsattentioncurrentdesktopEnabled=true
desktopchangeosdEnabled=false
gamemodeEnabled=false
kwin-script-tilingEnabled=true
kwin4_effect_blurEnabled=false
kwin4_effect_boxswitchEnabled=false
kwin4_effect_coverswitchEnabled=true
kwin4_effect_cubeEnabled=false
kwin4_effect_cubeslideEnabled=false
kwin4_effect_dashboardEnabled=false
kwin4_effect_desktopgridEnabled=true
kwin4_effect_dialogparentEnabled=true
kwin4_effect_diminactiveEnabled=false
kwin4_effect_dimscreenEnabled=false
kwin4_effect_explosionEnabled=false
kwin4_effect_fadeEnabled=false
kwin4_effect_fadedesktopEnabled=false
kwin4_effect_fallapartEnabled=false
kwin4_effect_flipswitchEnabled=false
kwin4_effect_glideEnabled=false
kwin4_effect_highlightwindowEnabled=true
kwin4_effect_invertEnabled=false
kwin4_effect_kscreenEnabled=true
kwin4_effect_loginEnabled=false
kwin4_effect_logoutEnabled=false
kwin4_effect_lookingglassEnabled=false
kwin4_effect_magiclampEnabled=false
kwin4_effect_magnifierEnabled=false
kwin4_effect_maximizeEnabled=false
kwin4_effect_minimizeanimationEnabled=false
kwin4_effect_mouseclickEnabled=false
kwin4_effect_mousemarkEnabled=false
kwin4_effect_outlineEnabled=true
kwin4_effect_presentwindowsEnabled=true
kwin4_effect_resizeEnabled=false
kwin4_effect_scaleinEnabled=false
kwin4_effect_screenedgeEnabled=true
kwin4_effect_screenshotEnabled=false
kwin4_effect_sheetEnabled=false
kwin4_effect_showfpsEnabled=false
kwin4_effect_showpaintEnabled=false
kwin4_effect_slideEnabled=false
kwin4_effect_slidebackEnabled=false
kwin4_effect_slidingpopupsEnabled=true
kwin4_effect_snaphelperEnabled=false
kwin4_effect_startupfeedbackEnabled=false
kwin4_effect_taskbarthumbnailEnabled=true
kwin4_effect_thumbnailasideEnabled=false
kwin4_effect_trackmouseEnabled=false
kwin4_effect_translucencyEnabled=true
kwin4_effect_windowgeometryEnabled=false
kwin4_effect_wobblywindowsEnabled=false
kwin4_effect_zoomEnabled=true
lowerActiveWindowEnabled=false
ministackEnabled=true
steadyScreenEnabled=false
synchronizeskipswitcherEnabled=false
tilingEnabled=false
videowallEnabled=false
workflowEnabled=false
[Script-Shimmer]
shimmerApp=konsole
[Script-desktopchangeosd]
PopupHideDelay=1000
TextOnly=false
[Script-kwin-script-tiling]
defaultLayouts=1:SpiralLayout,2:HalfLayout,-8:
floaters=Plasma-desktop,klipper,WormsReloaded.bin.x86,yakuake,krunner,Plasma,plasma-desktop,plugin-container,Wine
layouts=3:BladeLayout,1:HalfLayout,-8:
[Style]
BorderSize=1
ButtonsOnLeft=NM
ButtonsOnRight=IA_X
CustomButtonPositions=true
PluginLib=kwin3_oxygen
ShowToolTips=true
[TabBox]
ActivitiesMode=1
ApplicationsMode=0
BorderActivate=9
BorderAlternativeActivate=9
DesktopMode=0
HighlightWindows=false
LayoutMode=0
LayoutName=presentwindowsclone
MinHeight=20
MinWidth=20
MinimizedMode=0
MultiScreenMode=0
SelectedLayoutName=Text
ShowDesktopMode=0
ShowOutline=false
ShowTabBox=true
SwitchingMode=1
[TabBoxAlternative]
ActivitiesMode=1
ApplicationsMode=0
DesktopMode=1
HighlightWindows=true
LayoutMode=0
LayoutName=thumbnails
MinHeight=20
MinWidth=20
MinimizedMode=0
MultiScreenMode=0
SelectedLayoutName=Text
ShowDesktopMode=0
ShowOutline=true
ShowTabBox=true
SwitchingMode=0
[Windows]
ActiveMouseScreen=true
AutoRaise=false
AutoRaiseInterval=50
AutogroupInForeground=false
AutogroupSimilarWindows=false
BorderSnapZone=0
CenterSnapZone=0
ClickRaise=false
DelayFocusInterval=0
ElectricBorderCooldown=350
ElectricBorderCornerRatio=0.25
ElectricBorderDelay=200
ElectricBorderMaximize=false
ElectricBorderTiling=false
ElectricBorders=1
FocusPolicy=FocusFollowsMouse
FocusStealingPreventionLevel=0
GeometryTip=false
HideUtilityWindowsForInactive=false
InactiveTabsSkipTaskbar=false
MaximizeButtonLeftClickCommand=Maximize
MaximizeButtonMiddleClickCommand=Maximize (vertical only)
MaximizeButtonRightClickCommand=Maximize (horizontal only)
MoveResizeMaximizedWindows=false
NextFocusPrefersMouse=true
Placement=Smart
RollOverDesktops=true
SeparateScreenFocus=false
ShadeHover=false
ShadeHoverInterval=250
SnapOnlyWhenOverlapping=false
TilingDefaultLayout=0
TilingOn=false
TilingRaisePolicy=0
TitlebarDoubleClickCommand=Maximize
WindowSnapZone=0
Bump?
How's current git master (i.e. f60457f4e28d92629d9fd50f8bbb619a8c0e22f9)?
Sometimes when I click on maximize/minimize button in tiling mode kwin freezes. Where can i find traceback on another tty. Kwin dont show any error messages after restarting lightdm. Accordingly to this i didn't find any usable messages in /var/log/* or ~/.xsession-errors.
So, first of all, that's a different bug (freezing vs crashing). Please file a new issue.
Secondly, you should enable all debug output in kdebugdialog
and then check .xsession-errors again. I'd also like to know your kwin version (kwin --version
) and distribution, graphics hardware etc. (Unfortunately freezes are the kind of thing where it's likely that you won't get any output)
Since I haven't seen any more indication that crashes are happening and haven't been able to reproduce it myself, I'll close this bug. (Of course, if you get crashes, feel free to reopen this one or file a new one).
After I turned kwin-tiling on Kwin keeps crashing often. Although I installed all available debug symbols ([Install Debug Symbols] button in Crash Reporting Assistant) I can't report issue as I get This crash information is not useful enougth (…) error. I'm attaching traceback I have at the end of this post.
In addition, after turning kwin-tiling on, KDE/Plasma/KWin becomes unresponsive for quite long periods (from a few to several seconds) and generally desktop becomes unusable due to windows not refreshing and/or not changing size properly.
kwin-tiling 1.4 KDE 4.12.2 Fedora 20
I have one desktop and two monitors.
Traceback which is shown in CRA looks like this: