You are not logged in.

#1 2023-12-18 13:38:53

saw_mj
Member
Registered: 2017-06-12
Posts: 49

Compiz crash

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

#2 2023-12-18 13:48:29

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

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

#3 2023-12-18 14:28:20

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 11,892
Website

Re: Compiz crash

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

#4 2023-12-19 20:14:35

saw_mj
Member
Registered: 2017-06-12
Posts: 49

Re: Compiz crash

seth wrote:

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?

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

#5 2023-12-19 20:24:23

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

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

#6 2023-12-19 20:26:52

saw_mj
Member
Registered: 2017-06-12
Posts: 49

Re: Compiz crash

seth wrote:

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

#7 2023-12-19 20:31:00

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

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

#8 2024-04-07 08:02:26

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

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

#9 2024-04-07 08:12:23

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

seth wrote:

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

#10 2024-04-07 08:34:38

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

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

#11 2024-04-07 10:24:07

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

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

#12 2024-04-07 14:00:50

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

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

#13 2024-04-07 14:14:39

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

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

#14 2024-04-07 14:21:42

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

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

#15 2024-04-07 14:52:19

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

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...

https://pastebin.com/34jj0fqy


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

#16 2024-04-07 15:13:47

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

#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

#17 2024-04-07 15:25:45

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

seth" wrote:

Does the exposé effect work if you disable the wobblyness?

Yes, exactly, when deactivating the wobbly windows plugin, expo works without crashes!

seth" wrote:

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

#18 2024-04-07 15:39:14

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

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

#19 2024-04-07 16:09:01

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

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

#20 2024-04-07 16:19:41

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

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 hmm

Offline

#21 2024-04-07 17:38:20

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

seth wrote:

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?

seth wrote:

… 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. big_smile

seth wrote:

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. smile

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

#22 2024-04-07 20:54:31

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

Ah, so it's only triggered by moving windows around, not the effect itself (as also hinted in  #10)

The OP wrote:

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

#23 2024-04-07 21:21:12

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

seth wrote:

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!

seth wrote:

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

#24 2024-04-07 21:38:55

seth
Member
Registered: 2012-09-03
Posts: 51,553

Re: Compiz crash

It's probably not a problem directly after re-starting emerald (before closing the 1st decorated window)?

Offline

#25 2024-04-07 21:45:57

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

Re: Compiz crash

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. smile

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

Board footer

Powered by FluxBB