Document MT5 freeze analysis and solutions
This commit is contained in:
@@ -247,3 +247,50 @@ This will:
|
||||
| `IsOptimization()` | `MQLInfoInteger(MQL_OPTIMIZATION)` |
|
||||
|
||||
**Commit:** `c415cd9`
|
||||
|
||||
---
|
||||
|
||||
## MT5 Freeze Analysis & Solutions
|
||||
**Date:** March 24, 2026
|
||||
|
||||
### Why Did It Freeze?
|
||||
|
||||
**Root Cause:** OrdersEA.mq5 was an **MT4 file disguised as MT5**
|
||||
|
||||
| Issue | Details |
|
||||
|-------|---------|
|
||||
| File Type | MT4 syntax with .mq5 extension |
|
||||
| Syntax Errors | 100 errors detected by MetaEditor |
|
||||
| Problem Functions | OrderSelect(), MarketInfo(), Bid, Digits, Point |
|
||||
| Trigger | MetaEditor hung while processing errors |
|
||||
| Wine Factor | Windows apps in Wine are less stable with errors |
|
||||
|
||||
### What Happened:
|
||||
1. MetaEditor tried to compile OrdersEA.mq5
|
||||
2. Found 100 MT4-specific syntax errors
|
||||
3. Got stuck in error processing loop
|
||||
4. VNC session froze (MetaEditor was active window)
|
||||
5. Required container restart to clear
|
||||
|
||||
### Solutions Implemented:
|
||||
|
||||
**1. Syntax Checker** (`check-syntax.sh`)
|
||||
```bash
|
||||
./check-syntax.sh OrdersEA.mq5
|
||||
# Detects MT4 functions before compilation
|
||||
```
|
||||
|
||||
**2. Watchdog** (`metaeditor-watchdog.sh`)
|
||||
- Auto-kills MetaEditor if running >5 minutes
|
||||
- Kills if CPU >50% for extended period
|
||||
|
||||
**3. Safe Compile** (`safe-compile.sh`)
|
||||
- 2-minute timeout on compilations
|
||||
- Auto-kills on timeout
|
||||
- Prevents indefinite hangs
|
||||
|
||||
### Prevention Tips:
|
||||
1. Always check syntax before compiling unknown files
|
||||
2. Use MT4→MT5 conversion tools for old code
|
||||
3. Watch for MetaEditor freezes during compilation
|
||||
4. Restart container if VNC becomes unresponsive
|
||||
|
||||
Reference in New Issue
Block a user