homebrew-services icon indicating copy to clipboard operation
homebrew-services copied to clipboard

brew service generating invalid systemd service

Open raphielscape opened this issue 1 year ago • 2 comments
trafficstars

Seems like the systemd service generated by the brew service contains an unknown escape sequence, for example with victoriametrics package, starting the service outputs that the service is successfully started:

==> Successfully started `victoriametrics` (label:homebrew.victoriametrics)

But checking at systemctl --user status shows that there's invalid escape sequence:

× homebrew.victoriametrics.service - Homebrew generated unit for victoriametrics
     Loaded: loaded (/home/aws/.config/systemd/user/homebrew.victoriametrics.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Thu 2024-02-22 15:48:56 EST; 6min ago
   Duration: 13ms
   Main PID: 4177 (code=exited, status=2)
        CPU: 6ms

Feb 22 15:48:56 observer systemd[148]: Started Homebrew generated unit for victoriametrics.
Feb 22 15:48:56 observer systemd[148]: homebrew.victoriametrics.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Feb 22 15:48:56 observer systemd[148]: homebrew.victoriametrics.service: Failed with result 'exit-code'.
Feb 22 15:48:56 observer systemd[148]: /home/aws/.config/systemd/user/homebrew.victoriametrics.service:9: Ignoring unknown escape sequences: "-httpListenAddr\=127.0.0.1:8428"
Feb 22 15:48:56 observer systemd[148]: /home/aws/.config/systemd/user/homebrew.victoriametrics.service:9: Ignoring unknown escape sequences: "-promscrape.config\=/home/linuxbrew/.linuxbrew/etc/victoriametrics/scrape.yml"
Feb 22 15:48:56 observer systemd[148]: /home/aws/.config/systemd/user/homebrew.victoriametrics.service:9: Ignoring unknown escape sequences: "-storageDataPath\=/home/linuxbrew/.linuxbrew/var/victoriametrics-data"

Seems like not a formula issue as this also reproducible in grafana formula:

Created symlink /home/aws/.config/systemd/user/default.target.wants/homebrew.grafana.service → /home/aws/.config/systemd/user/homebrew.grafana.service.
==> Successfully started `grafana` (label: homebrew.grafana)
× homebrew.grafana.service - Homebrew generated unit for grafana
     Loaded: loaded (/home/aws/.config/systemd/user/homebrew.grafana.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Thu 2024-02-22 16:03:59 EST; 25s ago
   Duration: 177ms
    Process: 8155 ExecStart=/home/linuxbrew/.linuxbrew/opt/grafana/bin/grafana server --config /home/linuxbrew/.linuxbrew/etc/grafana/grafana.ini --homepath /home/linuxbrew/.linuxbrew/opt/grafana/share/grafana --packaging\=brew cfg:default.paths.logs\>
   Main PID: 8155 (code=exited, status=1/FAILURE)
        CPU: 167ms

Feb 22 16:03:59 observer systemd[148]: homebrew.grafana.service: Scheduled restart job, restart counter is at 5.
Feb 22 16:03:59 observer systemd[148]: homebrew.grafana.service: Start request repeated too quickly.
Feb 22 16:03:59 observer systemd[148]: homebrew.grafana.service: Failed with result 'exit-code'.
Feb 22 16:03:59 observer systemd[148]: Failed to start Homebrew generated unit for grafana.

raphielscape avatar Feb 22 '24 20:02 raphielscape

Can you tell what the sequence is when opening the file?

SMillerDev avatar Feb 22 '24 22:02 SMillerDev

Can you tell what the sequence is when opening the file?

I don't know about the sequence, but here's the generated unit file from homebrew:

homebrew.victoriametrics:

[Unit]
Description=Homebrew generated unit for victoriametrics

[Install]
WantedBy=default.target

[Service]
Type=simple
ExecStart=/home/linuxbrew/.linuxbrew/opt/victoriametrics/bin/victoria-metrics -httpListenAddr\=127.0.0.1:8428 -promscrape.config\=/home/linuxbrew/.linuxbrew/etc/victoriametrics/scrape.yml -storageDataPath\=/home/linuxbrew/.linuxbrew/var/victoriametric>StandardOutput=append:/home/linuxbrew/.linuxbrew/var/log/victoria-metrics.log
StandardError=append:/home/linuxbrew/.linuxbrew/var/log/victoria-metrics.err.log

homebrew.grafana:

Description=Homebrew generated unit for grafana

[Install]
WantedBy=default.target

[Service]
Type=simple
ExecStart=/home/linuxbrew/.linuxbrew/opt/grafana/bin/grafana server --config /home/linuxbrew/.linuxbrew/etc/grafana/grafana.ini --homepath /home/linuxbrew/.linuxbrew/opt/grafana/share/grafana --packaging\=brew cfg:default.paths.logs\=/home/linuxbrew/.>Restart=always
WorkingDirectory=/home/linuxbrew/.linuxbrew/var/lib/grafana
StandardOutput=append:/home/linuxbrew/.linuxbrew/var/log/grafana-stdout.log
StandardError=append:/home/linuxbrew/.linuxbrew/var/log/grafana-stderr.log

There are unescaped slashes on the execstart

raphielscape avatar Feb 22 '24 22:02 raphielscape

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

github-actions[bot] avatar Mar 15 '24 00:03 github-actions[bot]