91861 / wayst

A simple terminal emulator
MIT License
283 stars 8 forks source link

Segfault regarding timer changes #80

Closed Narrat closed 3 years ago

Narrat commented 3 years ago

Currently a build based on f8df57f segfaults for me

Output from a sanitized build:

$ ./wayst                                                                           
settings[42] (style-regular) = Regular
settings[43] (style-bold) = Semibold
settings[41] (font) = ["DejaVu Sans Mono","Noto Sans Mono","Noto Sans Symbols","Unifont"]
settings[46] (font-symbol) = ["FontAwesome","Siji"]
settings[47] (font-color) = Noto Color Emoji
settings[51] (font-size) = 10
settings[52] (dpi) = 96
settings[18] (fg-color) = #d8dee9
settings[17] (bg-color) = #2e3440ee
settings[36] (h-fg-color) = #2e3440
settings[35] (h-bg-color) = #d8dee9ee
settings[19] (color-0) = #2e3440
settings[27] (color-8) = #4c566a
settings[20] (color-1) = #bf616a
settings[28] (color-9) = #bf616a
settings[21] (color-2) = #a3be8c
settings[29] (color-10) = #a3be8c
settings[22] (color-3) = #ebcb8b
settings[30] (color-11) = #ebcb8b
settings[23] (color-4) = #81a1c1
settings[31] (color-12) = #81a1c1
settings[24] (color-5) = #b48ead
settings[32] (color-13) = #b48ead
settings[25] (color-6) = #88c0d0
settings[33] (color-14) = #8fbcbb
settings[26] (color-7) = #e5e9f0
settings[34] (color-15) = #eceff4
settings[3] (term) = xterm-256color
settings[37] (visual-bell) = none
settings[57] (blink) = -1
settings[7] (title-format) = {sVtTitle}
settings[81] (bind-key-debug) = Ctrl+Shift+Return
parsed Ctrl as MODIFIER_CONTROL
parsed Shift as MODIFIER_SHIFT
settings[66] (bind-key-enlarge) = Ctrl+Shift+equal
parsed Ctrl as MODIFIER_CONTROL
parsed Shift as MODIFIER_SHIFT
settings[67] (bind-key-shrink) = Ctrl+Shift+minus
parsed Ctrl as MODIFIER_CONTROL
parsed Shift as MODIFIER_SHIFT
settings[64] (bind-key-copy) = Ctrl+Shift+y
parsed Ctrl as MODIFIER_CONTROL
parsed Shift as MODIFIER_SHIFT
settings[65] (bind-key-paste) = Ctrl+Shift+p
parsed Ctrl as MODIFIER_CONTROL
parsed Shift as MODIFIER_SHIFT
settings[64] (bind-key-copy) = Ctrl+Shift+c
parsed Ctrl as MODIFIER_CONTROL
parsed Shift as MODIFIER_SHIFT
settings[65] (bind-key-paste) = Ctrl+Shift+v
parsed Ctrl as MODIFIER_CONTROL
parsed Shift as MODIFIER_SHIFT
using fontconfig cache file: /home/omnius/.cache/wayst/fc-cache
fontconfig cache loaded succesfully
Using locale: de_DE.utf8
ft::StyledFamily_new{ r: /usr/share/fonts/TTF/DejaVuSansMono.ttf, b: /usr/share/fonts/TTF/DejaVuSansMono-Bold.ttf, i: /usr/share/fonts/TTF/DejaVuSansMono-Oblique.ttf, bi: /usr/share/fonts/TTF/DejaVuSansMono-BoldOblique.ttf, so: 0, ot: 2 }
ft::StyledFamily_new{ r: /usr/share/fonts/noto/NotoSansMono-Regular.ttf, b: /usr/share/fonts/noto/NotoSansMono-Bold.ttf, i: (null), bi: (null), so: 0, ot: 2 }
ft::StyledFamily_new{ r: /usr/share/fonts/noto/NotoSansSymbols-Regular.ttf, b: /usr/share/fonts/noto/NotoSansSymbols-Bold.ttf, i: (null), bi: (null), so: 0, ot: 2 }
ft::StyledFamily_new{ r: /usr/share/fonts/Unifont/Unifont.ttf, b: (null), i: (null), bi: (null), so: 0, ot: 2 }
wl::registry_add{ name: wl_shm                                  , ver:  1 }
wl::registry_add{ name: wl_drm                                  , ver:  2 (unused) }
wl::registry_add{ name: zwp_linux_dmabuf_v1                     , ver:  3 (unused) }
wl::registry_add{ name: wl_compositor                           , ver:  4 }
wl::registry_add{ name: wl_subcompositor                        , ver:  1 (unused) }
wl::registry_add{ name: wl_data_device_manager                  , ver:  3 }
wl::registry_add{ name: zxdg_output_manager_v1                  , ver:  3 (unused) }
wl::registry_add{ name: zwlr_gamma_control_manager_v1           , ver:  1 (unused) }
wl::registry_add{ name: zwlr_screencopy_manager_v1              , ver:  3 (unused) }
wl::registry_add{ name: org_kde_kwin_server_decoration_manager  , ver:  1 (unused) }
wl::registry_add{ name: zxdg_decoration_manager_v1              , ver:  1 }
wl::registry_add{ name: zwlr_data_control_manager_v1            , ver:  2 (unused) }
wl::registry_add{ name: gtk_primary_selection_device_manager    , ver:  1 (unused) }
wl::registry_add{ name: zwp_primary_selection_device_manager_v1 , ver:  1 }
wl::registry_add{ name: wl_seat                                 , ver:  7 }
wl::registry_add{ name: xdg_wm_base                             , ver:  2 }
wl::registry_add{ name: zwlr_layer_shell_v1                     , ver:  2 (unused) }
wl::registry_add{ name: wl_output                               , ver:  3 }
EGL Initialized 1.5
wl::zxdg_toplevel_decoration::configure{ mode: 2 }
settings::key name 'c' -> keysym 99
settings::key name 'v' -> keysym 118
settings::key name 'equal' -> keysym 61
settings::key name 'minus' -> keysym 45
settings::key name 'Return' -> keysym 13
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 40 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 40 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 24 VGPRS: 28 Code Size: 220 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 24 VGPRS: 28 Code Size: 204 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 40 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 28 Code Size: 108 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 8 VGPRS: 28 Code Size: 56 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 76 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 28 Code Size: 72 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 76 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 24 VGPRS: 28 Code Size: 120 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 16 VGPRS: 8 Code Size: 32 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 8 VGPRS: 28 Code Size: 48 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
GL::info{ severity: NOTIFICATION, source: SHADER_COMPILER, type: OTHER, id: 1, message: Shader Stats: SGPRS: 24 VGPRS: 8 Code Size: 152 LDS: 0 Scratch: 0 Max Waves: 8 Spilled SGPRs: 0 Spilled VGPRs: 0 PrivMem VGPRs: 0 }
resized to: 80 24 [640 384]
wl.data_device::offer
wl.data_offer::offer{ mime_type: text/html  - REJECTED(not supported) }
wl.data_offer::offer{ mime_type: text/_moz_htmlcontext  - REJECTED(not supported) }
wl.data_offer::offer{ mime_type: text/_moz_htmlinfo  - REJECTED(not supported) }
wl.data_offer::offer{ mime_type: UTF8_STRING - ACCEPTED(new data) }
wl.data_offer::offer{ mime_type: COMPOUND_TEXT  - REJECTED('UTF8_STRING' is prefferable) }
wl.data_offer::offer{ mime_type: TEXT  - REJECTED('UTF8_STRING' is prefferable) }
wl.data_offer::offer{ mime_type: STRING  - REJECTED('UTF8_STRING' is prefferable) }
wl.data_offer::offer{ mime_type: text/plain;charset=utf-8 - ACCEPTED(preffered mime type) }
wl.data_offer::offer{ mime_type: text/plain  - REJECTED('text/plain;charset=utf-8' is prefferable) }
wl.data_offer::offer{ mime_type: text/x-moz-url-priv  - REJECTED('text/plain;charset=utf-8' is prefferable) }
wl.data_offer::offer{ mime_type: SAVE_TARGETS  - REJECTED('text/plain;charset=utf-8' is prefferable) }
wl::data_device::selection { has_offer: 1 }
wl::primary_selection_offer::offer{ mime_type: text/html } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: text/_moz_htmlcontext } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: text/_moz_htmlinfo } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: UTF8_STRING } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: COMPOUND_TEXT } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: TEXT } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: STRING } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: text/plain;charset=utf-8 } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: text/plain } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::offer{ mime_type: text/x-moz-url-priv } - REJECTED('text/uri-list' is preffered) }
wl::primary_selection_offer::selection{ mime_type: text/uri-list }
[error] Assertion failed: 'self->timers.size > timer', exists
In file: "src/timing.h" function: "TimerManager_schedule_point" line: 400
[warning] Child process 22829 exited with status 256

