Skip to content

projectM crashes wayland based compositors #5

@Jpfonseca

Description

@Jpfonseca

I am using Archlinux with Sway a tiling Wayland based compositor, which is built on top of wlroots. It supports XWayland and Wayland native software.

Before reporting this bug, I have found someone dealing with a similar issue using Fedora 32 (Gnome 3, which has a different wayland compositor called mutter) while using Wayland.

This seems to be a problem related with the support of wayland and not a specific wayland compositor problem.

  1. Upon running projectM with Valgrind valgrind -s projectM-pulseaudio I got this:
Report

==613489== Memcheck, a memory error detector
==613489== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==613489== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==613489== Command: projectM-pulseaudio
==613489==
Default config: /usr/share/projectM/config.inp
reading /home/user/.projectM/config.inp
==613489== Invalid read of size 16
==613489== at 0x402032F: strncmp (in /usr/lib/ld-2.32.so)
==613489== by 0x40073BD: is_dst (in /usr/lib/ld-2.32.so)
==613489== by 0x40084D6: _dl_dst_count (in /usr/lib/ld-2.32.so)
==613489== by 0x40086C5: expand_dynamic_string_token (in /usr/lib/ld-2.32.so)
==613489== by 0x4008827: fillin_rpath.isra.0 (in /usr/lib/ld-2.32.so)
==613489== by 0x4008B22: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== Address 0xc182ac0 is 1 bytes after a block of size 15 alloc'd
==613489== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==613489== by 0x401E68F: strdup (in /usr/lib/ld-2.32.so)
==613489== by 0x4008AB4: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x4014F3D: _dl_open (in /usr/lib/ld-2.32.so)
==613489== by 0x5C9234B: ??? (in /usr/lib/libdl-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489==
==613489== Invalid read of size 16
==613489== at 0x402032F: strncmp (in /usr/lib/ld-2.32.so)
==613489== by 0x40073BD: is_dst (in /usr/lib/ld-2.32.so)
==613489== by 0x400858E: _dl_dst_substitute (in /usr/lib/ld-2.32.so)
==613489== by 0x4008827: fillin_rpath.isra.0 (in /usr/lib/ld-2.32.so)
==613489== by 0x4008B22: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x4014F3D: _dl_open (in /usr/lib/ld-2.32.so)
==613489== Address 0xc182ac0 is 1 bytes after a block of size 15 alloc'd
==613489== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==613489== by 0x401E68F: strdup (in /usr/lib/ld-2.32.so)
==613489== by 0x4008AB4: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x4014F3D: _dl_open (in /usr/lib/ld-2.32.so)
==613489== by 0x5C9234B: ??? (in /usr/lib/libdl-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32
.so)
==613489==
[projectM] config file: /home/user/.projectM/config.inp
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xAB85437: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C9D: ???
==613489== by 0xBB05E87: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C55: ???
==613489== by 0xBB05E87: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C9D: ???
==613489== by 0xBF898E7: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C55: ???
==613489== by 0xBF898E7: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C60: ???
==613489== by 0xBF898E7: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xBF898E7: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C9D: ???
==613489== by 0xBF89D07: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C55: ???
==613489== by 0xBF89D07: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xBF89D07: ???
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xBF89267: ???
==613489==
unconnected: connecting...
connectHelper: "alsa_input.pci-0000_00_1b.0.analog-stereo"
CREATED
READY
qt.qpa.wayland: Ignoring unexpected wl_surface.enter received for output with id: 18 screen name: "HDMI-A-2" screen model: "HP E222" This is most likely a bug in the compositor.
==613489== Warning: unimplemented fcntl command: 1033
[NativePresetFactory] creating preset library from url /usr/share/projectM/presets/libRovastarFractalSpiral.so
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0x57714A3: ??? (in /usr/lib/libQt5C
ore.so.5.15.0)
==613489== by 0x5771788: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5797EF9: QString::number(long long, int) (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x593F964: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5935405: QVariant::toString() const (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586EBC0: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587772D: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587860A: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5878DEB: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586CF64: QSettings::~QSettings() (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x1446AD: ??? (in /usr/bin/projectM-pulseaudio)
==613489== by 0x4A7AC7D: QWidget::event(QEvent*) (in /usr/lib/libQt5Widgets.so.5.15.0)
==613489==
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0x5780063: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x57714BB: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5771788: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5797EF9: QString::number(long long, int) (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x593F964: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5935405: QVariant::toString() const (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586EBC0: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587772D: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587860A: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5878DEB: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586CF64: QSettings::~QSettings() (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x1446AD: ??? (in /usr/bin/projectM-pulseaudio)
==613489==
TERMINATED
==613489==
==613489== HEAP SUMMARY:
==613489== in use at exit: 16,210,109 bytes in 17,055 blocks
==613489== total heap usage: 536,840 allocs, 519,785 frees, 340,655,415 bytes allocated
==613489==
==613489== LEAK SUMMARY:
==613489== definitely lost: 10,804 bytes in 374 blocks
==613489== indirectly lost: 3,170 bytes in 114 blocks
==613489== possibly lost: 14,608 bytes in 84 blocks
==613489== still reachable: 16,179,827 bytes in 16,482 blocks
==613489== of which reachable via heuristic:
==613489== newarray : 4,264 bytes in 1 blocks
==613489== suppressed: 1,700 bytes in 1 blocks
==613489== Rerun with --leak-check=full to see details of leaked memory
==613489==
==613489== Use --track-origins=yes to see where uninitialised values come from
==613489== ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
==613489==
==613489== 1 errors in context 1 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0x5780063: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x57714BB: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5771788: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5797EF9: QString::number(long long, int) (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x593F964: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5935405: QVariant::toString() const (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586EBC0: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587772D: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587860A: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5878DEB: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586CF64: QSettings::~QSettings() (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x1446AD: ??? (in /usr/bin/projectM-pulseaudio)
==613489==
==613489==
==613489== 1 errors in context 2 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0x57714A3: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5771788: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5797EF9: QString::number(long long, int) (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x593F964: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5935405: QVariant::toString() const (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586EBC0: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587772D: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x587860A: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x5878DEB: ??? (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x586CF64: QSettings::~QSettings() (in /usr/lib/libQt5Core.so.5.15.0)
==613489== by 0x1446AD: ??? (in /usr/bin/projectM-pulseaudio)
==613489== by 0x4A7AC7D: QWidget::event(QEvent*) (in /usr/lib/libQt5Widgets.so.5.15.0)
==613489==
==613489==
==613489== 1 errors in context 3 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xBF89267: ???
==613489==
==613489==
==613489== 1 errors in context 4 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xBF89D07: ???
==613489==
==613489==
==613489== 1 errors in context 5 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C55: ???
==613489== by 0xBF89D07: ???
==613489==
==613489==
==613489== 1 errors in context 6 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C9D: ???
==613489== by 0xBF89D07: ???
==613489==
==613489==
==613489== 1 errors in context 7 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xBF898E7: ???
==613489==
==613489==
==613489== 1 errors in context 8 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C60: ???
==613489== by 0xBF898E7: ???
==613489==
==613489==
==613489== 1 errors in context 9 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C55: ???
==613489== by 0xBF898E7: ???
==613489==
==613489==
==613489== 1 errors in context 10 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C9D: ???
==613489== by 0xBF898E7: ???
==613489==
==613489==
==613489== 1 errors in context 11 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C55: ???
==613489== by 0xBB05E87: ???
==613489==
==613489==
==613489== 1 errors in context 12 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C9D: ???
==613489== by 0xBB05E87: ???
==613489==
==613489==
==613489== 1 errors in context 13 of 15:
==613489== Conditional jump or move depends on uninitialised value(s)
==613489== at 0xA6C4C75: ???
==613489== by 0xAB85437: ???
==613489==
==613489==
==613489== 1 errors in context 14 of 15:
==613489== Invalid read of size 16
==613489== at 0x402032F: strncmp (in /usr/lib/ld-2.32.so)
==613489== by 0x40073BD: is_dst (in /usr/lib/ld-2.32.so)
==613489== by 0x400858E: _dl_dst_substitute (in /usr/lib/ld-2.32.so)
==613489== by 0x4008827: fillin_rpath.isra.0 (in /usr/lib/ld-2.32.so)
==613489== by 0x4008B22: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x4014F3D: _dl_open (in /usr/lib/ld-2.32.so)
==613489== Address 0xc182ac0 is 1 bytes after a block of size 15 alloc'd
==613489== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==613489== by 0x401E68F: strdup (in /usr/lib/ld-2.32.so)
==613489== by 0x4008AB4: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x4014F3D: _dl_open (in /usr/lib/ld-2.32.so)
==613489== by 0x5C9234B: ??? (in /usr/lib/libdl-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489==
==613489==
==613489== 1 errors in context 15 of 15:
==613489== Invalid read of size 16
==613489== at 0x402032F: strncmp (in /usr/lib/ld-2.32.so)
==613489== by 0x40073BD: is_dst (in /usr/lib/ld-2.32.so)
==613489== by 0x40084D6: _dl_dst_count (in /usr/lib/ld-2.32.so)
==613489== by 0x40086C5: expand_dynamic_string_token (in /usr/lib/ld-2.32.so)
==613489== by 0x4008827: fillin_rpath.isra.0 (in /usr/lib/ld-2.32.so)
==613489== by 0x4008B22: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== Address 0xc182ac0 is 1 bytes after a block of size 15 alloc'd
==613489== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==613489== by 0x401E68F: strdup (in /usr/lib/ld-2.32.so)
==613489== by 0x4008AB4: decompose_rpath (in /usr/lib/ld-2.32.so)
==613489== by 0x400A9BD: _dl_map_object (in /usr/lib/ld-2.32.so)
==613489== by 0x400F1E4: openaux (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x400F572: _dl_map_object_deps (in /usr/lib/ld-2.32.so)
==613489== by 0x4015439: dl_open_worker (in /usr/lib/ld-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489== by 0x4014F3D: _dl_open (in /usr/lib/ld-2.32.so)
==613489== by 0x5C9234B: ??? (in /usr/lib/libdl-2.32.so)
==613489== by 0x6111087: _dl_catch_exception (in /usr/lib/libc-2.32.so)
==613489==
--613489--
--613489-- used_suppression: 1 dtv-addr-tail /usr/lib/valgrind/default.supp:1444 suppressed: 1,700 bytes in 1 blocks
==613489==
==613489== ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)

  1. Currently glxinfo glxinfo |grep -i "version" reports the following :
Report

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Version: 20.1.6
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.1.6
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.1.6
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.1.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,

  1. I am running the sway with version 1.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions