mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-08 21:59:09 -05:00
[GH-ISSUE #900] pangolin randomly crashing after update #3624
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @scroguard on GitHub (Jun 12, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/900
updated from version 1.4.0 --> 1.5.0. the update seemed to proceed without any issues. however, everything randomly crashes when attempting to navigate the admin interface. if i roll back to 1.4.0 the crashing goes away and the system is rock solid again.
update process i used is as follows:
docker compose down
edit docker compose file with new version number
docker compose pull
docker compose up -d
i've even attempted docker compose up -d --force-recreate, this doesn't help.
after some digging, it appears that the db migration script is the cause for the issue. here is a snippet from the logs when it crashes.
pangolin | npm error path /app
pangolin | npm error command failed
pangolin | npm error signal SIGILL
pangolin | npm error command sh -c DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin | npm error A complete log of this run can be found in: /root/.npm/_logs/2025-06-12T17_52_51_446Z-debug-0.log
traefik | 2025-06-12T17:53:09Z ERR Provider error, retrying in 287.208055ms error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp: lookup pangolin on 127.0.0.11:53: no such host" providerName=http
pangolin exited with code 0
traefik | 2025-06-12T17:53:10Z ERR Provider error, retrying in 427.648805ms error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http
pangolin |
pangolin | > @fosrl/pangolin@0.0.0 start:sqlite
pangolin | > DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin |
traefik | 2025-06-12T17:53:10Z ERR Provider error, retrying in 1.058338936s error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http
pangolin | Starting migrations from version 1.5.0
pangolin | Migrations to run:
pangolin | All migrations completed successfully
traefik | 2025-06-12T17:53:11Z ERR Provider error, retrying in 2.44442303s error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http
traefik | 50.193.208.178 - - [12/Jun/2025:17:53:12 +0000] "GET /wpad.dat HTTP/1.1" 404 19 "-" "-" 43 "-" "-" 0ms
traefik | 74.48.6.121 - - [12/Jun/2025:17:53:13 +0000] "GET / HTTP/1.1" 502 11 "-" "-" 44 "next-router@file" "http://pangolin:3002" 1ms
here is the contents of the .npm/_log file the crash references:
0 verbose cli /usr/local/bin/node /usr/local/bin/npm
1 info using npm@10.8.2
2 info using node@v20.19.2
3 silly config load:file:/usr/local/lib/node_modules/npm/npmrc
4 silly config load:file:/app/.npmrc
5 silly config load:file:/root/.npmrc
6 silly config load:file:/usr/local/etc/npmrc
7 verbose title npm run start:sqlite
8 verbose argv "run" "start:sqlite"
9 verbose logfile logs-max:10 dir:/root/.npm/_logs/2025-06-12T17_59_57_319Z-
10 verbose logfile /root/.npm/_logs/2025-06-12T17_59_57_319Z-debug-0.log
11 silly logfile done cleaning log files
12 verbose stack Error: command failed
12 verbose stack at promiseSpawn (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:22:22)
12 verbose stack at spawnWithShell (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:124:10)
12 verbose stack at promiseSpawn (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:12:12)
12 verbose stack at runScriptPkg (/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js:77:13)
12 verbose stack at runScript (/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/run-script.js:9:12)
12 verbose stack at #run (/usr/local/lib/node_modules/npm/lib/commands/run-script.js:130:13)
12 verbose stack at async RunScript.exec (/usr/local/lib/node_modules/npm/lib/commands/run-script.js:39:7)
12 verbose stack at async Npm.exec (/usr/local/lib/node_modules/npm/lib/npm.js:207:9)
12 verbose stack at async module.exports (/usr/local/lib/node_modules/npm/lib/cli/entry.js:74:5)
13 verbose pkgid @fosrl/pangolin@0.0.0
14 error path /app
15 error command failed
16 error signal SIGILL
17 error command sh -c DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
18 verbose cwd /app
19 verbose os Linux 6.1.0-37-amd64
20 verbose node v20.19.2
21 verbose npm v10.8.2
22 verbose exit 1
23 verbose code 1
24 error A complete log of this run can be found in: /root/.npm/_logs/2025-06-12T17_59_57_319Z-debug-0.log
@oschwartz10612 commented on GitHub (Jun 13, 2025):
HI! Sorry about this issue.
I am not sure if it is the migration because if it was I would expect it to crash before you visit the web page and not after. I also see
In the logs which makes me think that maybe it is getting to the server.
Do you see any other logs when you visit the web page?
Maybe you could bring the containers down and then up and provide a full log from as soon as they are start to after it crashes from the web page?
@parsoli commented on GitHub (Jun 14, 2025):
I upgraded to :latest and all containers come up except Pangolin. Dead Dead Dead
@az4aaz commented on GitHub (Jun 14, 2025):
Same error on my side.
@singularity0821 commented on GitHub (Jun 14, 2025):
I was also suddenly seeing these entries in my log file and could no longer access Pangolin's web UI.
Crowdsec logged that it had blocked my IP.
Disabling the crowdsec middleware has fixed it for me for now.
@oschwartz10612 commented on GitHub (Jun 16, 2025):
Could anyone bring the containers down and then up and provide a full log from as soon as they are started to after it crashes from when you visit the web page?
@scroguard commented on GitHub (Jun 17, 2025):
give me a little bit and i'll attempt to get these logs for you. i have rolled back my version so that pangolin would remain stable.
@scroguard commented on GitHub (Jun 17, 2025):
@scroguard commented on GitHub (Jun 17, 2025):
just finished rolling back to 1.4.0 after grabbing those logs and webui works perfectly again.
after updating to grab those logs, it crashed immediately after i attempted to login. if i refresh the page it will load, then crash again if i attempt to hit other parts of the UI.
@oschwartz10612 commented on GitHub (Jun 18, 2025):
Okay very strange. No obvious errors (unless I am missing it) other than it getting killed again with illegal instruction. From your first post maybe this is related to the
@npmcli/promise-spawnmodule. I wonder if a rebuild would resolve this?For my information what hardware and kernel etc... you on? Could you let us know the cpu arch, docker version, kernel version?
@scroguard commented on GitHub (Jun 18, 2025):
when you say a complete rebuild, do you mean starting over with the docker stack? or are you referring to nuking the entire machine to start over?
to your questions - this is a baremetal install of debian 12 on an older piece of kit, but plenty powerful for pangolin. it was an asteros security appliance in its prior life, but since they used commodity x86/x64 hardware i repurposed it into a reverse proxy.
OS: Debian 12, kernel 6.1.140-1 (2025-05-33) x86_64; fully up to date via apt
2GB Ram, I believe DDR2
120GB SATA SSD
full inxi output pasted below:
System:
Kernel: 6.1.0-37-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0 Console: pty pts/0
Distro: Debian GNU/Linux 12 (bookworm)
Machine:
Type: Desktop System: Astaro AG product: ASG v: 320r4 serial:
Mobo: NEXCOM model: NSA3110 v: B serial: N/A BIOS: Phoenix v: 6.00 PG date: 12/03/2009
CPU:
Info: dual core model: Pentium E5300 bits: 64 type: MCP arch: Penryn rev: A cache: L1: 128 KiB
L2: 2 MiB
Speed (MHz): avg: 2596 high: 2598 min/max: N/A cores: 1: 2598 2: 2594 bogomips: 10374
Flags: ht lm nx pae sse sse2 sse3 ssse3 vmx
Graphics:
Device-1: Intel 4 Series Integrated Graphics driver: i915 v: kernel arch: Gen-5 bus-ID: 00:02.0
Display: server: No display server data found. Headless machine? tty: 132x97
API: OpenGL Message: GL data unavailable in console for root.
Audio:
Message: No device data found.
Network:
Device-1: Intel 82574L Gigabit Network driver: e1000e v: kernel port: 8f00 bus-ID: 01:00.0
IF: enp1s0 state: down mac:
Device-2: Intel 82574L Gigabit Network driver: e1000e v: kernel port: 7f00 bus-ID: 02:00.0
IF: enp2s0 state: down mac:
Device-3: Intel 82574L Gigabit Network driver: e1000e v: kernel port: 6f00 bus-ID: 03:00.0
IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac:
Device-4: Intel 82574L Gigabit Network driver: e1000e v: kernel port: df00 bus-ID: 04:00.0
IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac:
Device-5: Intel 82574L Gigabit Network driver: e1000e v: kernel port: cf00 bus-ID: 05:00.0
IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac:
Device-6: Intel 82574L Gigabit Network driver: e1000e v: kernel port: bf00 bus-ID: 08:00.0
IF: enp8s0 state: down mac:
Device-7: Intel 82574L Gigabit Network driver: e1000e v: kernel port: af00 bus-ID: 09:00.0
IF: enp9s0 state: down mac:
Device-8: Intel 82574L Gigabit Network driver: e1000e v: kernel port: 9f00 bus-ID: 0a:00.0
IF-ID-1: bond0 state: unknown speed: N/A duplex: N/A mac:
IF-ID-2: bonding_masters state: N/A speed: N/A duplex: N/A mac: N/A
IF-ID-3: br-c1cd16ea2b2c state: up speed: 10000 Mbps duplex: unknown mac:
IF-ID-4: docker0 state: down mac:
IF-ID-5: enp10s0 state: down mac:
IF-ID-6: ovs-system state: down mac:
IF-ID-7: vethe708edf state: up speed: 10000 Mbps duplex: full mac:
IF-ID-8: vethe7df16f state: up speed: 10000 Mbps duplex: full mac:
IF-ID-9: vlan20 state: unknown speed: N/A duplex: N/A mac:
IF-ID-10: vmbr0 state: unknown speed: N/A duplex: N/A mac:
Drives:
Local Storage: total: 111.79 GiB used: 8.23 GiB (7.4%)
ID-1: /dev/sda vendor: Kingston model: SH103S3120G size: 111.79 GiB
Partition:
ID-1: / size: 108.54 GiB used: 8.16 GiB (7.5%) fs: ext4 dev: /dev/sda1
Swap:
ID-1: swap-1 type: partition size: 975 MiB used: 71.2 MiB (7.3%) dev: /dev/sda5
Sensors:
System Temperatures: cpu: 39.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 114 Uptime: 6d 23h 37m Memory: 1.89 GiB used: 742 MiB (38.4%) Init: systemd
target: graphical (5) Compilers: N/A Packages: 466 Shell: Bash v: 5.2.15 inxi: 3.3.26
@scroguard commented on GitHub (Jun 18, 2025):
@oschwartz10612 - if it would help i'd be willing to create a temporary account to allow you to login to the machine and take a look. i would just need to some information from you regarding the IP you'd connect from, etc. so i could temporarily open up access via my firewall, etc.
@oschwartz10612 commented on GitHub (Jun 19, 2025):
Sorry I meant rebuilding the container. I just rebuilt off of main with all of the latest package updates and stuff. Would you be able to pull and give public.ecr.aws/g5j5p7x0/pangolin a shot and see if it helps? Back up your config first in case it does something weird to it.
I was also wondering if fresh install would work in case it is something with the DB. Maybe before you try the container could you try a fully fresh install? You can back up your config dir and let it create a new one to do a fresh install.
@selipso commented on GitHub (Jun 19, 2025):
FWIW chiming in here that I had the same issue upgrading from 1.2.0 to 1.5.1 related to SQLite migration but my error message was slightly different around the server.secret variable in the TypeScript file. I was able to upgrade to 1.3.2. I'll see if I can attempt another migration from 1.3.2 to 1.5.1 and try to reproduce the error.
Edit: strange, the migration from 1.3.2 to 1.5.1 went smoothly. I think it may have been 1.2 that was the problem
@scroguard commented on GitHub (Jun 19, 2025):
i will work on trying a fresh install, hopefully later today, or at the very latest tomorrow. i'll let you know my findings.
@scroguard commented on GitHub (Jun 20, 2025):
i just moved everything and performed a fresh install and the error persists. here are the logs after i logged in and started the config to create an organization, etc.:
n-1:/opt/pangolin# docker compose logs --follow
pangolin |
pangolin | > @fosrl/pangolin@0.0.0 start:sqlite
pangolin | > DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin |
pangolin | Running migrations...
pangolin | Migrations completed successfully.
pangolin | 2025-06-20T03:44:15.982Z [warn]: Email SMTP configuration is missing. Emails will not be sent.
pangolin | 2025-06-20T03:44:16.234Z [info]: Server admin created
pangolin | 2025-06-20T03:44:17.765Z [info]: API server is running on http://localhost:3000
pangolin | 2025-06-20T03:44:17.765Z [info]: Internal server is running on http://localhost:3001
pangolin | 2025-06-20T03:44:19.097Z [info]: Next.js server is running on http://localhost:3002
pangolin | 2025-06-20T03:44:22.640Z [info]: Created new exit node Exit Node 0mMnIPy1 with address 100.89.128.1/24 and port 51820
gerbil | INFO: 2025/06/20 03:44:22 Fetching remote config from http://pangolin:3001/api/v1/gerbil/get-config
gerbil | INFO: 2025/06/20 03:44:22 Created WireGuard interface wg0
gerbil | INFO: 2025/06/20 03:44:22 Assigned IP address 100.89.128.1/24 to interface wg0
gerbil | INFO: 2025/06/20 03:44:22 Attempting to delete existing MSS clamping rule for chain INPUT
gerbil | INFO: 2025/06/20 03:44:22 Attempting to delete existing MSS clamping rule for chain OUTPUT
gerbil | INFO: 2025/06/20 03:44:22 Attempting to delete existing MSS clamping rule for chain FORWARD
gerbil | INFO: 2025/06/20 03:44:22 Adding MSS clamping rule for chain INPUT
gerbil | INFO: 2025/06/20 03:44:22 Successfully added and verified MSS clamping rule for chain INPUT
gerbil | INFO: 2025/06/20 03:44:22 Adding MSS clamping rule for chain OUTPUT
gerbil | INFO: 2025/06/20 03:44:22 Successfully added and verified MSS clamping rule for chain OUTPUT
gerbil | INFO: 2025/06/20 03:44:22 Adding MSS clamping rule for chain FORWARD
gerbil | INFO: 2025/06/20 03:44:22 Successfully added and verified MSS clamping rule for chain FORWARD
gerbil | INFO: 2025/06/20 03:44:22 WireGuard interface wg0 created and configured
gerbil | INFO: 2025/06/20 03:44:22 Starting server on :3003
traefik | 2025-06-20T03:44:24Z INF Traefik version 3.4.1 built on 2025-05-27T12:45:16Z version=3.4.1
traefik | 2025-06-20T03:44:24Z INF
traefik | Stats collection is disabled.
traefik | Help us improve Traefik by turning this feature on :)
traefik | More details on: https://doc.traefik.io/traefik/contributing/data-collection/
traefik |
traefik | 2025-06-20T03:44:24Z INF Loading plugins... plugins=["badger"]
traefik | 2025-06-20T03:44:24Z INF Plugins loaded. plugins=["badger"]
traefik | 2025-06-20T03:44:24Z INF Starting provider aggregator *aggregator.ProviderAggregator
traefik | 2025-06-20T03:44:24Z INF Starting provider *file.Provider
traefik | 2025-06-20T03:44:24Z INF Starting provider *traefik.Provider
traefik | 2025-06-20T03:44:24Z INF Starting provider *acme.ChallengeTLSALPN
traefik | 2025-06-20T03:44:24Z INF Starting provider *http.Provider
traefik | 2025-06-20T03:44:24Z INF Starting provider *acme.Provider
traefik | 2025-06-20T03:44:24Z INF Testing certificate renew... acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=letsencrypt.acme
traefik | 2025-06-20T03:44:35Z INF Register... providerName=letsencrypt.acme
pangolin | npm error path /app
pangolin | npm error command failed
pangolin | npm error signal SIGILL
pangolin | npm error command sh -c DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin | npm notice
pangolin | npm notice New major version of npm available! 10.8.2 -> 11.4.2
pangolin | npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.4.2
pangolin | npm notice To update run: npm install -g npm@11.4.2
pangolin | npm notice
pangolin | npm error A complete log of this run can be found in: /root/.npm/_logs/2025-06-20T03_44_11_899Z-debug-0.log
pangolin exited with code 0
pangolin |
pangolin | > @fosrl/pangolin@0.0.0 start:sqlite
pangolin | > DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin |
gerbil | INFO: 2025/06/20 03:45:32 Failed to report peer bandwidth: failed to send bandwidth data: Post "http://pangolin:3001/api/v1/gerbil/receive-bandwidth": dial tcp 172.18.0.2:3001: connect: connection refused
pangolin | Starting migrations from version 1.5.1
pangolin | Migrations to run:
pangolin | All migrations completed successfully
traefik | 2025-06-20T03:45:34Z ERR Provider error, retrying in 665.461259ms error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http
pangolin | 2025-06-20T03:45:35.333Z [warn]: Email SMTP configuration is missing. Emails will not be sent.
traefik | 2025-06-20T03:45:35Z ERR Provider error, retrying in 636.186847ms error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http
pangolin | 2025-06-20T03:45:36.479Z [info]: API server is running on http://localhost:3000
pangolin | 2025-06-20T03:45:36.479Z [info]: Internal server is running on http://localhost:3001
pangolin | 2025-06-20T03:45:37.955Z [info]: Next.js server is running on http://localhost:3002
pangolin | npm error path /app
pangolin | npm error command failed
pangolin | npm error signal SIGILL
pangolin | npm error command sh -c DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin | npm error A complete log of this run can be found in: /root/.npm/_logs/2025-06-20T03_45_32_145Z-debug-0.log
pangolin exited with code 1
pangolin |
pangolin | > @fosrl/pangolin@0.0.0 start:sqlite
pangolin | > DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin |
pangolin | Starting migrations from version 1.5.1
pangolin | Migrations to run:
pangolin | All migrations completed successfully
traefik | 2025-06-20T03:45:41Z ERR Provider error, retrying in 1.009836991s error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http
traefik | 2025-06-20T03:45:42Z ERR Provider error, retrying in 2.51964684s error="cannot fetch configuration data: do fetch request: Get "http://pangolin:3001/api/v1/traefik-config": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http
gerbil | INFO: 2025/06/20 03:45:42 Failed to report peer bandwidth: failed to send bandwidth data: Post "http://pangolin:3001/api/v1/gerbil/receive-bandwidth": dial tcp 172.18.0.2:3001: connect: connection refused
pangolin | 2025-06-20T03:45:43.971Z [warn]: Email SMTP configuration is missing. Emails will not be sent.
pangolin | 2025-06-20T03:45:45.088Z [info]: API server is running on http://localhost:3000
pangolin | 2025-06-20T03:45:45.089Z [info]: Internal server is running on http://localhost:3001
pangolin | 2025-06-20T03:45:46.512Z [info]: Next.js server is running on http://localhost:3002
@oschwartz10612 commented on GitHub (Jun 22, 2025):
I wonder if this is simply something in a binary of a newer package or something that is not playing nice with your older CPU arch? What generation is your CPU?
@scroguard commented on GitHub (Jun 23, 2025):
i'm actually testing this theory soon. i'll let you know my findings.
@scroguard commented on GitHub (Jun 23, 2025):
alright, that seems to be what the issue is. i spun up a quick vm and installed the latest version of pangolin to it and it ran without any issues. i then migrated my config over to the new installation and fired pangolin up on the latest version and it again ran without issue.
so i'll be replacing this piece of equipment with something else in order to get past this issue. for reference, the cpu is an intel pentium dual-core e5300, a fairly old piece of kit. it appears to be in the wolfdale family of processors. i couldn't tell you exactly what binary is causing the issue based on what i saw in the logs, but a newer cpu defintely did the trick.
@parsoli commented on GitHub (Jun 23, 2025):
hmmmmm. Don't know about that. I had the upgrade problem and I'm running a 'newer' than Pentium 4 x Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz (1 Socket). Which is from end of 2015/early 2016......you tested a new install on a VM right? How about a previous version and then an upgrade? I have a feeling it's something with the upgrade process.
@scroguard commented on GitHub (Jul 3, 2025):
i did test the new install on a vm. after it started successfully, i shut the stack down and copied my config folder over to the vm and started the stack again. everything still worked. i tried to replicate this on my existing host. i shut the stack down, backed up my config and purged everything. i setup a fresh install of the latest version and it started crashing immediately upon attempting to load the web interface.
the only thing i haven't had a chance to do yet is perform a stress test and/or memory test on the hardware. i suppose it could be an issue with the upgrade process, or it could legitimately be an issue with hardware. i'll need to try and find some time to do further testing after i swap out my existing setup so i can get the latest version working with my services.
@oschwartz10612 commented on GitHub (Jul 3, 2025):
Thanks for the update. It feels like hardware to me but I dont have much more than a feeling and the bad instruction sig fault issue we are seeing. I think this seems to be fairly isolated but would appreciate any testing you end up doing!
@VujaDe commented on GitHub (Aug 3, 2025):
I'm also experiencing the same npm error when I attempt to use the web interface. The container seems to crash on interaction (clicking a menu item or a submit button) and then comes back, and the cycle repeats.
I completely wiped my Debian 12 install and started afresh, installing Pangolin straight away on first boot, and no change.
Again, not cutting edge hardware: OVH Kimsufi server which is an ATOM N2800 and 4GB Ram.
Very green when it comes to this sort of thing, but I reckon I can provide logs if helpful.