=================================================================
==22828==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 336 byte(s) in 14 object(s) allocated from:
    #0 0x7f92cbf06639 in __interceptor_calloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x7f92c5f05775  (/usr/lib/dri/radeonsi_dri.so+0x8ff775)

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7f92cbf0683a in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:164
    #1 0x7f92c5f061ab  (/usr/lib/dri/radeonsi_dri.so+0x9001ab)

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f92cbf06639 in __interceptor_calloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x7f92c74de352  (/usr/lib/../lib/libEGL_mesa.so.0+0x1e352)

Direct leak of 4 byte(s) in 2 object(s) allocated from:
    #0 0x7f92cbeaea69 in __interceptor_strdup /build/gcc/src/gcc/libsanitizer/asan/asan_interceptors.cpp:452
    #1 0x55fa5bc20779 in handle_option src/settings.c:1692
    #2 0x55fa5bc2173a in handle_config_option src/settings.c:1760
    #3 0x55fa5baec995 in settings_file_parse src/config_parser.c:107
    #4 0x55fa5bc21e23 in settings_init src/settings.c:1825
    #5 0x55fa5bbfd37f in main src/main.c:1993
    #6 0x7f92cadc2151 in __libc_start_main (/usr/lib/libc.so.6+0x28151)

Indirect leak of 26992 byte(s) in 14 object(s) allocated from:
    #0 0x7f92cbf06639 in __interceptor_calloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x7f92bfa943ea  (/usr/lib/libelf.so.1+0x33ea)

Indirect leak of 15168 byte(s) in 79 object(s) allocated from:
    #0 0x7f92cbf06639 in __interceptor_calloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x7f92c74de23d  (/usr/lib/../lib/libEGL_mesa.so.0+0x1e23d)

Indirect leak of 2688 byte(s) in 14 object(s) allocated from:
    #0 0x7f92cbf06639 in __interceptor_calloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x7f92c5f05944  (/usr/lib/dri/radeonsi_dri.so+0x8ff944)

Indirect leak of 1024 byte(s) in 1 object(s) allocated from:
    #0 0x7f92cbf0683a in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:164
    #1 0x7f92c74ca658  (/usr/lib/../lib/libEGL_mesa.so.0+0xa658)

SUMMARY: AddressSanitizer: 46308 byte(s) leaked in 126 allocation(s).
Narrat commented 3 years ago

https://github.com/91861/wayst/commit/80050819cf06e53bb4a914b89f9a5c35752a1d3f did fix it