Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i3lock screen locker crashing compton --experimental-backends commit 76e574d #190

Closed
Ropid opened this issue Jun 10, 2019 · 3 comments
Closed
Milestone

Comments

@Ropid
Copy link

Ropid commented Jun 10, 2019

When "i3lock" is locking the screen, compton crashes when using --experimental-backends. I can reproduce this here reliably by manually starting i3lock like this:

i3lock

or like this:

i3lock --nofork --color=000000 --pointer=default

The crash happens with both:

compton --experimental-backends --backend glx

and also:

compton --experimental-backends --backend xrender

Compton doesn't crash when using the normal backends, for example the following work fine:

compton --backend glx
compton --backend xrender

Platform

ArchLinux

GPU, drivers, and screen setup

  • RX 480
  • single monitor
  • Mesa 19.1.0-rc5
  • xf86-video-amdgpu 19.0.1
  • Xorg 1.20.5

Environment

XFCE, xfwm4 v4.12.5

Compton version

$ compton --diagnostics
**Version:** v6-rc1-166-g76e574d

### Extensions:

* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

* Use Overlay: Yes
* Config file used: /home/deep/.config/compton.conf

### Drivers (inaccurate):

AMDGPU, Radeon  

Compton configuration:

backend = "glx";
# backend = "xrender";
vsync = true;

use-damage = true;

# glx-no-stencil = true;
# glx-no-rebind-pixmap = true;
# glx-swap-method = -1;

shadow = true;

shadow-radius = 16;
shadow-offset-x = -16;
shadow-offset-y = -12;
shadow-opacity = 0.35;

detect-rounded-corners = true;

shadow-exclude = [
    "class_g = 'Xfwm4'",
    "(class_g = 'Firefox' || class_g = 'Nightly') && window_type = 'utility'",
    "_GTK_FRAME_EXTENTS@:c",
    "name = 'XOSD'",
    # "bounding_shaped && !rounded_corners",
    # "window_type = 'normal' && !I3_FLOATING_WINDOW@:c",
];

inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;

blur-background = false;
# blur-background-frame = true;
# blur-background-fixed = true;
# blur-kern = "7x7box";
# blur-background-exclude = [
#     "window_type = 'dock'",
#     "window_type = 'desktop'",
#     "_GTK_FRAME_EXTENTS@:c"
# ];

fading = false;
# fade-delta = 4;
fade-in-step = 0.2;
fade-out-step = 0.2;
# no-fading-openclose = true;

fade-exclude = [ ];

mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = true;

detect-client-opacity = true;

unredir-if-possible = true;

unredir-if-possible-exclude = [
    "_NET_WM_BYPASS_COMPOSITOR@:c = 2",
    "class_g = 'MComix'",
    "class_g = 'vlc'",
    # "class_g = 'Firefox'",
    # "class_g = 'Nightly'",
];

focus-exclude = [ ];

detect-transient = true;
detect-client-leader = true;

wintypes:
{
    tooltip = { full-shadow = true; fade = true; shadow = false; opacity = 0.8; focus = true; };
    dock    = { shadow = false; };
    dnd     = { shadow = false; };
};

Stack trace

Core was generated by `build/src/compton --experimental-backends'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055c6dc8a70b8 in gl_destroy_blur_context (base=0x55c6dd216880, ctx=0x0)
    at ../src/backend/gl/gl_common.c:703
703		for (int i = 0; i < bctx->npasses; ++i) {
[Current thread is 1 (Thread 0x7f15c57cc940 (LWP 9674))]
(gdb) bt
#0  0x000055c6dc8a70b8 in gl_destroy_blur_context (base=0x55c6dd216880, ctx=0x0)
    at ../src/backend/gl/gl_common.c:703
#1  0x000055c6dc871fa8 in destroy_backend (ps=0x55c6dd1e68b0) at ../src/compton.c:669
#2  0x000055c6dc8737ac in redir_stop (ps=0x55c6dd1e68b0) at ../src/compton.c:1149
#3  0x000055c6dc871c38 in paint_preprocess (ps=0x55c6dd1e68b0, fade_running=0x7ffecfc9d696)
    at ../src/compton.c:604
#4  0x000055c6dc874014 in _draw_callback (loop=0x7f15c6cfc720, ps=0x55c6dd1e68b0, revents=8192)
    at ../src/compton.c:1306
#5  0x000055c6dc874249 in draw_callback (loop=0x7f15c6cfc720, w=0x55c6dd1e6970, revents=8192)
    at ../src/compton.c:1352
#6  0x00007f15c6cf0993 in ev_invoke_pending () from /usr/lib/libev.so.4
#7  0x00007f15c6cf42dd in ev_run () from /usr/lib/libev.so.4
#8  0x000055c6dc876f88 in session_run (ps=0x55c6dd1e68b0) at ../src/compton.c:2134
#9  0x000055c6dc877237 in main (argc=2, argv=0x7ffecfc9d8f8) at ../src/compton.c:2216
(gdb) 

Here is a second stack trace produced with the experimental xrender backend instead of the glx one:

Core was generated by `build/src/compton --experimental-backends --backend xrender'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055974d7c68ff in destroy_blur_context (base=0x55974f4a88e0, ctx_=0x0)
    at ../src/backend/xrender/xrender.c:512
512		for (int i = 0; i < ctx->x_blur_kernel_count; i++) {
(gdb) bt
#0  0x000055974d7c68ff in destroy_blur_context (base=0x55974f4a88e0, ctx_=0x0)
    at ../src/backend/xrender/xrender.c:512
#1  0x000055974d795fa8 in destroy_backend (ps=0x55974f4818b0) at ../src/compton.c:669
#2  0x000055974d7977ac in redir_stop (ps=0x55974f4818b0) at ../src/compton.c:1149
#3  0x000055974d795c38 in paint_preprocess (ps=0x55974f4818b0, fade_running=0x7ffc354296e6)
    at ../src/compton.c:604
#4  0x000055974d798014 in _draw_callback (loop=0x7efe0259d720, ps=0x55974f4818b0, revents=8192)
    at ../src/compton.c:1306
#5  0x000055974d798249 in draw_callback (loop=0x7efe0259d720, w=0x55974f481970, revents=8192)
    at ../src/compton.c:1352
#6  0x00007efe02591993 in ev_invoke_pending () from /usr/lib/libev.so.4
#7  0x00007efe025952dd in ev_run () from /usr/lib/libev.so.4
#8  0x000055974d79af88 in session_run (ps=0x55974f4818b0) at ../src/compton.c:2134
#9  0x000055974d79b237 in main (argc=4, argv=0x7ffc35429948) at ../src/compton.c:2216
(gdb) 
@Ropid
Copy link
Author

Ropid commented Jun 10, 2019

I got the idea to test --blur-background when I saw this line of code here printed by gdb:

for (int i = 0; i < ctx->x_blur_kernel_count; i++) {

When I set blur-background = true in my config, then compton --experimental-backends does not crash anymore. The crash only happens when I use blur-background = false in my config.

@yshui yshui added this to the v7 milestone Jun 12, 2019
@yshui yshui closed this as completed in 863e2c8 Jun 13, 2019
@yshui
Copy link
Owner

yshui commented Jun 13, 2019

Fixed in next. Can you confirm?

@Ropid
Copy link
Author

Ropid commented Jun 14, 2019

Yes, it's fixed and working fine now. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants