Hello,
Ive created a new instance of Gitea-Mirror for a new Gitea Server just to have a fresh install and currently the service is crashing.
Oct 15 07:54:32 gitea-mirror bun[436]: [Scheduler] Skipping user xxxxxxxxxx - next run at 2026-10-15T09:30:00.000Z
Oct 15 07:54:32 gitea-mirror bun[436]: GET /user/starred?per_page=100 - 200 with id DCCA:3A3BA2:678A625:9C5D505:6AD06A97 in 1327ms
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping waqarkalim/holiday-optimizer - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping jamesstringer90/Easy-GPU-PV - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping jagandeepbrar/lunasea - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping MGHazz/huntarr.io-archive - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] No orphaned repositories found for user xxxxxxxxxx
Oct 15 07:55:32 gitea-mirror bun[436]: [Scheduler] Processing 1 valid configurations (out of 1 with scheduling enabled)
Oct 15 07:55:32 gitea-mirror bun[436]: [Scheduler] Skipping user xxxxxxxxxx - next run at 2026-10-15T09:30:00.000Z
Oct 15 07:56:32 gitea-mirror bun[436]: [Scheduler] Processing 1 valid configurations (out of 1 with scheduling enabled)
Oct 15 07:56:32 gitea-mirror bun[436]: [Scheduler] Skipping user xxxxxxxxxx - next run at 2026-10-15T09:30:00.000Z
Oct 15 07:56:52 gitea-mirror bun[436]: 💥 Uncaught Exception: 39 | }
Oct 15 07:56:52 gitea-mirror bun[436]: 40 | }, 3e4);
Oct 15 07:56:52 gitea-mirror bun[436]: 41 | request.signal.addEventListener("abort", () => {
Oct 15 07:56:52 gitea-mirror bun[436]: 42 | clearInterval(pollInterval);
Oct 15 07:56:52 gitea-mirror bun[436]: 43 | clearInterval(heartbeatInterval);
Oct 15 07:56:52 gitea-mirror bun[436]: 44 | controller.close();
Oct 15 07:56:52 gitea-mirror bun[436]: ^
Oct 15 07:56:52 gitea-mirror bun[436]: TypeError: Invalid state: Controller is already closed
Oct 15 07:56:52 gitea-mirror bun[436]: code: "ERR_INVALID_STATE"
Oct 15 07:56:52 gitea-mirror bun[436]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 07:56:52 gitea-mirror bun[436]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7181:47)
Oct 15 07:56:52 gitea-mirror bun[436]: at emit (node:events:118:23)
Oct 15 07:56:52 gitea-mirror bun[436]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 07:56:52 gitea-mirror bun[436]: Stack trace: TypeError: Invalid state: Controller is already closed
Oct 15 07:56:52 gitea-mirror bun[436]: at close (unknown)
Oct 15 07:56:52 gitea-mirror bun[436]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 07:56:52 gitea-mirror bun[436]: at abort (unknown)
Oct 15 07:56:52 gitea-mirror bun[436]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7181:47)
Oct 15 07:56:52 gitea-mirror bun[436]: at emit (node:events:118:23)
Oct 15 07:56:52 gitea-mirror bun[436]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 07:56:52 gitea-mirror bun[436]: at processTicksAndRejections (native:7:39)
Oct 15 07:56:52 gitea-mirror bun[436]: Initiating emergency shutdown due to uncaught exception...
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Graceful shutdown initiated by signal: UNCAUGHT_EXCEPTION
Oct 15 07:56:52 gitea-mirror bun[436]: 📊 Shutdown status: 0 active jobs, 3 callbacks
Oct 15 07:56:52 gitea-mirror bun[436]: 📝 Step 1: Saving active job states...
Oct 15 07:56:52 gitea-mirror bun[436]: No active jobs to save
Oct 15 07:56:52 gitea-mirror bun[436]: 🔧 Step 2: Executing shutdown callbacks...
Oct 15 07:56:52 gitea-mirror bun[436]: Executing 3 shutdown callbacks...
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Shutting down cleanup service...
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Stopping cleanup service...
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Cleanup service stopped
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Shutting down scheduler service...
Oct 15 07:56:52 gitea-mirror bun[436]: [Scheduler] Scheduler service stopped
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Shutting down repository cleanup service...
Oct 15 07:56:52 gitea-mirror bun[436]: [Repository Cleanup] Service stopped
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Shutdown callback 1 completed
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Shutdown callback 2 completed
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Shutdown callback 3 completed
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Completed all shutdown callbacks
Oct 15 07:56:52 gitea-mirror bun[436]: 💾 Step 3: Closing database connections...
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Graceful shutdown completed successfully
Oct 15 07:56:52 gitea-mirror systemd[1]: gitea-mirror.service: Deactivated successfully.
Oct 15 07:56:52 gitea-mirror systemd[1]: gitea-mirror.service: Consumed 1.644s CPU time, 120.7M memory peak.
The service has been installed in a Proxmox LXC container.
Side note, when the service is running the web-ui shows only the configuration page.
Repositories and organizations are pulsating as when they are loading. In the browser console there is no warning or error message.
Hello,
Ive created a new instance of Gitea-Mirror for a new Gitea Server just to have a fresh install and currently the service is crashing.
```
Oct 15 07:54:32 gitea-mirror bun[436]: [Scheduler] Skipping user xxxxxxxxxx - next run at 2026-10-15T09:30:00.000Z
Oct 15 07:54:32 gitea-mirror bun[436]: GET /user/starred?per_page=100 - 200 with id DCCA:3A3BA2:678A625:9C5D505:6AD06A97 in 1327ms
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping waqarkalim/holiday-optimizer - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping jamesstringer90/Easy-GPU-PV - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping jagandeepbrar/lunasea - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping MGHazz/huntarr.io-archive - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] Skipping clemone210/xx - already archived
Oct 15 07:54:32 gitea-mirror bun[436]: [Repository Cleanup] No orphaned repositories found for user xxxxxxxxxx
Oct 15 07:55:32 gitea-mirror bun[436]: [Scheduler] Processing 1 valid configurations (out of 1 with scheduling enabled)
Oct 15 07:55:32 gitea-mirror bun[436]: [Scheduler] Skipping user xxxxxxxxxx - next run at 2026-10-15T09:30:00.000Z
Oct 15 07:56:32 gitea-mirror bun[436]: [Scheduler] Processing 1 valid configurations (out of 1 with scheduling enabled)
Oct 15 07:56:32 gitea-mirror bun[436]: [Scheduler] Skipping user xxxxxxxxxx - next run at 2026-10-15T09:30:00.000Z
Oct 15 07:56:52 gitea-mirror bun[436]: 💥 Uncaught Exception: 39 | }
Oct 15 07:56:52 gitea-mirror bun[436]: 40 | }, 3e4);
Oct 15 07:56:52 gitea-mirror bun[436]: 41 | request.signal.addEventListener("abort", () => {
Oct 15 07:56:52 gitea-mirror bun[436]: 42 | clearInterval(pollInterval);
Oct 15 07:56:52 gitea-mirror bun[436]: 43 | clearInterval(heartbeatInterval);
Oct 15 07:56:52 gitea-mirror bun[436]: 44 | controller.close();
Oct 15 07:56:52 gitea-mirror bun[436]: ^
Oct 15 07:56:52 gitea-mirror bun[436]: TypeError: Invalid state: Controller is already closed
Oct 15 07:56:52 gitea-mirror bun[436]: code: "ERR_INVALID_STATE"
Oct 15 07:56:52 gitea-mirror bun[436]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 07:56:52 gitea-mirror bun[436]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7181:47)
Oct 15 07:56:52 gitea-mirror bun[436]: at emit (node:events:118:23)
Oct 15 07:56:52 gitea-mirror bun[436]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 07:56:52 gitea-mirror bun[436]: Stack trace: TypeError: Invalid state: Controller is already closed
Oct 15 07:56:52 gitea-mirror bun[436]: at close (unknown)
Oct 15 07:56:52 gitea-mirror bun[436]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 07:56:52 gitea-mirror bun[436]: at abort (unknown)
Oct 15 07:56:52 gitea-mirror bun[436]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7181:47)
Oct 15 07:56:52 gitea-mirror bun[436]: at emit (node:events:118:23)
Oct 15 07:56:52 gitea-mirror bun[436]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 07:56:52 gitea-mirror bun[436]: at processTicksAndRejections (native:7:39)
Oct 15 07:56:52 gitea-mirror bun[436]: Initiating emergency shutdown due to uncaught exception...
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Graceful shutdown initiated by signal: UNCAUGHT_EXCEPTION
Oct 15 07:56:52 gitea-mirror bun[436]: 📊 Shutdown status: 0 active jobs, 3 callbacks
Oct 15 07:56:52 gitea-mirror bun[436]: 📝 Step 1: Saving active job states...
Oct 15 07:56:52 gitea-mirror bun[436]: No active jobs to save
Oct 15 07:56:52 gitea-mirror bun[436]: 🔧 Step 2: Executing shutdown callbacks...
Oct 15 07:56:52 gitea-mirror bun[436]: Executing 3 shutdown callbacks...
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Shutting down cleanup service...
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Stopping cleanup service...
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Cleanup service stopped
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Shutting down scheduler service...
Oct 15 07:56:52 gitea-mirror bun[436]: [Scheduler] Scheduler service stopped
Oct 15 07:56:52 gitea-mirror bun[436]: 🛑 Shutting down repository cleanup service...
Oct 15 07:56:52 gitea-mirror bun[436]: [Repository Cleanup] Service stopped
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Shutdown callback 1 completed
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Shutdown callback 2 completed
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Shutdown callback 3 completed
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Completed all shutdown callbacks
Oct 15 07:56:52 gitea-mirror bun[436]: 💾 Step 3: Closing database connections...
Oct 15 07:56:52 gitea-mirror bun[436]: ✅ Graceful shutdown completed successfully
Oct 15 07:56:52 gitea-mirror systemd[1]: gitea-mirror.service: Deactivated successfully.
Oct 15 07:56:52 gitea-mirror systemd[1]: gitea-mirror.service: Consumed 1.644s CPU time, 120.7M memory peak.
```
The service has been installed in a Proxmox LXC container.
Side note, when the service is running the web-ui shows only the configuration page.
Repositories and organizations are pulsating as when they are loading. In the browser console there is no warning or error message.
<!-- github-sync-id:5861055753 -->
15 10:21:25 gitea-mirror bun[25453]: [Repository Cleanup] Skipping proxmox/vzquota - already archived
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler]24 repositories listed by source GitHub (XXX) are already tracked for user cgINKObx5R3XUQpzDS7JpVIZvnnGPvKy on the same host; not adding them again
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] No new repositories found for user XXX on source GitHub (XXX)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Skipped 1 disabled repositories for user XXX on source GitHub (XXX)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] User XXX already has mirrored repositories, skipping initial mirror (let regular sync handle updates)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Next sync for user XXX scheduled for: 2026-10-15T10:00:00.000Z (in 1h) using cron "0 8,10,12,14,16,18,20,22,0,2,4,6 * * *"[timezone=UTC]
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Scheduling enabled for user XXX, next sync at 2026-10-15T10:00:00.000Z
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Initial auto-start completed
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Scheduler service started, checking every 1m for scheduled tasks
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] To trigger manual sync, check your configuration intervals and ensure SCHEDULE_ENABLED=true or use GITEA_MIRROR_INTERVAL
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Processing 1 valid configurations (out of 1 with scheduling enabled)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Skipping user XXX- next run at 2026-10-15T10:00:00.000Z
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/community-scripts/services - 200 with id 47AF:AFD2B:118D953:1A91D31:6AD08D05 in 326ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/community-scripts/Incus - 200 with id 8DD8:19FDD4:113FC6F:1A467D7:6AD08D05 in 355ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-docs - 200 with id 81A3:EA004:1199575:1A9E6BB:6AD08D05 in 365ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-log-tracker - 200 with id 2501:B2B75:117DA67:1A8199F:6AD08D05 in 361ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-offline-mirror - 200 with id 8E24:23CDC2:133159A:1C3711C:6AD08D05 in 358ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-rrd-migration-tool - 200 with id 59CB:ADDDC:10C62B7:19CA483:6AD08D05 in 395ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-gui - 200 with id 7BFF:B1DA4:10ED2E3:19EFB12:6AD08D05 in 405ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-api - 200 with id EC05:19FDD4:113FC77:1A467E5:6AD08D05 in 432ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-yew-quarantine-gui - 200 with id EF11:C7AD3:12A378E:1BA6702:6AD08D05 in 422ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/community-scripts/telemetry-service - 200 with id A65F:AC787:118A033:1A8EFC9:6AD08D06 in 646ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-vma - 200 with id 47AF:AFD2B:118D9E0:1A91DE4:6AD08D06 in 331ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-comp - 200 with id 8E24:23CDC2:1331646:1C3721A:6AD08D06 in 335ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-websocket-tunnel - 200 with id 8DD8:19FDD4:113FD0B:1A468C0:6AD08D06 in 381ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-widget-toolkit - 200 with id EC05:19FDD4:113FD29:1A468F5:6AD08D06 in 337ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-widget-toolkit-assets - 200 with id 81A3:EA004:119963C:1A9E79B:6AD08D06 in 341ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-widget-toolkit-examples - 200 with id 2501:B2B75:117DB32:1A81AAE:6AD08D06 in 324ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pve-rs - 200 with id 59CB:ADDDC:10C6394:19CA58C:6AD08D06 in 341ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pve-yew-mobile-gui - 200 with id 7BFF:B1DA4:10ED3A0:19EFC31:6AD08D06 in 365ms
Oct 15 10:21:26 gitea-mirror bun[25453]: [Repository Cleanup] No orphaned repositories found for user cgINKObx5R3XUQpzDS7JpVIZvnnGPvKy
Oct 15 10:21:28 gitea-mirror bun[25453]: 💥 Uncaught Exception: 39|}
Oct 15 10:21:28 gitea-mirror bun[25453]: 40|}, 3e4);
Oct 15 10:21:28 gitea-mirror bun[25453]: 41| request.signal.addEventListener("abort", ()=> {
Oct 15 10:21:28 gitea-mirror bun[25453]: 42| clearInterval(pollInterval);
Oct 15 10:21:28 gitea-mirror bun[25453]: 43| clearInterval(heartbeatInterval);
Oct 15 10:21:28 gitea-mirror bun[25453]: 44| controller.close();
Oct 15 10:21:28 gitea-mirror bun[25453]: ^
Oct 15 10:21:28 gitea-mirror bun[25453]: TypeError: Invalid state: Controller is already closed
Oct 15 10:21:28 gitea-mirror bun[25453]: code: "ERR_INVALID_STATE"
Oct 15 10:21:28 gitea-mirror bun[25453]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 10:21:28 gitea-mirror bun[25453]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7175:47)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emit (node:events:118:23)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 10:21:28 gitea-mirror bun[25453]: Stack trace: TypeError: Invalid state: Controller is already closed
Oct 15 10:21:28 gitea-mirror bun[25453]: at close (unknown)
Oct 15 10:21:28 gitea-mirror bun[25453]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 10:21:28 gitea-mirror bun[25453]: at abort (unknown)
Oct 15 10:21:28 gitea-mirror bun[25453]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7175:47)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emit (node:events:118:23)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 10:21:28 gitea-mirror bun[25453]: at processTicksAndRejections (native:7:39)
Oct 15 10:21:28 gitea-mirror bun[25453]: Initiating emergency shutdown due to uncaught exception...
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Graceful shutdown initiated by signal: UNCAUGHT_EXCEPTION
Oct 15 10:21:28 gitea-mirror bun[25453]: 📊 Shutdown status: 0 active jobs, 3 callbacks
Oct 15 10:21:28 gitea-mirror bun[25453]: 📝 Step 1: Saving active job states...
Oct 15 10:21:28 gitea-mirror bun[25453]: No active jobs to save
Oct 15 10:21:28 gitea-mirror bun[25453]: 🔧 Step 2: Executing shutdown callbacks...
Oct 15 10:21:28 gitea-mirror bun[25453]: Executing 3 shutdown callbacks...
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Shutting down cleanup service...
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Stopping cleanup service...
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Cleanup service stopped
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Shutting down scheduler service...
Oct 15 10:21:28 gitea-mirror bun[25453]: [Scheduler] Scheduler service stopped
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Shutting down repository cleanup service...
Oct 15 10:21:28 gitea-mirror bun[25453]: [Repository Cleanup] Service stopped
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Shutdown callback 1 completed
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Shutdown callback 2 completed
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Shutdown callback 3 completed
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Completed all shutdown callbacks
Oct 15 10:21:28 gitea-mirror bun[25453]: 💾 Step 3: Closing database connections...
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Graceful shutdown completed successfully
Oct 15 10:21:28 gitea-mirror systemd[1]: gitea-mirror.service: Deactivated successfully.
Oct 15 10:21:28 gitea-mirror systemd[1]: gitea-mirror.service: Consumed 2.517s CPU time, 207.3M memory peak.
Same for me
@arunavo4
```bash
15 10:21:25 gitea-mirror bun[25453]: [Repository Cleanup] Skipping proxmox/vzquota - already archived
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] 24 repositories listed by source GitHub (XXX) are already tracked for user cgINKObx5R3XUQpzDS7JpVIZvnnGPvKy on the same host; not adding them again
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] No new repositories found for user XXX on source GitHub (XXX)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Skipped 1 disabled repositories for user XXX on source GitHub (XXX)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] User XXX already has mirrored repositories, skipping initial mirror (let regular sync handle updates)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Next sync for user XXX scheduled for: 2026-10-15T10:00:00.000Z (in 1h) using cron "0 8,10,12,14,16,18,20,22,0,2,4,6 * * *" [timezone=UTC]
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Scheduling enabled for user XXX, next sync at 2026-10-15T10:00:00.000Z
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Initial auto-start completed
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Scheduler service started, checking every 1m for scheduled tasks
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] To trigger manual sync, check your configuration intervals and ensure SCHEDULE_ENABLED=true or use GITEA_MIRROR_INTERVAL
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Processing 1 valid configurations (out of 1 with scheduling enabled)
Oct 15 10:21:25 gitea-mirror bun[25453]: [Scheduler] Skipping user XXX- next run at 2026-10-15T10:00:00.000Z
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/community-scripts/services - 200 with id 47AF:AFD2B:118D953:1A91D31:6AD08D05 in 326ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/community-scripts/Incus - 200 with id 8DD8:19FDD4:113FC6F:1A467D7:6AD08D05 in 355ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-docs - 200 with id 81A3:EA004:1199575:1A9E6BB:6AD08D05 in 365ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-log-tracker - 200 with id 2501:B2B75:117DA67:1A8199F:6AD08D05 in 361ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-offline-mirror - 200 with id 8E24:23CDC2:133159A:1C3711C:6AD08D05 in 358ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-rrd-migration-tool - 200 with id 59CB:ADDDC:10C62B7:19CA483:6AD08D05 in 395ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-gui - 200 with id 7BFF:B1DA4:10ED2E3:19EFB12:6AD08D05 in 405ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-api - 200 with id EC05:19FDD4:113FC77:1A467E5:6AD08D05 in 432ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pmg-yew-quarantine-gui - 200 with id EF11:C7AD3:12A378E:1BA6702:6AD08D05 in 422ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/community-scripts/telemetry-service - 200 with id A65F:AC787:118A033:1A8EFC9:6AD08D06 in 646ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-vma - 200 with id 47AF:AFD2B:118D9E0:1A91DE4:6AD08D06 in 331ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-comp - 200 with id 8E24:23CDC2:1331646:1C3721A:6AD08D06 in 335ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-websocket-tunnel - 200 with id 8DD8:19FDD4:113FD0B:1A468C0:6AD08D06 in 381ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-widget-toolkit - 200 with id EC05:19FDD4:113FD29:1A468F5:6AD08D06 in 337ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-widget-toolkit-assets - 200 with id 81A3:EA004:119963C:1A9E79B:6AD08D06 in 341ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/proxmox-yew-widget-toolkit-examples - 200 with id 2501:B2B75:117DB32:1A81AAE:6AD08D06 in 324ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pve-rs - 200 with id 59CB:ADDDC:10C6394:19CA58C:6AD08D06 in 341ms
Oct 15 10:21:26 gitea-mirror bun[25453]: GET /repos/proxmox/pve-yew-mobile-gui - 200 with id 7BFF:B1DA4:10ED3A0:19EFC31:6AD08D06 in 365ms
Oct 15 10:21:26 gitea-mirror bun[25453]: [Repository Cleanup] No orphaned repositories found for user cgINKObx5R3XUQpzDS7JpVIZvnnGPvKy
Oct 15 10:21:28 gitea-mirror bun[25453]: 💥 Uncaught Exception: 39 | }
Oct 15 10:21:28 gitea-mirror bun[25453]: 40 | }, 3e4);
Oct 15 10:21:28 gitea-mirror bun[25453]: 41 | request.signal.addEventListener("abort", () => {
Oct 15 10:21:28 gitea-mirror bun[25453]: 42 | clearInterval(pollInterval);
Oct 15 10:21:28 gitea-mirror bun[25453]: 43 | clearInterval(heartbeatInterval);
Oct 15 10:21:28 gitea-mirror bun[25453]: 44 | controller.close();
Oct 15 10:21:28 gitea-mirror bun[25453]: ^
Oct 15 10:21:28 gitea-mirror bun[25453]: TypeError: Invalid state: Controller is already closed
Oct 15 10:21:28 gitea-mirror bun[25453]: code: "ERR_INVALID_STATE"
Oct 15 10:21:28 gitea-mirror bun[25453]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 10:21:28 gitea-mirror bun[25453]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7175:47)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emit (node:events:118:23)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 10:21:28 gitea-mirror bun[25453]: Stack trace: TypeError: Invalid state: Controller is already closed
Oct 15 10:21:28 gitea-mirror bun[25453]: at close (unknown)
Oct 15 10:21:28 gitea-mirror bun[25453]: at <anonymous> (/opt/gitea-mirror/dist/server/chunks/index_BaDbZqky.mjs:44:15)
Oct 15 10:21:28 gitea-mirror bun[25453]: at abort (unknown)
Oct 15 10:21:28 gitea-mirror bun[25453]: at onSocketClose (/opt/gitea-mirror/dist/server/entry.mjs:7175:47)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emit (node:events:118:23)
Oct 15 10:21:28 gitea-mirror bun[25453]: at emitCloseNT (internal:streams/destroy:78:14)
Oct 15 10:21:28 gitea-mirror bun[25453]: at processTicksAndRejections (native:7:39)
Oct 15 10:21:28 gitea-mirror bun[25453]: Initiating emergency shutdown due to uncaught exception...
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Graceful shutdown initiated by signal: UNCAUGHT_EXCEPTION
Oct 15 10:21:28 gitea-mirror bun[25453]: 📊 Shutdown status: 0 active jobs, 3 callbacks
Oct 15 10:21:28 gitea-mirror bun[25453]: 📝 Step 1: Saving active job states...
Oct 15 10:21:28 gitea-mirror bun[25453]: No active jobs to save
Oct 15 10:21:28 gitea-mirror bun[25453]: 🔧 Step 2: Executing shutdown callbacks...
Oct 15 10:21:28 gitea-mirror bun[25453]: Executing 3 shutdown callbacks...
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Shutting down cleanup service...
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Stopping cleanup service...
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Cleanup service stopped
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Shutting down scheduler service...
Oct 15 10:21:28 gitea-mirror bun[25453]: [Scheduler] Scheduler service stopped
Oct 15 10:21:28 gitea-mirror bun[25453]: 🛑 Shutting down repository cleanup service...
Oct 15 10:21:28 gitea-mirror bun[25453]: [Repository Cleanup] Service stopped
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Shutdown callback 1 completed
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Shutdown callback 2 completed
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Shutdown callback 3 completed
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Completed all shutdown callbacks
Oct 15 10:21:28 gitea-mirror bun[25453]: 💾 Step 3: Closing database connections...
Oct 15 10:21:28 gitea-mirror bun[25453]: ✅ Graceful shutdown completed successfully
Oct 15 10:21:28 gitea-mirror systemd[1]: gitea-mirror.service: Deactivated successfully.
Oct 15 10:21:28 gitea-mirror systemd[1]: gitea-mirror.service: Consumed 2.517s CPU time, 207.3M memory peak.
```
Same for me
<!-- github-comment-id:6187802366 -->
v3.40.3 seems to also have this issue.
But remember to always take backups, downgrading may break something in the app.
@clemone210 feel free to downgrade with the following command:
```bash
rm .gitea-mirror
var_appversion="v3.40.2" bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/gitea-mirror.sh)"
```
v3.40.3 seems to also have this issue.
But remember to always take backups, downgrading may break something in the app.
<!-- github-comment-id:6188111543 -->
Thanks both, reproduced. The trigger is Bun 1.4 (the Proxmox script installs the latest Bun, currently 1.4.3). On 1.4 a client disconnect from the dashboard's event stream closes the stream before our cleanup runs, our cleanup then throws, and the process shuts itself down. The shutdown also exited with status 0, so systemd's Restart=on-failure never brought it back. Both are fixed in #466 and will ship as v3.40.5 shortly.
Pinning the app version with var_appversion won't help on its own, since the script still installs the latest Bun. Until the release, putting Bun 1.3.14 back in the container avoids it:
Docker images are not affected (they ship Bun 1.3.14).
Thanks both, reproduced. The trigger is Bun 1.4 (the Proxmox script installs the latest Bun, currently 1.4.3). On 1.4 a client disconnect from the dashboard's event stream closes the stream before our cleanup runs, our cleanup then throws, and the process shuts itself down. The shutdown also exited with status 0, so systemd's `Restart=on-failure` never brought it back. Both are fixed in #466 and will ship as v3.40.5 shortly.
Pinning the app version with `var_appversion` won't help on its own, since the script still installs the latest Bun. Until the release, putting Bun 1.3.14 back in the container avoids it:
```bash
curl -fsSL https://bun.sh/install | BUN_INSTALL=/opt/bun bash -s "bun-v1.3.14"
systemctl restart gitea-mirror
```
Docker images are not affected (they ship Bun 1.3.14).
<!-- github-comment-id:6192226437 -->
@arunavo4 out of any reason, it gets immediately SIGKILLED (tried multiple times), even though there seems to be no real RAM spike and only a small CPU spike.
root@gitea-mirror:~# cd /opt/gitea-mirror
root@gitea-mirror:/opt/gitea-mirror# bun run setup
$ bun install && bun run manage-db init
bun install v1.4.3 (c6da4a4d3)
Checked 790 installs across 924 packages (no changes)[355.00ms]
$ bun scripts/manage-db.ts init
📦 Initializing database...
🔄 Running migrations...
✅ Migrations completed successfully
✅ Database initialized successfully
root@gitea-mirror:/opt/gitea-mirror# bun run build
$ bunx --bun astro build
16:12:15 [@astrojs/node] Enabling sessions with filesystem storage
16:12:15 [vite] Re-optimizing dependencies because vite config has changed
16:12:15 [types] Generated 224ms
16:12:15 [build] output: "server"
16:12:15 [build] mode: "server"
16:12:15 [build] directory: /opt/gitea-mirror/dist/
16:12:15 [build] adapter: @astrojs/node
16:12:15 [build] Collecting build info...
16:12:15 [build] ✓ Completed in 281ms.
16:12:15 [build] Building server entrypoints...
16:12:16 [vite] ✓ built in 286ms
error: script "build" was terminated by signal SIGKILL (Forced quit)
Killed
@arunavo4 out of any reason, it gets immediately SIGKILLED (tried multiple times), even though there seems to be no real RAM spike and only a small CPU spike.
```bash
root@gitea-mirror:~# cd /opt/gitea-mirror
root@gitea-mirror:/opt/gitea-mirror# bun run setup
$ bun install && bun run manage-db init
bun install v1.4.3 (c6da4a4d3)
Checked 790 installs across 924 packages (no changes) [355.00ms]
$ bun scripts/manage-db.ts init
📦 Initializing database...
🔄 Running migrations...
✅ Migrations completed successfully
✅ Database initialized successfully
root@gitea-mirror:/opt/gitea-mirror# bun run build
$ bunx --bun astro build
16:12:15 [@astrojs/node] Enabling sessions with filesystem storage
16:12:15 [vite] Re-optimizing dependencies because vite config has changed
16:12:15 [types] Generated 224ms
16:12:15 [build] output: "server"
16:12:15 [build] mode: "server"
16:12:15 [build] directory: /opt/gitea-mirror/dist/
16:12:15 [build] adapter: @astrojs/node
16:12:15 [build] Collecting build info...
16:12:15 [build] ✓ Completed in 281ms.
16:12:15 [build] Building server entrypoints...
16:12:16 [vite] ✓ built in 286ms
error: script "build" was terminated by signal SIGKILL (Forced quit)
Killed
```
<img width="582" height="287" alt="Image" src="https://github.com/user-attachments/assets/8e55d77b-de84-446b-93e4-b02349904ecf" />
<img width="582" height="287" alt="Image" src="https://github.com/user-attachments/assets/32ed411d-1cb1-4f07-abd0-7ab9f3110440" />
<!-- github-comment-id:6194190938 -->
Thanks. That is a different failure from the one fixed in v3.40.5, and I could not reproduce it. On a Debian 13 host with Bun 1.4.3, the v3.40.5 build peaks at about 750 MB. It passes under a 2 GiB cgroup limit, inside an unprivileged LXC with 2 GiB as root, and on a 16-core host with a 2-core quota. A SIGKILL with no error from Bun or Vite is almost always the kernel's OOM killer, so something on that container is using the rest of the 2 GiB, or the host itself is short. Two things would pin it down:
and on the Proxmox host: dmesg -T | grep -iE 'oom|killed process' | tail. An oom_kill above 0 or a dmesg line names the culprit.
Does the build pass with the gitea-mirror service stopped first (systemctl stop gitea-mirror), or with the container memory temporarily raised to 4 GiB?
If this is the same container as your first report, the install build passed on it before, so anything that changed since (host updates, other containers) is useful too.
@CrazyWolf13 @clemone210
Thanks. That is a different failure from the one fixed in v3.40.5, and I could not reproduce it. On a Debian 13 host with Bun 1.4.3, the v3.40.5 build peaks at about 750 MB. It passes under a 2 GiB cgroup limit, inside an unprivileged LXC with 2 GiB as root, and on a 16-core host with a 2-core quota. A SIGKILL with no error from Bun or Vite is almost always the kernel's OOM killer, so something on that container is using the rest of the 2 GiB, or the host itself is short. Two things would pin it down:
1. Right after a failed build, inside the container:
```bash
cat /sys/fs/cgroup/memory.events; grep -E '^(anon|file) ' /sys/fs/cgroup/memory.stat
```
and on the Proxmox host: `dmesg -T | grep -iE 'oom|killed process' | tail`. An `oom_kill` above 0 or a dmesg line names the culprit.
2. Does the build pass with the gitea-mirror service stopped first (`systemctl stop gitea-mirror`), or with the container memory temporarily raised to 4 GiB?
If this is the same container as your first report, the install build passed on it before, so anything that changed since (host updates, other containers) is useful too.
@CrazyWolf13 @clemone210
<!-- github-comment-id:6195671944 -->
error: script "build" was terminated by signal SIGKILL (Forced quit)
Killed
root@gitea-mirror:/opt/gitea-mirror# cat /sys/fs/cgroup/memory.events; grep -E '^(anon|file) ' /sys/fs/cgroup/memory.stat
low 0
high 0
max 0
oom 0
oom_kill 4
oom_group_kill 0
sock_throttled 0
anon 10100736
file 42389504
root@gitea-mirror:/opt/gitea-mirror#
[Thu Oct 15 17:35:23 2026] node invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=0[Thu Oct 15 17:35:23 2026] oom_kill_process.cold+0x8/0x87
[Thu Oct 15 17:35:23 2026][ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[Thu Oct 15 17:35:23 2026] oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=ns,mems_allowed=0,oom_memcg=/lxc/147,task_memcg=/lxc/147/ns/user.slice/user-0.slice/session-c7.scope,task=node,pid=771903,uid=100000[Thu Oct 15 17:35:23 2026] Memory cgroup out of memory: Killed process 771903(node) total-vm:23434120kB, anon-rss:2061460kB, file-rss:8kB, shmem-rss:2148kB, UID:100000 pgtables:5696kB oom_score_adj:0
[Thu Oct 15 17:38:56 2026] node invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=0[Thu Oct 15 17:38:56 2026] oom_kill_process.cold+0x8/0x87
[Thu Oct 15 17:38:56 2026][ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[Thu Oct 15 17:38:56 2026] oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=ns,mems_allowed=0,oom_memcg=/lxc/147,task_memcg=/lxc/147/ns/user.slice/user-0.slice/session-c7.scope,task=node,pid=775168,uid=100000[Thu Oct 15 17:38:56 2026] Memory cgroup out of memory: Killed process 775168(node) total-vm:23370612kB, anon-rss:2041280kB, file-rss:8kB, shmem-rss:13748kB, UID:100000 pgtables:5676kB oom_score_adj:0
@arunavo4
The build is consistently OOM-killed in my Proxmox LXC (4 GiB RAM limit, 512 MiB swap), confirmed by the host's cgroup OOM logs. This persists with Bun 1.3.14 and 1.4.3, including when invoking Astro directly with bun --smol.
One possible lead: the project directory is around 28 GB, including large Git backup bundles under data/repo-backups/, which isn't excluded in .gitignore. Could Tailwind v4's automatic source detection be scanning these files and causing excessive memory usage? I haven't confirmed this yet.
```bash
error: script "build" was terminated by signal SIGKILL (Forced quit)
Killed
root@gitea-mirror:/opt/gitea-mirror# cat /sys/fs/cgroup/memory.events; grep -E '^(anon|file) ' /sys/fs/cgroup/memory.stat
low 0
high 0
max 0
oom 0
oom_kill 4
oom_group_kill 0
sock_throttled 0
anon 10100736
file 42389504
root@gitea-mirror:/opt/gitea-mirror#
```
```bash
[Thu Oct 15 17:35:23 2026] node invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=0
[Thu Oct 15 17:35:23 2026] oom_kill_process.cold+0x8/0x87
[Thu Oct 15 17:35:23 2026] [ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[Thu Oct 15 17:35:23 2026] oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=ns,mems_allowed=0,oom_memcg=/lxc/147,task_memcg=/lxc/147/ns/user.slice/user-0.slice/session-c7.scope,task=node,pid=771903,uid=100000
[Thu Oct 15 17:35:23 2026] Memory cgroup out of memory: Killed process 771903 (node) total-vm:23434120kB, anon-rss:2061460kB, file-rss:8kB, shmem-rss:2148kB, UID:100000 pgtables:5696kB oom_score_adj:0
[Thu Oct 15 17:38:56 2026] node invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=0
[Thu Oct 15 17:38:56 2026] oom_kill_process.cold+0x8/0x87
[Thu Oct 15 17:38:56 2026] [ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[Thu Oct 15 17:38:56 2026] oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=ns,mems_allowed=0,oom_memcg=/lxc/147,task_memcg=/lxc/147/ns/user.slice/user-0.slice/session-c7.scope,task=node,pid=775168,uid=100000
[Thu Oct 15 17:38:56 2026] Memory cgroup out of memory: Killed process 775168 (node) total-vm:23370612kB, anon-rss:2041280kB, file-rss:8kB, shmem-rss:13748kB, UID:100000 pgtables:5676kB oom_score_adj:0
```
@arunavo4
The build is consistently OOM-killed in my Proxmox LXC (4 GiB RAM limit, 512 MiB swap), confirmed by the host's cgroup OOM logs. This persists with Bun 1.3.14 and 1.4.3, including when invoking Astro directly with `bun --smol`.
One possible lead: the project directory is around 28 GB, including large Git backup bundles under `data/repo-backups/`, which isn't excluded in `.gitignore`. Could Tailwind v4's automatic source detection be scanning these files and causing excessive memory usage? I haven't confirmed this yet.
<!-- github-comment-id:6197138326 -->
Thanks, your lead was right. Tailwind scans every file under the project directory for class names during the build, and the default backup directory data/repo-backups sits inside it on source installs. I reproduced the kill with a 3 GB file there in a 2 GiB container, at the same line as your log, and #467 limits the scan to src/. The same container then builds in a few seconds.
@CrazyWolf13 v3.41.0 is out with the fix: https://github.com/RayLabsHQ/gitea-mirror/releases/tag/v3.41.0. Could you update and confirm the build goes through on your container? If it still gets killed, please post the dmesg lines again and the size of the largest file under data/repo-backups.
Thanks, your lead was right. Tailwind scans every file under the project directory for class names during the build, and the default backup directory `data/repo-backups` sits inside it on source installs. I reproduced the kill with a 3 GB file there in a 2 GiB container, at the same line as your log, and #467 limits the scan to `src/`. The same container then builds in a few seconds.
@CrazyWolf13 v3.41.0 is out with the fix: https://github.com/RayLabsHQ/gitea-mirror/releases/tag/v3.41.0. Could you update and confirm the build goes through on your container? If it still gets killed, please post the dmesg lines again and the size of the largest file under `data/repo-backups`.
<!-- github-comment-id:6197790321 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Hello,
Ive created a new instance of Gitea-Mirror for a new Gitea Server just to have a fresh install and currently the service is crashing.
The service has been installed in a Proxmox LXC container.
Side note, when the service is running the web-ui shows only the configuration page.
Repositories and organizations are pulsating as when they are loading. In the browser console there is no warning or error message.
@arunavo4
Same for me
@clemone210 feel free to downgrade with the following command:
v3.40.3 seems to also have this issue.
But remember to always take backups, downgrading may break something in the app.
Thanks both, reproduced. The trigger is Bun 1.4 (the Proxmox script installs the latest Bun, currently 1.4.3). On 1.4 a client disconnect from the dashboard's event stream closes the stream before our cleanup runs, our cleanup then throws, and the process shuts itself down. The shutdown also exited with status 0, so systemd's
Restart=on-failurenever brought it back. Both are fixed in #466 and will ship as v3.40.5 shortly.Pinning the app version with
var_appversionwon't help on its own, since the script still installs the latest Bun. Until the release, putting Bun 1.3.14 back in the container avoids it:Docker images are not affected (they ship Bun 1.3.14).
Appreciate the quick fix!
And I was already wondering, if our function is broken to pull in an older release :D
@arunavo4 out of any reason, it gets immediately SIGKILLED (tried multiple times), even though there seems to be no real RAM spike and only a small CPU spike.
@CrazyWolf13 will have to recreate this setup and will come back to you
Thanks. That is a different failure from the one fixed in v3.40.5, and I could not reproduce it. On a Debian 13 host with Bun 1.4.3, the v3.40.5 build peaks at about 750 MB. It passes under a 2 GiB cgroup limit, inside an unprivileged LXC with 2 GiB as root, and on a 16-core host with a 2-core quota. A SIGKILL with no error from Bun or Vite is almost always the kernel's OOM killer, so something on that container is using the rest of the 2 GiB, or the host itself is short. Two things would pin it down:
dmesg -T | grep -iE 'oom|killed process' | tail. Anoom_killabove 0 or a dmesg line names the culprit.systemctl stop gitea-mirror), or with the container memory temporarily raised to 4 GiB?If this is the same container as your first report, the install build passed on it before, so anything that changed since (host updates, other containers) is useful too.
@CrazyWolf13 @clemone210
@arunavo4
The build is consistently OOM-killed in my Proxmox LXC (4 GiB RAM limit, 512 MiB swap), confirmed by the host's cgroup OOM logs. This persists with Bun 1.3.14 and 1.4.3, including when invoking Astro directly with
bun --smol.One possible lead: the project directory is around 28 GB, including large Git backup bundles under
data/repo-backups/, which isn't excluded in.gitignore. Could Tailwind v4's automatic source detection be scanning these files and causing excessive memory usage? I haven't confirmed this yet.Thanks, your lead was right. Tailwind scans every file under the project directory for class names during the build, and the default backup directory
data/repo-backupssits inside it on source installs. I reproduced the kill with a 3 GB file there in a 2 GiB container, at the same line as your log, and #467 limits the scan tosrc/. The same container then builds in a few seconds.@CrazyWolf13 v3.41.0 is out with the fix: https://github.com/RayLabsHQ/gitea-mirror/releases/tag/v3.41.0. Could you update and confirm the build goes through on your container? If it still gets killed, please post the dmesg lines again and the size of the largest file under
data/repo-backups.@arunavo4 Confirmed, works fine, thanks!
Great, thanks for confirming. Closing, both fixes are in v3.41.0.