RAILWISE-CLI Troubleshooting Guide
Compilation of high-frequency issues, error code explanations, troubleshooting steps, and solutions for CLI usage
RAILWISE-CLI Troubleshooting Guide
Section titled “RAILWISE-CLI Troubleshooting Guide”Target Audience: CLI daily users, on-site project technicians, operations support personnel
Estimated Reading Time: 15 minutes
Prerequisites: RAILWISE-CLI installed and previously executed
1. Installation & Startup Issues
Section titled “1. Installation & Startup Issues”1.1 Installation Failure: Permission Denied
Section titled “1.1 Installation Failure: Permission Denied”Symptom:
bun install -g @railwise/cli# EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@railwise'Cause: Global installation directory requires administrator privileges.
Solutions:
# Option 1: User-level installation (recommended)bun install -g @railwise/cli --prefix ~/.localexport PATH="$HOME/.local/bin:$PATH"
# Option 2: Use sudo (macOS/Linux)sudo bun install -g @railwise/cli
# Option 3: Windows — run PowerShell as administrator# Right-click PowerShell → Run as administrator1.2 Installation Failure: Network Timeout
Section titled “1.2 Installation Failure: Network Timeout”Symptom:
error: package "@railwise/cli" not found# Or registry connection timeoutSolutions:
# Configure China mirror registrybun config set registry https://registry.npmmirror.com
# Or use company private registrybun config set registry https://npm.railwise.cn
# Verify configurationbun config get registry1.3 Startup Error: Bun Version Incompatible
Section titled “1.3 Startup Error: Bun Version Incompatible”Symptom:
railwise --version# error: Unsupported Bun version. Required: >=1.1.0, Found: 1.0.35Solutions:
# Upgrade Bunbun upgrade
# Or reinstallcurl -fsSL https://bun.sh/install | bash2. Configuration Issues
Section titled “2. Configuration Issues”2.1 Initialization Failure: Directory Already Exists
Section titled “2.1 Initialization Failure: Directory Already Exists”Symptom:
railwise init --project "Test Project"# Error: .railwise directory already existsSolutions:
# Option 1: Force re-initialization (after backup)mv .railwise .railwise.backup.$(date +%Y%m%d)railwise init --project "Test Project"
# Option 2: Non-interactive mode, skip existing filesrailwise init --project "Test Project" --force --skip-existing2.2 Configuration File Parse Error
Section titled “2.2 Configuration File Parse Error”Symptom:
railwise run workflow.yaml# Error: YAML parse error at .railwise/config.yaml: line 23, column 5Troubleshooting Steps:
- Check indentation: YAML uses space indentation, Tab is prohibited
- Check special characters: Add space after colon for Chinese characters
key: value - Validate syntax:
Terminal window railwise config validate# Or use online tool https://www.yamllint.com/ - Common error examples:
# ❌ Error: Tab indentationproject:name: "Project" # ← Tab used here# ✅ Correct: Two-space indentationproject:name: "Project"
2.3 Coordinate System Configuration Invalid
Section titled “2.3 Coordinate System Configuration Invalid”Symptom: Import prompts “Unknown coordinate system: XXX”
Checklist:
| Check Item | Command/Operation |
|---|---|
| Coordinate system name spelling | railwise config get coordinate_systems.available |
| EPSG code validity | Visit https://epsg.io/ to verify |
| Projection parameter completeness | Check central_meridian, false_easting and other required fields |
| Configuration file path | Confirm modification is to current project’s .railwise/config.yaml |
3. Data Import Issues
Section titled “3. Data Import Issues”3.1 Import File No Response
Section titled “3.1 Import File No Response”Symptom:
railwise surveyor import data/large_file.gsi# Long time no output, high CPU usageTroubleshooting Steps:
- Check file size: Large files (>100MB) recommend batch import
- Enable verbose logging:
Terminal window railwise surveyor import data/large_file.gsi --verbose - Check file encoding:
Terminal window file -i data/large_file.gsi# Output should be: text/plain; charset=utf-8 - Try limiting import scope:
Terminal window railwise surveyor import data/large_file.gsi --max-records 1000
3.2 Data Parse Error: Format Mismatch
Section titled “3.2 Data Parse Error: Format Mismatch”Symptom:
# Error: Failed to parse record at line 156: Unknown field code "99"Solutions:
# Option 1: Skip unknown fieldsrailwise surveyor import data.gsi --skip-unknown-fields
# Option 2: Use generic CSV format as intermediate# 1. First export to CSV using instrument native software# 2. Write column mapping file (see cli-data-formats.md)railwise surveyor import data.csv --format csv --mapping map.yaml
# Option 3: Contact technical support for dedicated parser3.3 Chinese Character Garbled
Section titled “3.3 Chinese Character Garbled”Symptom: After import, point IDs and remarks display as ???? or garbled blocks.
Troubleshooting & Solutions:
# Step 1: Detect original file encodingfile -i data.gsi# Output example: text/plain; charset=iso-8859-1
# Step 2: Convert encodingiconv -f GBK -t UTF-8 data.gsi > data_utf8.gsi# Oriconv -f ISO-8859-1 -t UTF-8 data.gsi > data_utf8.gsi
# Step 3: Re-importrailwise surveyor import data_utf8.gsi --encoding utf-84. Workflow Execution Issues
Section titled “4. Workflow Execution Issues”4.1 Workflow Execution Failure: Step Timeout
Section titled “4.1 Workflow Execution Failure: Step Timeout”Symptom:
# Error: Step "Adjustment Calculation" timed out after 300sSolutions:
# Add timeout setting in workflowsteps: - name: "Adjustment Calculation" agent: "adjuster" action: "adjust" timeout: 600 # Increase to 10 minutes # Or set to 0 for unlimited # timeout: 04.2 Workflow Execution Failure: Out of Memory
Section titled “4.2 Workflow Execution Failure: Out of Memory”Symptom:
# Error: JavaScript heap out of memory# Or system memory insufficientSolutions:
# Option 1: Increase Node/Bun memory limitexport BUN_JSC_memoryLimit=4096 # 4GBrailwise run workflow.yaml
# Option 2: Reduce concurrency# In .railwise/config.yamlperformance: max_concurrent_agents: 1
# Option 3: Batch process large datasteps: - name: "Batch Import" agent: "surveyor" action: "import" input: "data/" params: batch_size: 500 # Process 500 records per batch4.3 Condition Judgment Not Working
Section titled “4.3 Condition Judgment Not Working”Symptom: Set condition but step always executes or always skips.
Checklist:
| Check Item | Description |
|---|---|
| Variable name spelling | Confirm exact match with output_var |
| Data type | Numeric vs string comparison in condition expressions must be consistent |
| Boolean format | Use true/false not "true"/"false" |
| Expression syntax | Use == not = |
Correct Example:
steps: - name: "Check" agent: "inspector" action: "check" output_var: "check_result" # Outputs boolean
- name: "Conditional Execution" agent: "adjuster" action: "adjust" condition: "{{check_result}} == true" # Correct # ❌ Error: condition: "check_result == true" (missing variable syntax)5. Error Code Quick Reference
Section titled “5. Error Code Quick Reference”| Error Code | Meaning | Common Cause | Solution |
|---|---|---|---|
RWI-001 |
Config file not found | railwise init not executed |
Run initialization command |
RWI-002 |
Config file parse failed | YAML syntax error | Check indentation, special characters |
RWI-003 |
Unknown agent | Agent name spelling error | Run railwise agent list to view |
RWI-004 |
Unknown action | Agent does not support this action | Consult agent documentation |
RWI-005 |
Data format not supported | Format identifier error or file corrupted | Check file header or use --format |
RWI-006 |
Coordinate system undefined | Coordinate system name spelling error | Check config.yaml coordinate system config |
RWI-007 |
File encoding error | Encoding declaration mismatch | Use file -i to detect and convert |
RWI-008 |
Tolerance exceeded | Observation data precision insufficient | Check instrument settings, observation conditions |
RWI-009 |
Gross error detection failed | Poor data quality or insufficient redundancy | Increase observation times or check instrument |
RWI-010 |
Network request failed | External API unreachable | Check network, proxy configuration |
RWI-011 |
Workflow circular dependency | Circular references between steps | Check input_var reference chain |
RWI-012 |
Parallel step conflict | Parallel steps output variable name collision | Ensure output_var uniqueness |
RWI-013 |
Plugin load failed | Plugin path error or version incompatible | Check plugin configuration and CLI version |
RWI-014 |
Out of memory | Data volume too large or concurrency too high | Reduce batch size, lower concurrency |
RWI-015 |
Insufficient disk space | Output directory space insufficient | Clean disk or change output path |
6. Performance Optimization Recommendations
Section titled “6. Performance Optimization Recommendations”6.1 Big Data Processing Optimization
Section titled “6.1 Big Data Processing Optimization”| Scenario | Optimization Strategy | Expected Effect |
|---|---|---|
| Single import >100k records | Batch import, batch_size: 5000 |
Reduce memory peak 60% |
| Multi-period data merge analysis | Use database backend (SQLite/PostgreSQL) | Query speed 10x improvement |
| Repeatedly execute same workflow | Enable cache cache.enabled: true |
80% speedup on second execution |
| Network storage (NAS/SMB) data | Copy to local SSD first then process | I/O latency reduced 90% |
6.2 Workflow Acceleration Configuration
Section titled “6.2 Workflow Acceleration Configuration”performance: max_concurrent_agents: 4 # Adjust based on CPU core count enable_parallel_processing: true
cache: enabled: true ttl: 86400
logging: level: "warn" # Reduce log output in production async: true # Async log writing7. Getting Help
Section titled “7. Getting Help”7.1 Built-in Help Commands
Section titled “7.1 Built-in Help Commands”# View global helprailwise --help
# View subcommand helprailwise surveyor --helprailwise surveyor import --help
# View agent listrailwise agent list
# View workflow syntaxrailwise workflow --help7.2 Logs & Diagnostics
Section titled “7.2 Logs & Diagnostics”# Enable debug loggingrailwise run workflow.yaml --verbose --log-level debug
# Export diagnostic bundle (for technical support analysis)railwise diagnose --output diagnostic-bundle.zip
# View recent execution logsrailwise logs --last 107.3 Contact Technical Support
Section titled “7.3 Contact Technical Support”If the above solutions cannot resolve the issue, please prepare the following information before contacting technical support:
- Environment info: OS, Bun version, CLI version (
railwise --version) - Error logs: Full output after executing command with
--verbose - Diagnostic bundle: Compressed package generated by
railwise diagnose - Data sample: Minimum data file that can reproduce the issue (de-sensitized)
Contact:
- Technical support email: support@railwise.cn
- WeChat Work: RailWise Technical Support Group
- Phone: 0574-XXXX-XXXX (Weekdays 9:00-18:00)
8. Related Documents
Section titled “8. Related Documents”- CLI Quick Start Guide — Quick start guide
- CLI Agent Configuration — Agent configuration details
- CLI Workflow Orchestration — Workflow orchestration
- CLI Data Formats — Data formats and import
Metadata Tags
Section titled “Metadata Tags”Last updated: 2025-01-15 | Version v1.2.0 | © Ningbo RailWise Engineering Technology Co., Ltd.
