Skip to content

happy crashing in [OwlShmBuffer invalidate] #21

@RJVB

Description

@RJVB

I'm getting regular crashes under [OwlShmBuffer invalidate], most often with this backtrace:

0   libwayland-server.0.dylib     	0x000000010ac92f06 wl_shm_buffer_get_data + 20 (wayland-shm.c:459)
1   io.github.bugaevc.Owl         	0x000000010ac4903c -[OwlShmBuffer invalidate] + 108 (OwlShmBuffer.m:64)
2   libffi.8.dylib                	0x000000010accb052 ffi_call_unix64 + 82
3   libffi.8.dylib                	0x000000010accfba7 ffi_call_int.llvm.BC09A206 + 807
4   libwayland-server.0.dylib     	0x000000010ac9633d wl_closure_invoke + 382 (connection.c:1035)
5   libwayland-server.0.dylib     	0x000000010ac8fb87 wl_client_connection_data + 990 (wayland-server.c:438)
6   libwayland-server.0.dylib     	0x000000010ac93540 wl_event_source_fd_dispatch + 132 (event-loop.c:135)
7   libwayland-server.0.dylib     	0x000000010ac93bc4 wl_event_loop_dispatch + 204 (event-loop.c:1064)
8   io.github.bugaevc.Owl         	0x000000010ac4edb1 socketCallback + 17 (OwlRunLoopSource.m:49)

This is because the _buffer pointer is corrupt, but I haven't yet been able to find out what causes that, or where. The issue doesn't occur when I run Owl under valgrind.

Best I've seen is this:

Mar  8 23:53:28 Portia.local Owl[91231] <Error>: CGImageCreate: invalid image size: 255 x 0.
Mar  8 23:53:28 Portia.local Owl[91231] <Error>: CGImageCreate: invalid image size: 255 x 0.
Buffer address requested when its parent pool has an external reference and a deferred resize pending.
2025-03-08 23:53:39.815 Owl[91231:d07] Unknown shm format

(in that case the crash occurred in wl_shm_buffer_begin_access(), wayland-shm.c:637 ; the CGImageCreate warnings occur only when running with jemalloc.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions