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

add_win: Assertion `old_w == NULL' failed. #164

Closed
sersorrel opened this issue Apr 25, 2019 · 5 comments
Closed

add_win: Assertion `old_w == NULL' failed. #164

sersorrel opened this issue Apr 25, 2019 · 5 comments
Labels

Comments

@sersorrel
Copy link

Platform

Ubuntu Desktop 18.04 amd64

GPU, drivers, and screen setup

Intel integrated graphics, mesa 18.2.8, two monitors configured vertically with xrandr

glxinfo -B
$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)  (0x3e9b)
    Version: 18.2.8
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.8
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 18.2.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.2.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

i3 4.16-130-ga57434696

Compton version

Version: v6-rc1-122-g72ede42b1

Extensions:

  • Shape: Yes
  • XRandR: Yes
  • Present: Present

Misc:

  • Use Overlay: Yes
  • Config file used: /home/josh/.config/compton.conf

Drivers (inaccurate):

modesetting

Compton configuration:

# Backend ##############################################################

# Can be "xrender" or "glx"; GLX is faster (usually) but needs a sane driver.
backend = "glx";

# GLX backend ##########################################################

# Magically improve performance. Can allegedly cause issues with transparency.
glx-no-stencil = true;

# Possible big performance boost on partial screen updates, but breaks with some drivers.
glx-no-rebind-pixmap = true;

# "buffer-age" (or -1) apparently auto-detects it.
# A value between -1 and 6.
# -1 (or "buffer-age") autodetects.
# 0 is slowest, but always works.
# 1 is broken with the modesetting driver on Intel graphics.
# 2 is also broken in that configuration (but a little less so).
# 3 works.
# Deprecated!
# glx-swap-method = 1;
use-damage = false;

# Vsync ################################################################

vsync = true;

# Attempt to unredirect when a fullscreen window is detected for improved performance.
unredir-if-possible = true;
# Don't unredirect windows that asked for compositing.
unredir-if-possible-exclude = [
	"_NET_WM_BYPASS_COMPOSITOR@:c = 2",
	"class_g = 'Totem'"
];

# Focus ################################################################

# inactive-dim = 0.2;
# focus-exclude = [
# 	"class_g = 'i3-frame'",
# 	"class_g = 'Rofi'"
# ];

Steps of reproduction

unsure, will update

Expected behavior

Assertions shouldn't fail

Current Behavior

This assertion fails:

https://github.com/yshui/compton/blob/72ede42b19a20a263f8ec094737cae60ff207cac/src/win.c#L951

Stack trace

With debugging information included in the build, this was logged:

compton: ../src/win.c:951: add_win: Assertion `old_w == NULL' failed.

I'll try to obtain a proper stack trace/core dump if I can.

@yshui yshui added the info requested The developers have requested additional information from the reporter label Apr 25, 2019
@sersorrel
Copy link
Author

Here's a core dump (and the Compton binary)

coredump.zip

@yshui
Copy link
Owner

yshui commented Apr 25, 2019

Can you also post the stack trace here? And a log file with --log-level=trace

@sersorrel
Copy link
Author

Here's a stack trace:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff46ca801 in __GI_abort () at abort.c:79
#2  0x00007ffff46ba39a in __assert_fail_base (fmt=0x7ffff48417d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x555555598c5a "old_w == NULL",
    file=file@entry=0x55555559887c "../src/win.c", line=line@entry=951, function=function@entry=0x555555599408 <__PRETTY_FUNCTION__.51806> "add_win") at assert.c:92
#3  0x00007ffff46ba412 in __GI___assert_fail (assertion=0x555555598c5a "old_w == NULL", file=0x55555559887c "../src/win.c", line=951,
    function=0x555555599408 <__PRETTY_FUNCTION__.51806> "add_win") at assert.c:101
#4  0x000055555556aa34 in add_win (ps=0x5555557c0de0, id=73400544, prev=0x5555557c1310) at ../src/win.c:951
#5  0x000055555556b4ac in add_win_top (ps=0x5555557c0de0, id=73400544) at ../src/win.c:966
#6  0x000055555558105e in ev_reparent_notify (ps=0x5555557c0de0, ev=0x555555b98620) at ../src/event.c:219
#7  0x000055555558253e in ev_handle (ps=0x5555557c0de0, ev=0x555555b98620) at ../src/event.c:584
#8  0x00005555555638f0 in handle_queued_x_events (loop=0x7ffff782f8e0, w=0x5555557c0ec0, revents=16384) at ../src/compton.c:1370
#9  0x00007ffff7625d73 in ev_invoke_pending () from /usr/lib/x86_64-linux-gnu/libev.so.4
#10 0x00007ffff762983e in ev_run () from /usr/lib/x86_64-linux-gnu/libev.so.4
#11 0x0000555555566c8e in session_run (ps=0x5555557c0de0) at ../src/compton.c:2358
#12 0x0000555555566f3d in main (argc=1, argv=0x7fffffffe0d8) at ../src/compton.c:2440

Log file: log.txt

@yshui yshui added bug and removed info requested The developers have requested additional information from the reporter labels Apr 26, 2019
@yshui yshui closed this as completed in b3d8dfb Apr 27, 2019
@yshui
Copy link
Owner

yshui commented Apr 27, 2019

@anowlcalledjosh Fixed in latest next

@sersorrel
Copy link
Author

🎉 thanks!

yshui added a commit that referenced this issue May 21, 2019
When a window is reparented to the same parent again, we should just
move it to the top of the stack, instead of add it again.

Also a slight refactor restack_win.

Fixes #164

Signed-off-by: Yuxuan Shui <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants