You are not logged in.
I'm using compiz on xfce4 and when I'm using a shortcut for Expo plugin (Shows All Viewports in one screen), Compiz get crashed
Whenever I use the shortcut for the Expo plugin it get crashed right away with the below error msg
https://i.ibb.co/gTK35Lv/2023-12-18-15-35.png
/usr/include/c++/13.2.1/bits/stl_vector.h:1125: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = float; _Alloc = std::allocator<float>; reference = float&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
Aborted (core dumped)
Last edited by saw_mj (2023-12-18 14:17:23)
Offline
Please replace the oversized image w/ a link (the board has a 250x250px max rule) and generally don't post pictures of text. Post the text!
And in this specific case, first see https://wiki.archlinux.org/title/Core_d … _core_dump
And check ccsm, general settings, desktop size - how many virtual desktops are configured there?
Offline
Mod note: moving to AUR Issues
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
Please replace the oversized image w/ a link (the board has a 250x250px max rule) and generally don't post pictures of text. Post the text!
And in this specific case, first see https://wiki.archlinux.org/title/Core_d … _core_dumpAnd check ccsm, general settings, desktop size - how many virtual desktops are configured there?
I have been using the same settings for years now and this is the first time I face issues with this plugin.
Strangely it works fine if I have no windows/apps opened but if I open any windows/apps it crashes and restarts the compiz and in somecases crashes the compiz
Offline
I have been using the same settings for years now and this is the first time I face issues with this plugin.
And what has changed?
Offline
I have been using the same settings for years now and this is the first time I face issues with this plugin.
And what has changed?
I did a big update recently.
Last edited by saw_mj (2023-12-19 20:27:23)
Offline
Aha. A "big" update. That clarifies all.
Post the coredump and the part of your pacman log that covers the "big" update and check the workspace configuration in CCSM.
Right now this thread is
- does nots works lols
- butbutbut it dids works fine before
- i changed things
this way, this thread will go nowhere.
Offline
Sorry to dig this old thread out but I am hit by exactly the same issue (same error output). I tried to get a backtrace using gdb, but there is the following problem:
Once Compiz crashes in Expo mode, I cannot quit the Expo mode and run "bt full" from the gdb shell. So I need to switch to a tty and kill the compiz process, to use my desktop again. But if I then run "bt full", I get:
Thread 6 (Thread 0x7fffdf4006c0 (LWP 1350135) "Compiz:gdrv0"):
Couldn't get registers: No suiting process found
Any ideas, how I could work around this? Thanks!
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
And check ccsm, general settings, desktop size - how many virtual desktops are configured there?
Other than that, don't kill compiz, attach gdb to it from the second TTY instead (don't forget to "continue" the process afterwards),
https://wiki.archlinux.org/title/Debugg … ng_process
You can log the gdb output by running
gdb --pid $(pidof compiz) 2>&1 | tee /tmp/compiz.gdb
and
cat /tmp/compiz.gdb | curl -F 'file=@-' 0x0.st
to upload it to 0x0.st
Offline
Sorry, missed the question! There are 4 viewports (4 horizontally x 1 vertically). The desktop cube works as expected. But I disabled moving windows to a different desktop by dragging it to an edge in desktop cube, because it conflicts with the Grid plugin, so the crash doesn't happen there.
I will try the attaching from TTY and report back!
Last edited by PhotonX (2024-04-07 08:36:26)
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
For some reason, there is no stack, as gdb reports:
GNU gdb (GDB) 14.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 1362981
warning: process 1362981 is already traced by process 1362959
ptrace: The operation is not premitted.
[?2004h(gdb) bt full
[?2004l
No stack.
[?2004h(gdb) exit
[?2004l
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
warning: process 1362981 is already traced by process 1362959
ptrace: The operation is not premitted.
1. you seem to be running this in another gdb instance already?
2. you need to deactivate the yama scope ("echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope" and the link I posted)
Offline
1. Well, the only one running is the one I am trying to attach to, as far as I can tell. At least, before starting the procedure, there were no running gdb instances.
2. Indeed, I missed that. But now I put the 0 into /proc/sys/kernel/yama/ptrace_scope (also checked that it is there) but nothing changed. Still exactly the same warning and error as before...
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
Yuo're not getting "ptrace: The operation is not premitted." if you've unrestricted the ptrace scope.
If you're getting
warning: process 1362981 is already traced by process 1362959
look at the second number and check what that is:
pgrep 1362959
ps aux | grep gdb
The way this works is that you start compiz normally (no gdb so far), then you head over to TTY2, unrestrict the ptrace scope and attach to the compiz pid.
In gdb run "continue"
Then you return to TTY1, crash compiz, return to TTY2 and in the running gdb session there check "bt".
There's no other way to reasonably live-debug a WM, but I would assume that compiz also leaves backtraces behind in https://wiki.archlinux.org/title/Core_d … _core_dump
Offline
I see, I thought, gdb attaches to another gdb instance rather than to a running compiz process... Sorry for the confusion! It works like you described it!
Here is the backtrace, but there are some things that are optimized out for some reason, although I built the compiz package with debug and no strip...
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
#0 0x00007190586ab32c in ??? () at /usr/lib/libc.so.6
#1 0x000071905865a6c8 in raise () at /usr/lib/libc.so.6
#2 0x00007190586424b8 in abort () at /usr/lib/libc.so.6
#3 0x00007190588dd3b2 in std::__glibcxx_assert_fail
(file=file@entry=0x7190571eaf40 "/usr/include/c++/13.2.1/bits/stl_vector.h", line=line@entry=1125, function=function@entry=0x7190571ec498 "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = float; _Alloc = std::allocator<float>; reference = float&; size_type = long unsigned int]", condition=condition@entry=0x7190571ea057 "__n < this->size()") at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/debug.cc:61
#4 0x00007190571d6f0c in std::vector<float, std::allocator<float> >::operator[] (__n=<optimized out>, this=<optimized out>) at /usr/include/c++/13.2.1/bits/stl_vector.h:1125
__PRETTY_FUNCTION__ = {<optimized out> <repeats 186 times>}
#5 GLVertexBuffer::getVertices (this=<optimized out>) at /usr/src/debug/compiz-easy-patch/compiz-0.9.14.2/plugins/opengl/src/vertexbuffer.cpp:167
#6 GLVertexBuffer::getVertices (this=this@entry=0x5f45f64cf8f0) at /usr/src/debug/compiz-easy-patch/compiz-0.9.14.2/plugins/opengl/src/vertexbuffer.cpp:165
#7 0x00007190457c95d0 in WobblyWindow::glAddGeometry (this=0x5f45f6550ff0, matrix=<optimized out>, region=..., clip=..., maxGridWidth=<optimized out>, maxGridHeight=<optimized out>)
at /usr/src/debug/compiz-easy-patch/compiz-0.9.14.2/plugins/wobbly/src/wobbly.cpp:1493
outRect = {mRegion = {size = 104754089621568, numRects = 1, rects = 0x7ffea3f67628, extents = {x1 = 1912, x2 = 2983, y1 = 282, y2 = 1089}}}
wx = 1912
wy = 282
width = 1071
height = <optimized out>
gridW = <optimized out>
gridH = 100
vb = 0x5f45f64cf8f0
oldCount = 0
newCount = 0
stride = 3
v = <optimized out>
vMax = <optimized out>
#8 0x00007190571c59c5 in GLWindow::glAddGeometry (this=0x5f45f64cf740, matrix=std::vector of length 1, capacity 1 = {...}, region=..., clip=..., maxGridWidth=32767, maxGridHeight=32767)
at /usr/src/debug/compiz-easy-patch/compiz-0.9.14.2/plugins/opengl/src/paint.cpp:962
curr = 3
full = {x1 = <optimized out>, x2 = <optimized out>, y1 = <optimized out>, y2 = <optimized out>}
nMatrix = <optimized out>
#9 0x00007190571c59c5 in GLWindow::glAddGeometry (this=0x5f45f64cf740, matrix=std::vector of length 1, capacity 1 = {...}, region=..., clip=..., maxGridWidth=32767, maxGridHeight=32767)
at /usr/src/debug/compiz-easy-patch/compiz-0.9.14.2/plugins/opengl/src/paint.cpp:962
curr = 0
full = {x1 = <optimized out>, x2 = <optimized out>, y1 = <optimized out>, y2 = <optimized out>}
nMatrix = <optimized out>
#10 0x00007190540e8814 in DecorWindow::glDecorate (this=this@entry=0x5f45f6636740, transform=..., attrib=..., region=..., mask=720901, mask@entry=196613) at /usr/src/debug/compiz-easy-patch/compiz-0.9.14.2/plugins/decor/src/decor.cpp:289
boxRegion = {<CompRegion> = {priv = 0x7ffea3f67820}, <No data fields>}
i = 0
box = {mRegion = {size = 104754107203072, numRects = 1, rects = 0x7ffea3f67838, extents = {x1 = 1912, x2 = 2871, y1 = 282, y2 = 324}}}
ml = std::vector of length 1, capacity 1 = {{xx = 0.000933706819, yx = 0, xy = 0, yy = 0.0161290318, x0 = -1.78524745, y0 = -4.54838705}}
preg = 0x5f45f64cf830
reg = @0x5f45f64cf830: {priv = 0x5f45f623ae20}
#11 0x00007190540ea64d in DecorWindow::glDraw (this=0x5f45f6636740, transform=..., attrib=..., region=..., mask=196613) at /usr/src/debug/compiz-easy-patch/compiz-0.9.14.2/plugins/decor/src/decor.cpp:199
status = true
_foreach_col203 = <optimized out>
_foreach_cur203 = <optimized out>
_foreach_end203 = <optimized out>
_foreach_continue203 = <optimized out>
w = <optimized out>
isDock = <optimized out>
drawShadow = <optimized out>
d = <optimized out>
pmask = <optimized out>
pAttrib = <optimized out>
#12 0x00007190571c78eb in GLWindow::glDraw (this=0x5f45f64cf740, transform=..., attrib=..., region=..., mask=196613) at /usr/include/c++/13.2.1/bits/stl_vector.h:1125
rv = <optimized out>
curr = 0
reg = <optimized out>
ml = std::vector of length 0, capacity -1499064984942
It aborts in the wobbly windows effect, allocating some vector.
https://git.launchpad.net/compiz/tree/p … r.cpp#n167 looks like it dereferences an invalid object from https://git.launchpad.net/compiz/tree/p … .cpp#n1493 but then things get murky.
Does the exposé effect work if you disable the wobblyness?
Edit: does exposé behave different from the cube wrt what windows are displayed (eg. minimized ones)?
Last edited by seth (2024-04-07 15:15:15)
Offline
Does the exposé effect work if you disable the wobblyness?
Yes, exactly, when deactivating the wobbly windows plugin, expo works without crashes!
Edit: does exposé behave different from the cube wrt what windows are displayed (eg. minimized ones)?
I'm not quite sure what you mean by this. But in my case, no windows are minimized at all and still the crash happens.
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
I mean weather he exposé effect is configured to show window that the desktop cube is not or vv. (my guess is that the WW effect tries to operate on a withdrawn window)
Offline
As far as I can tell, expo cannot be configured in this aspect. There are three tabs: Keybindings, Behavior and Appearance. Here's for example the Behavior tab: https://imgur.com/0njvphW The other two don't offer such a setting as well. Same story for the cube, there is no filter to choose which windows are to be shown.
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
Even if you can't configure it, they might behave differently by default?
(It's the only explanation I can come up with why wobbly windows would operate on a bogus window in one case but not the other)
Ultimately you'd have to report this upstream (I was playing around w/ compiz half a year ago or so, stopped because it leaks dec…)
Hold on: is this also a problem if you disable/kill the decorator (emerald, I guess?)?
… but I've never used wobbly windows (cool effect when it was new, but became annoying)
Another thing is why anything gets wobbled itfp, it's probably not for moving a window, but as focus indicator?
Maybe the window focus changes w/ one but not the other effect
Offline
Even if you can't configure it, they might behave differently by default?
(It's the only explanation I can come up with why wobbly windows would operate on a bogus window in one case but not the other)
Well, in cube, you can't move a window from one desktop to another anyway, so we cannot really compare them, can we?
… but I've never used wobbly windows (cool effect when it was new, but became annoying)
Somehow I got used to it and it really disturbs me if I'm on someone else's machine and windows are so solid.
Another thing is why anything gets wobbled itfp, it's probably not for moving a window, but as focus indicator?
Actually, a click only focusses a desktop, not a window, and doesn't lead to a crash. The crash happens, when you actually start dragging a window. But yeah, if it'd move (instead of crashing), it would actually wobble.
Last edited by PhotonX (2024-04-07 17:38:40)
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
Ah, so it's only triggered by moving windows around, not the effect itself (as also hinted in #10)
Whenever I use the shortcut for the Expo plugin it get crashed right away with the below error msg
Did you try to disable/kill the window decoration process?
Is this a regression, did wobbling though the exposé interface previously work?
Offline
Did you try to disable/kill the window decoration process?
Woah!! This makes the issue disappear and I can move around all my wobbly windows in expo!
Is this a regression, did wobbling though the exposé interface previously work?
I think so, but I am not 100% sure. It either worked earlier or it worked on another machine. But it worked somehow at some point. I will try to do some testing on my other machine and report back!
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline
It's probably not a problem directly after re-starting emerald (before closing the 1st decorated window)?
Offline
You mean, after a fresh boot/login, before any window is open, with just the very first open window?
Haven't tested yet, I need to take care of my many open windows in order to test this.
But one more finding: I wasn't actually using Emerald but gtk-window-decorator. So, just for fun, I installed emerald and switched to it, but the issue persisted. So it is not related to a specific window decorator, but to the presence of any window decorator.
edit: Okay, I read your previous post more carefully. Sorry. It is actually indeed a problem even after freshly restarting the window decorator or even the whole compiz, already before closing any window.
Last edited by PhotonX (2024-04-07 21:49:03)
Desktop: http://www.sysprofile.de/id15562, Arch Linux | Notebook: Thinkpad L13 Yoga Gen2, Manjaro
The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work. - Tuomas Lukka
Offline