ptarmiganlabs / butler-sos

Butler SenseOps Stats ("Butler-SOS") is a microservice publishing operational Qlik Sense metrics to InfluxDB, Prometheus and New Relic. Add Grafana for great looking dashboards and you get real-time monitoring of what happens inside a Qlik Sense environment.
https://butler-sos.ptarmiganlabs.com
MIT License
27 stars 13 forks source link

Windows version crashes with invalid path parameters value #924

Closed mountaindude closed 4 weeks ago

mountaindude commented 4 weeks ago

What version of Butler SOS are you using?

11.0.1

What version of Node.js are you using? Not applicable if you use the standalone version of Butler SOS.

No response

What command did you use to start Butler SOS?

.\butler-sos.exe --configfile .\butler-sos-config-influx2.yaml --loglevel info

What operating system are you using?

Windows server 2019

What CPU architecture are you using?

x86_64

What Qlik Sense versions are you using?

2024-May IR

Describe the Bug

When starting on Windows I get this error:

PS C:\tools\butler-sos> .\butler-sos.exe --configfile .\butler-sos-config-influx2.yaml
node:internal/errors:477
    ErrorCaptureStackTrace(err);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of URL. Received undefined
    at new NodeError (node:internal/errors:388:5)
    at fileURLToPath (node:internal/url:1486:11)
    at t.init (C:\snapshot\butler-sos\build.cjs:800:4622)
    at process.runNextTicks [as _tickCallback] (node:internal/process/task_queues:60:5)
    at Function.runMain (pkg/prelude/bootstrap.js:1980:13)
    at node:internal/main/run_main_module:17:47
    at async IHt (C:\snapshot\butler-sos\build.cjs:1076:158302) {
  code: 'ERR_INVALID_ARG_TYPE'
}

Node.js v18.5.0
PS C:\tools\butler-sos>

Starting on macOS or using plain Node.js does NOT give this error.

Expected Behavior

No response

To Reproduce

No response

mountaindude commented 4 weeks ago

Most likely caused by --inject:./src/lib/import-meta-url.js --define:import.meta.url=import_meta_url missing in the ci.yaml GitHub Actions workflow (which builds release binaries).

Those parameters are present in the insiders-build.yaml file, which would explain why those binaries worked.

Testing hypothesis before closing ticket.