mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-07 03:29:19 +02:00
56 lines
1.3 KiB
Markdown
56 lines
1.3 KiB
Markdown
# IMMEDIATE FIX - VM Crash Prevention
|
|
|
|
## TL;DR
|
|
|
|
**Root Cause:** Serial console service (`serial-getty@ttyS0`) crashed 421,491 times over 50 days, exhausting memory.
|
|
|
|
**NOT caused by:** Your posterg website/application (it's innocent!)
|
|
|
|
## The Fix (5 minutes, zero downtime)
|
|
|
|
SSH into the server and run:
|
|
|
|
```bash
|
|
ssh theophile@posterg.erg.be -p 3274
|
|
|
|
# Disable the broken serial console service
|
|
sudo systemctl stop serial-getty@ttyS0.service
|
|
sudo systemctl disable serial-getty@ttyS0.service
|
|
sudo systemctl mask serial-getty@ttyS0.service
|
|
|
|
# Verify it's masked
|
|
sudo systemctl status serial-getty@ttyS0.service
|
|
# Should show: "Loaded: masked"
|
|
|
|
# Check system health
|
|
free -h
|
|
systemctl --failed
|
|
```
|
|
|
|
## Done!
|
|
|
|
The VM will no longer crash from this issue. See `VM_Crash_Analysis_FINAL.md` for complete details.
|
|
|
|
## Bonus: Clean Up the Database Schema Errors
|
|
|
|
While you're there, fix the post-reboot database issues:
|
|
|
|
```bash
|
|
cd /var/www/posterg
|
|
|
|
# Check which migrations need to run
|
|
ls -la storage/migrations/
|
|
|
|
# If migrations exist, apply them manually or:
|
|
# Review and fix the missing 'tags' table and 'ts.role' column
|
|
sqlite3 storage/posterg.db "SELECT name FROM sqlite_master WHERE type='table';"
|
|
```
|
|
|
|
---
|
|
|
|
**Summary Stats:**
|
|
- Serial getty crashes: **1,264,488**
|
|
- Restart counter at OOM: **421,491**
|
|
- Days until OOM: **~50 days**
|
|
- Your application's fault: **0%** ✅
|