Troubleshooting¶
Common issues and solutions for GeckoCIRCUITS.
Startup Issues¶
Application won't launch¶
Symptom: Nothing happens when running the JAR or launcher script.
Check Java version:
If Java is not installed or too old, install Temurin JDK 21.
Check the JAR exists:
If missing, build it:
"Unsupported class file major version 65" error¶
Your Java version is too old. GeckoCIRCUITS requires Java 21+.
OutOfMemoryError¶
Increase the heap size:
Default is -Xmx3G. Increase to 4G or more for large circuits.
Blank or black window¶
HiDPI scaling issue. Try:
Or use the HiDPI launcher:
WSL-Specific Issues¶
No display / HeadlessException¶
GeckoCIRCUITS needs a display server. On WSL2:
Option 1: WSLg (Windows 11, automatic):
Option 2: Install an X server (Windows 10):
# Install VcXsrv or Xming on Windows
# Then in WSL:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
Option 3: Headless mode with Xvfb:
sudo apt install xvfb
Xvfb :99 -screen 0 1024x768x24 &
export DISPLAY=:99
java -jar target/gecko-1.0-jar-with-dependencies.jar
Slow rendering on WSL¶
WSL2 GUI forwarding can be slow. Try:
- Use
--hidpiflag (reduces pixel count) - Minimize scope window refreshes during simulation
- Close unused scope windows
Simulation Issues¶
Simulation runs but produces incorrect results¶
| Check | Solution |
|---|---|
| Time step too large | Reduce to < 1/(100 x f_switch) |
| Wrong solver | Try Backward Euler for stiff circuits |
| Missing ground | Every circuit needs a ground reference |
| Open nodes | Ensure all nodes are connected |
Simulation diverges / NaN values¶
Usually caused by:
- Algebraic loops - Break them with small parasitic elements:
- Add 1 mOhm series resistance to ideal voltage sources
-
Add 1 nH series inductance to switches
-
Division by zero - Check for zero-valued components
-
Time step too large for the switching frequency
Simulation is very slow¶
- Reduce simulation duration - Start with a few switching periods
- Increase time step - But not above 1/(100 x f_switch)
- Simplify the circuit - Remove unused components
- Close scope windows - Real-time plotting slows simulation
Build Issues¶
Maven build fails¶
Clear cache and retry:
If dependencies fail to download:
Tests fail with HeadlessException¶
Some tests need a display. On Linux CI:
GraalVM/Polyglot errors¶
Ensure you pass the compatibility flag:
File Issues¶
Can't open .ipes file¶
- Verify the file isn't corrupted (it should be gzip-compressed)
- Try opening from the command line to see error messages:
Circuit looks different after reopening¶
Component positions are saved in the .ipes file. If positions look wrong:
- Check you're using the same version of GeckoCIRCUITS
- Try View > Fit to Window to reset the view
Still Stuck?¶
- Check the FAQ
- Search existing issues
- Open a new issue with:
- Your OS and Java version
- Steps to reproduce
- Console output / error messages