Skip to content

bar3x silently exiting with success code (debugging help) #16

@xxxserxxx

Description

@xxxserxxx

bar3x exits randomly, but also when I use brightnessctl externally to change the brightness -- even though my config is not using the Backlight module.

  • The exit code is always 0
  • -debug provides no information about why it is exiting, other than the expected layout information.

strace looks pretty clean, mostly containing .so library opening messages, then a bunch of traps (a hundred or so) identical to this:

--- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=843048, si_uid=1001} ---
rt_sigreturn({mask=[]})                 = 824633729440

and then:

futex(0xc00005e948, FUTEX_WAKE_PRIVATE, 1) = 1
rt_sigprocmask(SIG_SETMASK, ~[HUP INT QUIT ILL TRAP ABRT BUS FPE SEGV TERM STKFLT CHLD URG PROF SYS RTMIN RT_1 RT_2], NULL, 8) = 0
futex(0xc00005e948, FUTEX_WAKE_PRIVATE, 1) = 1
rt_sigprocmask(SIG_SETMASK, ~[HUP INT QUIT ILL TRAP ABRT BUS FPE SEGV TERM STKFLT CHLD URG PROF SYS RTMIN RT_1 RT_2], NULL, 8) = 0
futex(0xc000688148, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xfecfa8, FUTEX_WAIT_PRIVATE, 0, NULLINFO[0000] x creating window x=0 y=0 w=1920 h=30
INFO[0000] connecting to pulse
WARN[0000] clock: 2 modules took more than 100ms to update
) = ?

It then does it's thing, working as expected and silent on the TTY, until it either decides to exit on its own (the amount of time this takes is variable), or I call brightnessctl with any value, e.g.:

brightnessctl s 50%

at which point bar3x exits with:

+++ exited with 0 +++

If it was run without strace there's no TTY output, but the exit code is still always 0.

This happens with trivial configs that disable most modules:

bar_left: |
    <ModuleRow>
    </ModuleRow>

bar_center: |
    <ModuleRow>
        <DateTime Format="15:04"/>
    </ModuleRow>

bar_right: |
    <ModuleRow>
    </ModuleRow>

configs that disable all modules, and empty configs (bar3x -config /dev/null).

Exit code 0 is "success". There's no panic, no core dump, and no error message. Is there any way I can track why it is exiting? Any way to have it panic, rather than silently swallowing the error and exiting?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions