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

crash because of failed refresh rate detection after screen blanking with 144Hz monitor #56

Closed
zischknall opened this issue Nov 25, 2018 · 18 comments

Comments

@zischknall
Copy link

Platform

Arch Linux kernel 4.19.2

GPU, drivers, and screen setup

Radeon RX 560 driving two monitors configured in xconf (main running on 144Hz and other on 60Hz).
xf86-video-amdgpu 18.1.0-1 and mesa 18.2.5-1
Output of glxinfo -B:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: Radeon RX 560 Series (POLARIS11, DRM 3.27.0, 4.19.2-ck1-custom2, LLVM 7.0.0) (0x67ff)
    Version: 18.2.5
    Accelerated: yes
    Video memory: 4096MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.4
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 3926 MB, largest block: 3926 MB
    VBO free aux. memory - total: 4091 MB, largest block: 4091 MB
    Texture free memory - total: 3926 MB, largest block: 3926 MB
    Texture free aux. memory - total: 4091 MB, largest block: 4091 MB
    Renderbuffer free memory - total: 3926 MB, largest block: 3926 MB
    Renderbuffer free aux. memory - total: 4091 MB, largest block: 4091 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4096 MB
    Total available memory: 8192 MB
    Currently available dedicated video memory: 3926 MB
OpenGL vendor string: X.Org
OpenGL renderer string: Radeon RX 560 Series (POLARIS11, DRM 3.27.0, 4.19.2-ck1-custom2, LLVM 7.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.5
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: 4.4 (Compatibility Profile) Mesa 18.2.5
OpenGL shading language version string: 4.40
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

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

Environment

I'm running i3-gaps with a polybar instance

Compton version

compton v4
Output of compton --diagnostics:

**Version:** v4

### Extensions:

* Name Pixmap: Yes
* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

* Use Overlay: Yes

Compton configuration:

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

# Backend to use: "xrender" or "glx".
# GLX backend is typically much faster but depends on a sane driver.
backend = "xrender";

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

### glx-no-stencil = true; ###

# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
# but a 20% increase when only 1/4 is.
# My tests on nouveau show terrible slowdown.
# Useful with --glx-swap-method, as well.
### glx-copy-from-front = false; ###

# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
# May break VSync and is not available on some drivers.
# Overrides --glx-copy-from-front.
# glx-use-copysubbuffermesa = true;

# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
# Recommended if it works.
# glx-no-rebind-pixmap = true;


# GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value.
# copy is fastest, but may fail on some drivers,
# 2-6 are gradually slower but safer (6 is still faster than 0).
# Usually, double buffer means 2, triple buffer means 3.
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
# Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage.
# Defaults to undefined.
### glx-swap-method = "undefined"; ###

#################################
#
# Shadows
#
#################################

# Enabled client-side shadows on windows.
shadow = true;
# Don't draw shadows on DND windows.
no-dnd-shadow = true;
# Avoid drawing shadows on dock/panel windows.
no-dock-shadow = true;
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
clear-shadow = true;
# The blur radius for shadows. (default 12)
shadow-radius = 5;
# The left offset for shadows. (default -15)
shadow-offset-x = -5;
# The top offset for shadows. (default -15)
shadow-offset-y = -5;
# The translucency for shadows. (default .75)
shadow-opacity = 0.5;

# Set if you want different colour shadows
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;

# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
shadow-exclude = [
    "! name~=''",
    "name = 'Notification'",
    "name = 'Plank'",
    "name = 'Docky'",
    "name = 'Kupfer'",
    "name = 'xfce4-notifyd'",
    "name *= 'VLC'",
    "name *= 'compton'",
    "name *= 'Chromium'",
    "name *= 'Chrome'",
    "class_g = 'Conky'",
    "class_g = 'Kupfer'",
    "class_g = 'Synapse'",
    "class_g ?= 'Notify-osd'",
    "class_g ?= 'Cairo-dock'",
    "class_g ?= 'Xfce4-notifyd'",
    "class_g ?= 'Xfce4-power-manager'",
    "_GTK_FRAME_EXTENTS@:c"
];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
shadow-ignore-shaped = false;

#################################
#
# Opacity
#
#################################

menu-opacity = 1;
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
alpha-step = 0.06;

# Dim inactive windows. (0.0 - 1.0)
# inactive-dim = 0.2;
# Do not let dimness adjust based on window opacity.
# inactive-dim-fixed = true;
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
# blur-background = true;
# Blur background of opaque windows with transparent frames as well.
# blur-background-frame = true;
# Do not let blur radius adjust based on window opacity.
blur-background-fixed = false;
blur-background-exclude = [
    "window_type = 'dock'",
    "window_type = 'desktop'"
];

#################################
#
# Fading
#
#################################

# Fade windows during opacity changes.
fading = true;
# The time between steps in a fade in milliseconds. (default 10).
fade-delta = 4;
# Opacity change between steps while fading in. (default 0.028).
fade-in-step = 0.03;
# Opacity change between steps while fading out. (default 0.03).
fade-out-step = 0.03;
# Fade windows in/out when opening/closing
# no-fading-openclose = true;

# Specify a list of conditions of windows that should not be faded.
fade-exclude = [ ];

#################################
#
# Other
#
#################################

# Try to detect WM windows and mark them as active.
mark-wmwin-focused = true;
# Mark all non-WM but override-redirect windows active (e.g. menus).
mark-ovredir-focused = true;
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
# Usually more reliable but depends on a EWMH-compliant WM.
use-ewmh-active-win = true;
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
detect-rounded-corners = true;

# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
# This prevents opacity being ignored for some apps.
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
detect-client-opacity = true;

# Specify refresh rate of the screen.
# If not specified or 0, compton will try detecting this with X RandR extension.
refresh-rate = 0;

# Set VSync method. VSync methods currently available:
# none: No VSync
# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental.
# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
# (Note some VSync methods may not be enabled at compile time.)
vsync = "opengl-swc";

# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
# Reported to have no effect, though.
dbe = false;
# Painting on X Composite overlay window. Recommended.
paint-on-overlay = true;

# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
# unless you wish to specify a lower refresh rate than the actual value.
sw-opti = true;

# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
# Known to cause flickering when redirecting/unredirecting windows.
# paint-on-overlay may make the flickering less obvious.
unredir-if-possible = true;

# Specify a list of conditions of windows that should always be considered focused.
focus-exclude = [ ];

# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
detect-transient = true;
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
detect-client-leader = true;

#################################
#
# Window type settings
#
#################################

wintypes:
{
    tooltip =
    {
        # fade: Fade the particular type of windows.
        fade = true;
        # shadow: Give those windows shadow
        shadow = false;
        # opacity: Default opacity for the type of windows.
        opacity = 0.85;
        # focus: Whether to always consider windows of this type focused.
        focus = true;
    };
};

Steps of reproduction

  1. Be idle until the monitors blank
  2. Wake up the system (e.g. move the mouse)

Expected behavior

Compton should continue operation like before

Current Behavior

Compton crashes because of the 144Hz monitor

Details

Console log:

ev_screen_change_notify(): Refresh rate detection failed, --sw-opti disabled.Floating point exception (core dumped)
@yshui
Copy link
Owner

yshui commented Nov 25, 2018

Thanks for reporting. I guess right now you could avoid this problem by disabling sw-opti

@yshui
Copy link
Owner

yshui commented Nov 25, 2018

Can you get a stack trace of compton when it crashes?

@zischknall
Copy link
Author

Strack trace of what looked relevant:

[25387] restart_syscall()                        = 1
[25387] recvmsg(5, 0x00007ffff4745e20, 0x0000000000000000) = 96 (0x0000000000000060)
[25387] poll(0x00007ffff4745f18, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4745e20, 0x0000000000000000) = 104 (0x0000000000000068)
[25387] recvmsg(5, 0x00007ffff4745fa0, 0x0000000000000000) = -11 EAGAIN (Resource temporarily unavailable)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff4746468, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47465d0, 3)         = 4
[25387] poll(0x00007ffff4746488, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746390, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] futex(0x0000559ff6aac830, 129, 1, NULL, 0x0000559ff6aac828, 94145526548488) = 1
[25387] futex(0x0000559ff6aac7e0, 129, 1, NULL, NULL, 94145526548488) = 1
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff4746468, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47465d0, 3)         = 4
[25387] poll(0x00007ffff4746488, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746390, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746568, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746690, 1)         = 4
[25387] poll(0x00007ffff47465f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746500, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] futex(0x0000559ff6718c68, 129, 1, NULL, 0x0000559ff6718c60, 94145522797632) = 1
[25387] futex(0x0000559ff6718c18, 129, 1, NULL, NULL, 94145522797632) = 1
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] recvmsg(5, 0x00007ffff47465f0, 0x0000000000000000) = -11 EAGAIN (Resource temporarily unavailable)
[25387] recvmsg(5, 0x00007ffff4746650, 0x0000000000000000) = -11 EAGAIN (Resource temporarily unavailable)
[25387] poll(0x00007ffff47465d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746700, 1)         = 72 (0x0000000000000048)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 44 (0x000000000000002c)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 64 (0x0000000000000040)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 52 (0x0000000000000034)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 112 (0x0000000000000070)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 52 (0x0000000000000034)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 40 (0x0000000000000028)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 44 (0x000000000000002c)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 40 (0x0000000000000028)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746658, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746780, 1)         = 8
[25387] poll(0x00007ffff47466e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47465f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] write(2, 'ev_screen_change_notify(): Refresh rate detection failed, --sw-opti disabled.', 77) = 77 (0x000000000000004d)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 68 (0x0000000000000044)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff4746428, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746590, 3)         = 8
[25387] munmap(140314100891648, 4)               = 0
[25387] ioctl(8, 3223872584, 140737294657136)    = 0
[25387] ioctl(8, 1074291721, 140737294657216)    = 0
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746540, 3)         = 8
[25387] munmap(140314100858880, 4)               = 0
[25387] poll(0x00007ffff4746388, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746290, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] writev(5, 0x00007ffff47464b0, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff4746428, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746590, 3)         = 8
[25387] munmap(140314100957184, 4)               = 0
[25387] ioctl(8, 3223872584, 140737294657136)    = 0
[25387] ioctl(8, 1074291721, 140737294657216)    = 0
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746540, 3)         = 8
[25387] munmap(140314100924416, 4)               = 0
[25387] ioctl(8, 3223872584, 140737294657056)    = 0
[25387] ioctl(8, 1074291721, 140737294657136)    = 0
[25387] poll(0x00007ffff4746388, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464b0, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff4746428, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746590, 3)         = 8
[25387] munmap(140314101088256, 4)               = 0
[25387] ioctl(8, 3223872584, 140737294657136)    = 0
[25387] ioctl(8, 1074291721, 140737294657216)    = 0
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746540, 3)         = 8
[25387] munmap(140314101055488, 4)               = 0
[25387] ioctl(8, 3223872584, 140737294657056)    = 0
[25387] ioctl(8, 1074291721, 140737294657136)    = 0
[25387] poll(0x00007ffff4746388, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464b0, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 44 (0x000000000000002c)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 40 (0x0000000000000028)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466c0, 1)         = 8
[25387] poll(0x00007ffff4746428, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746590, 3)         = 8
[25387] munmap(140314101022720, 4)               = 0
[25387] ioctl(8, 3223872584, 140737294657136)    = 0
[25387] ioctl(8, 1074291721, 140737294657216)    = 0
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] getpid()                                 = 25387 (0x000000000000632b)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746540, 3)         = 8
[25387] munmap(140314100989952, 4)               = 0
[25387] ioctl(8, 3223872584, 140737294657056)    = 0
[25387] ioctl(8, 1074291721, 140737294657136)    = 0
[25387] poll(0x00007ffff4746388, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464b0, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 44 (0x000000000000002c)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 40 (0x0000000000000028)
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466c0, 1)         = 8
[25387] poll(0x00007ffff4746568, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466d0, 3)         = 8
[25387] poll(0x00007ffff4746588, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746490, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 68 (0x0000000000000044)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 96 (0x0000000000000060)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746730, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746698, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47465a0, 0x0000000000000000) = 76 (0x000000000000004c)
[25387] poll(0x00007ffff47466a8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47467d0, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff4746688, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746590, 0x0000000000000000) = 64 (0x0000000000000040)
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466c0, 1)         = 8
[25387] poll(0x00007ffff4746628, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746530, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47465e8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746710, 1)         = 28 (0x000000000000001c)
[25387] poll(0x00007ffff47464b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746620, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47464d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47463e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746508, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746630, 1)         = 8
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47464a0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47465b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466e0, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff47463a8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746510, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462d0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746520, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746520, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464e0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462a0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746540, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746300, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746500, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462c0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746500, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462c0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463f8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746560, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746418, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746320, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746528, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746650, 1)         = 8
[25387] poll(0x00007ffff47465b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47464c0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746730, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746698, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47465a0, 0x0000000000000000) = 76 (0x000000000000004c)
[25387] poll(0x00007ffff47466a8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47467d0, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff4746688, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746590, 0x0000000000000000) = 64 (0x0000000000000040)
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466c0, 1)         = 8
[25387] poll(0x00007ffff4746628, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746530, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47465e8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746710, 1)         = 28 (0x000000000000001c)
[25387] poll(0x00007ffff47464b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746620, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47464d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47463e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47465b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466e0, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff47463a8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746510, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462d0, 0x0000000000000000) = 36 (0x0000000000000024)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746520, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746520, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464e0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462a0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746540, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746300, 0x0000000000000000) = 56 (0x0000000000000038)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746500, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462c0, 0x0000000000000000) = 48 (0x0000000000000030)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746500, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462c0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463f8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746560, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746418, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746320, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746528, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746650, 1)         = 8
[25387] poll(0x00007ffff47465b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47464c0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746730, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746698, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47465a0, 0x0000000000000000) = 76 (0x000000000000004c)
[25387] poll(0x00007ffff47466a8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47467d0, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff4746688, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746590, 0x0000000000000000) = 64 (0x0000000000000040)
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466c0, 1)         = 8
[25387] poll(0x00007ffff4746628, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746530, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47465e8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746710, 1)         = 28 (0x000000000000001c)
[25387] poll(0x00007ffff47464b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746620, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47464d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47463e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746508, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746630, 1)         = 8
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47464a0, 0x0000000000000000) = 36 (0x0000000000000024)
[25387] poll(0x00007ffff4746428, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746590, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746448, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746350, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47465b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466e0, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff47463a8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746510, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462d0, 0x0000000000000000) = 36 (0x0000000000000024)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746520, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746520, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462e0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464e0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462a0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463d8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746540, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746300, 0x0000000000000000) = 56 (0x0000000000000038)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746500, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462c0, 0x0000000000000000) = 48 (0x0000000000000030)
[25387] poll(0x00007ffff4746398, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746500, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462c0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463f8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746560, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746418, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746320, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463f8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746560, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746418, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746320, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746528, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746650, 1)         = 8
[25387] poll(0x00007ffff47465b8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47464c0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746730, 1)         = 16 (0x0000000000000010)
[25387] poll(0x00007ffff4746698, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47465a0, 0x0000000000000000) = 76 (0x000000000000004c)
[25387] poll(0x00007ffff47466a8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47467d0, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff4746688, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746590, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746598, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466c0, 1)         = 8
[25387] poll(0x00007ffff4746628, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746530, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 68 (0x0000000000000044)
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 8
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 8
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 8
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 8
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746358, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47464c0, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff4746378, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746280, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff47463c8, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746530, 3)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47463e8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff47462f0, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746578, 1, -1)          = 1
[25387] writev(5, 0x00007ffff47466a0, 1)         = 8
[25387] poll(0x00007ffff4746608, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746510, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 24 (0x0000000000000018)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 20 (0x0000000000000014)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 32 (0x0000000000000020)
[25387] write(2, '[   226.328998 ] ', 17)        = 17 (0x0000000000000011)
[25387] write(1, 'error  152 XCB_DAMAGE_BAD_DAMAGE request  143 minor    3 serial  34291: "152"\n', 78) = 78 (0x000000000000004e)
[25387] poll(0x00007ffff4746668, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746790, 1)         = 44 (0x000000000000002c)
[25387] poll(0x00007ffff47466f8, 1, -1)          = 1
[25387] recvmsg(5, 0x00007ffff4746600, 0x0000000000000000) = 40 (0x0000000000000028)
[25387] write(2, '[   226.330149 ] ', 17)        = 17 (0x0000000000000011)
[25387] write(1, 'error    3 BadWindow    request    2 minor    0 serial  34291: "BadWindow (invalid Window parameter'..., 102) = 102 (0x0000000000000066)
[25387] write(2, '[   226.330610 ] ', 17)        = 17 (0x0000000000000011)
[25387] write(1, 'error    3 BadWindow    request  129 minor    6 serial  34291: "BadWindow (invalid Window parameter'..., 102) = 102 (0x0000000000000066)
[25387] poll(0x00007ffff4746838, 1, -1)          = 1
[25387] writev(5, 0x00007ffff4746960, 1)         = 40 (0x0000000000000028)
[25387] epoll_wait(3, 0x0000559ff664c5a0, 64, 0) = 0
------------------------------------------------------------
PID: 25387
Signal: SIGFPE
------------------------------------------------------------
*** Process 25387 killed by signal SIGFPE ***

Tell me if you need more.
Btw, you can force the screen blanking with xset dpms force standby

@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall Sorry, I meant a stack trace. e.g. can you run compton under gdb, wait for it to crash, and run bt in gdb?

@zischknall
Copy link
Author

@yshui tried it. As soon as i move the mouse and the screen stops blanking my whole xserver has locked up already by then. And i can't get the backtrace.
Doesn't happen without gdb tho.

@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall That's fine, the screen will stop updating, but you can still type in stuff. So you need to keep your gdb window focused, and when xserver locks up, you can blindly type in bt, enter. Then type q, enter, y, enter to quit gdb.

@zischknall
Copy link
Author

@yshui here it goes:

#0  0x000055555556b54b in ?? ()
#1  0x00007ffff7c49993 in ev_invoke_pending () from /usr/lib/libev.so.4
#2  0x00007ffff7c4d2cd in ev_run () from /usr/lib/libev.so.4
#3  0x000055555555da77 in ?? ()
#4  0x00007ffff7dff223 in __libc_start_main () from /usr/lib/libc.so.6
#5  0x000055555555e87e in ?? ()

@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall Sorry, but your compton is built without debug symbols, can you rebuild it with debug info?

You can do that by passing --buildtype=debug to meson

@zischknall
Copy link
Author

@yshui

#0  0x0000555555568c28 in swopti_handle_timeout (ps=0x555555598f40) at ../src/compton.c:4418
#1  0x0000555555569f3a in delayed_draw_callback (loop=0x7ffff7e19720, w=0x555555a74e50, revents=8192)
    at ../src/compton.c:4982
#2  0x00007ffff7e0d993 in ev_invoke_pending () from /usr/lib/libev.so.4
#3  0x00007ffff7e112cd in ev_run () from /usr/lib/libev.so.4
#4  0x000055555556bdec in session_run (ps=0x555555598f40) at ../src/compton.c:5793
#5  0x000055555556bfde in main (argc=1, argv=0x7fffffffea38) at ../src/compton.c:5837

yshui added a commit that referenced this issue Nov 26, 2018
Fix a divide by zero in delay time calculation.

Fixes #56
@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall Can you test the refresh0 branch, see if that works?

@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall BTW, does swopti really have visible effect on your system?

@zischknall
Copy link
Author

zischknall commented Nov 26, 2018

@yshui
strange behaviour it didn't crash 5/5 when run in gdb but it still crashed when i ran it alone.

What would be suitable to measure the performance of swopti?

Edit: Nevermind i was just to stupid to run the right version. It just throws this now without crashing:

ev_screen_change_notify(): Refresh rate detection failed.swopti will be temporarily disabled

@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall

What would be suitable to measure the performance of swopti?

CPU usage, maybe? What prompted you to enable swopti in the first place?

It just throws this now without crashing:

This means the fix is working.

@zischknall
Copy link
Author

zischknall commented Nov 26, 2018

@yshui it was enabled by default i didn't change it

@zischknall
Copy link
Author

@yshui must have been a default at some point on my distro.

@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall Hmm, it is not in the default config anymore: https://git.archlinux.org/svntogit/community.git/tree/trunk/compton.conf?h=packages/compton

Anyway, is there any noticeable difference with/without swopti?

@zischknall
Copy link
Author

@yshui after quick testing i can only conclude that without swopti compton is using less cpu

@yshui
Copy link
Owner

yshui commented Nov 26, 2018

@zischknall Thanks for the information. I guess it is better to stop using it then.

I will close this issue since it's fixed.

@yshui yshui closed this as completed in #57 Nov 26, 2018
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