Every known error message, what it means, and how to fix it.
When you see an error in the UI or logs, find it here first.
Meaning: DevStackBox cannot find the service executable.
Cause: The service binary is missing from the expected path, or the app is looking in the wrong directory.
Fix:
- Open the Debug panel (dev builds only) - it shows what path was resolved
- Check that
apache/bin/httpd.exe,mysql/bin/mysqld.exe, orphp/8.3/php.exeexist - If they are missing, re-run
scripts/prepare-binaries.ps1or copy from your XAMPP installation - If the path looks wrong (pointing to
C:\xampp\htdocs\DevStackBoxin a production install), seedocs/KNOWN_ISSUES.mdISSUE-009
Meaning: Something else is already using port 80.
Fix: See docs/NETWORKING.md section "Port 80 Already in Use"
Meaning: MySQL cannot start because port 3306 is taken.
Fix: See docs/NETWORKING.md section "Port 3306 Already in Use"
Meaning: Apache exited immediately after launch.
Likely causes:
- Port 80 is in use (most common)
httpd.confhas a syntax error- A required module DLL is missing
- 32-bit Apache binary on a 64-bit system (architecture mismatch)
Diagnose:
- Check
logs/error.logfor the specific Apache error - Run manually to see output:
apache\bin\httpd.exe -t(config test)
Architecture mismatch fix: See docs/APACHE_64BIT_GUIDE.md
Meaning: mysqld.exe exited immediately after launch.
Likely causes:
- Port 3306 is in use
mysql/data/is corrupt or missingmy.cnfhas invalid settings- A previous MySQL session left a lock file
Diagnose:
- Check
mysql/data/<hostname>.errfor the MySQL error log - Look for
[ERROR]lines
Fix lock file:
Remove-Item "mysql\data\<hostname>.pid" -ErrorAction SilentlyContinueMeaning: MySQL was running and then disappeared without being stopped from the UI.
Likely causes:
- Windows killed the process due to memory pressure
- MySQL data directory corrupted
- InnoDB crash recovery triggered and failed
Fix:
- Check
mysql/data/<hostname>.errfor[ERROR]orShutdownmessages - If InnoDB crash recovery fails, restore from backup (
config-backups/) - Restart MySQL - it usually recovers on its own
Meaning: DevStackBox cannot open the config file for reading.
Likely cause: File does not exist, or the app has no permission to read it.
Fix:
- Verify the file exists at
config/php.ini(orconfig/httpd.conf,config/my.cnf) - If missing, use "Restore Default" option in the Config Editor
- If it exists, check file permissions
Meaning: The config change could not be written to disk.
Likely causes:
- File is read-only
- App was installed to
C:\Program Files\and lacks write permission without elevation - Antivirus is blocking the write
Fix:
- Check file properties → uncheck "Read-only"
- If installed to Program Files, run DevStackBox as Administrator (or reinstall to
C:\dsb) - Check antivirus logs for blocked writes
Meaning: Could not create a backup in config-backups/.
Fix:
- Check that
config-backups/directory exists - Check disk space
- Check write permissions on the
config-backups/directory
Meaning: switch_php_version command could not create the directory junction.
Likely causes:
cmd.exewas not found (unusual, but possible in restricted environments)- Insufficient permissions to create directory junctions
- Target PHP version not downloaded yet
Fix:
- Verify the target version exists:
php\8.1\php.exe - Run DevStackBox as Administrator if junction creation fails
- Manually create the junction:
cmd /C mklink /J php\current php\8.1
Meaning: php/8.3/php.exe (or other version) does not exist.
Fix:
- Use the PHP Version Selector to install the missing version
- Note: PHP download is currently a stub - see
docs/KNOWN_ISSUES.mdISSUE-003
Common causes:
- Previous installation not fully cleaned up
- Missing VC++ Redistributable
- Antivirus blocking installation
Fix:
- Uninstall any previous DevStackBox version first
- Install Microsoft Visual C++ Redistributable 2022 (x64)
- Temporarily disable antivirus during install
See docs/MSI_TROUBLESHOOTING.md for more detail.
Meaning: After MSI install, the app cannot find its own binary files.
Cause: MSI installed to an unexpected location, or the path fallback list does not include your install path.
Fix:
- Check where the MSI installed: Start Menu → DevStackBox → right-click → "Open file location"
- Verify
apache/,mysql/,php/directories are in that folder - If not, re-run the installer and choose the default path
Meaning: React app failed to load.
Fix:
- Open DevTools (
Ctrl+Shift+I) - Check the Console tab for JavaScript errors
- Common cause: missing asset file - re-run
pnpm install && pnpm tauri build
Meaning: Frontend is calling a Tauri command that does not exist in the backend.
Likely cause: Command was renamed in Rust but the constant in src/lib/commands.ts was not updated.
Fix:
- Check
TAURI_COMMANDSinsrc/lib/commands.ts - Check
invoke_handlerinsrc-tauri/src/lib.rs - Ensure the name matches exactly (case-sensitive)
Meaning: i18next could not find the translation for that key.
Fix:
- Check
locales/en.jsonfor the key path - Ensure the key exists with the exact nested structure
- Check
locales/hi.jsonhas the same key (both files must be in sync)
All three version files must be identical. See docs/RELEASE_PROCESS.md Step 2.
Most common causes:
- Emoji characters in
.ymlfile (PowerShell encoding issue) - remove all emoji - Version format with hyphen/letters (MSI rejects it) - use clean semver
- Dependency download failure - re-run the job
- Check
docs/KNOWN_ISSUES.md- your issue may be documented there - Use the Debug panel in dev builds to inspect path resolution
- Check the relevant log file in
logs/ - Open a GitHub Issue: ProgrammerNomad/DevStackBox issues
- Include DevStackBox version
- Include OS version
- Include the exact error message
- Include contents of the relevant log file