Skip to content

[Bug]: xwindow module crashes entire bar if format doesn't contain tag #2826

@patrick96

Description

@patrick96

Checklist

  • I have read the appropriate section in the contributing guidelines
  • I believe this issue is a problem with polybar itself and not a misconfiguration on my part
  • I have searched for other open and closed issues that may have already reported this problem
  • I have checked the known issues page for this problem.
  • I have followed the debugging guide to narrow down the problem to a minimal config.

Steps to reproduce

polybar -l trace -c xwindow.ini

Minimal config

[bar/example]
modules-left = window

[module/window]
type = internal/xwindow
format = Hello World

Polybar log

notice: Parsing config file: /home/patrick96/polybar/issues/2824/xwindow.ini
- config_parser: Parsing /home/patrick96/polybar/issues/2824/xwindow.ini
* Loaded monitor DP-0 (3440x1440+1920+0)
* Configured DPI = 96x96
* Bar geometry: 3440x24+1920+0; Borders: 0,0,0,0
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Setup user-defined modules
notice: Loading module 'window' of type 'internal/xwindow'
notice: Loaded 1 modules
* Starting application
- controller: Main thread id = 1
* Starting module/window
- controller: Detach signal receiver
- controller: Stop modules
* module/window: Stopping
- module/window: Release sleep lock
* Deconstruction of module/window took 0 ms.
- module/window: Deconstructing
error: Uncaught exception, shutting down: map::at
* Waiting for spawned processes to end
* Reached end of application...

Expected behavior

The xwindow module simply displays "Hello World".

Actual behavior

The xwindow module throws an uncaught exception which terminates the entire bar.

Window Manager and Version

HerbstluftWM 0.9.5

Linux Distribution

ArchLinux

Polybar version

polybar 3.6.3-66-g3da26620

Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) +composite +xkb +xrm +xcursor

Build type: Sanitize
Compiler: /usr/lib/ccache/bin/c++
Compiler flags:   -Wall -Wextra -Wpedantic -Wsuggest-override -O0 -g -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls
Linker flags:  -Wall -Wextra -Wpedantic -Wsuggest-override -O0 -g -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls  -Wall -Wextra -Wpedantic -Wsuggest-override -O0 -g -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls

Additional Context / Screenshots

The exception is thrown by the xwindow_module::update function in the m_statelabels.at call.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions