183 Pulsar SIGABRTs between 2026-08-19 and 2026-09-05, 80 of them inside
one 70-minute window, all from this one block.
perf.sh launched Pulsar in "the script's directory",
$(dirname "${BASH_SOURCE[0]}") -- but perf.sh is deployed root-owned as
/usr/local/sbin/perf-audio (perf-audio.sudoers, for scoped NOPASSWD), so
BASH_SOURCE resolved to /usr/local/sbin and Pulsar got /usr/local/sbin as
its project directory. Coredump argv:
/opt/Pulsar/pulsar --executed-from=/home/pln --no-sandbox /usr/local/sbin
The Bridge's perf watcher (bridge.py:41 -> perf.py:run_watcher ->
reconcile -> set_mode) shells out here every ~30s, and every mode flag
routes through set_priorities, so the retry was unbounded: crash ->
pgrep finds nothing -> next tick tries again. No backoff, no lock, no
exit-status check. And the "✓ Pulsar launched" line proved nothing: the
verification was a 0.5s pgrep presence poll that caught the doomed
Electron process alive during startup and returned before it aborted.
Fixed by removing the launch, not by resolving the directory better.
Setting priorities is this script's job; starting applications is not.
Ardour, two branches up, has always been prioritize-if-present with no
launch branch -- Pulsar is now symmetric with it. Both the tray and the
Bridge have real Pulsar launchers that pass the right project directory
and surface failures. #116 also wants the hot path unable to start
things by accident, and a root script spawning a GUI editor through
`sudo -u $USER env ...` every 30s is the opposite of that.
NOT LIVE YET: /usr/local/sbin/perf-audio is a root-owned copy and still
carries the bug. It needs
sudo install -m755 -o root -g root perf.sh /usr/local/sbin/perf-audio
which is outside the sudoers whitelist, so PLN has to run it. Dormant
until then -- the block only fires when no Pulsar is running.
| Name |
Last commit
|
Last update |
|---|---|---|
| .gitea/workflows | Loading commit data... | |
| armada | Loading commit data... | |
| blocks | Loading commit data... | |
| blog | Loading commit data... | |
| config/wireplumber | Loading commit data... | |
| copycat | Loading commit data... | |
| docs | Loading commit data... | |
| gifts | Loading commit data... | |
| lib-parvagues | Loading commit data... | |
| live | Loading commit data... | |
| mix | Loading commit data... | |
| output | Loading commit data... | |
| releases | Loading commit data... | |
| sandbox | Loading commit data... | |
| study | Loading commit data... | |
| test | Loading commit data... | |
| tools | Loading commit data... | |
| utils | Loading commit data... | |
| visuals | Loading commit data... | |
| viz | Loading commit data... | |
| .gitignore | Loading commit data... | |
| BootTidal.hs | Loading commit data... | |
| BootTidal.hs.broken | Loading commit data... | |
| BootTidal.visuals.broken.hs | Loading commit data... | |
| CLAUDE.md | Loading commit data... | |
| EVENING.md | Loading commit data... | |
| FOH_MASTER.md | Loading commit data... | |
| LAST_THIRD.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| Logo.xcf | Loading commit data... | |
| MORNING.md | Loading commit data... | |
| PatchBay_MultiChannel.xml | Loading commit data... | |
| PatchBay_Perf.xml | Loading commit data... | |
| PatchBay_Perf5.1.xml | Loading commit data... | |
| README.md | Loading commit data... | |
| RUNBOOK.md | Loading commit data... | |
| SHOPPING_LIST.md | Loading commit data... | |
| TASKS_DUMP.md | Loading commit data... | |
| backlog.md | Loading commit data... | |
| bullet_train.tidal | Loading commit data... | |
| collide.sh | Loading commit data... | |
| debug.tidal | Loading commit data... | |
| didacticpatternvisualizer.pde | Loading commit data... | |
| gig-up.sh | Loading commit data... | |
| gpu-mode.sh | Loading commit data... | |
| hello.sc | Loading commit data... | |
| init_midi.sh | Loading commit data... | |
| install_superdirt.sclang | Loading commit data... | |
| intro.md | Loading commit data... | |
| library.txt | Loading commit data... | |
| link_jack.sh | Loading commit data... | |
| link_samples.sh | Loading commit data... | |
| link_samples_all.txt | Loading commit data... | |
| main_fairbanks.scd | Loading commit data... | |
| notes.md | Loading commit data... | |
| parvagues-sc.service | Loading commit data... | |
| perf-audio.sudoers | Loading commit data... | |
| perf-tray.py | Loading commit data... | |
| perf-tray.service | Loading commit data... | |
| perf.sh | Loading commit data... | |
| process-palette.json | Loading commit data... | |
| realtime.tidal | Loading commit data... | |
| sample_watch.scd | Loading commit data... | |
| samples.txt | Loading commit data... | |
| setlist_opal2026.txt | Loading commit data... | |
| sketch.properties | Loading commit data... | |
| start_and_midi.scd | Loading commit data... | |
| test.tidal | Loading commit data... |