Troubleshooting Guide
Troubleshooting Guide
Last Updated: 2025-11-05 Target Audience: Developers encountering issues with OpenL Tablets
Table of Contents
Build Issues
Maven Build Fails with “Could not resolve dependencies”
Symptoms:
[ERROR] Failed to execute goal on project org.openl.rules:
Could not resolve dependencies for project org.openl:org.openl.rules:jar:6.0.0-SNAPSHOT
Solutions:
- Update dependencies:
mvn clean install -U - Clear local repository:
rm -rf ~/.m2/repository/org/openl mvn clean install - Check network/proxy settings in
~/.m2/settings.xml
Out of Memory During Build
Symptoms:
java.lang.OutOfMemoryError: Java heap space
Solutions:
- Increase Maven memory:
export MAVEN_OPTS="-Xmx4g -XX:MaxMetaspaceSize=1g" mvn clean install - Build modules separately:
cd DEV && mvn clean install cd ../STUDIO && mvn clean install cd ../WSFrontend && mvn clean install - Use quick profile:
mvn clean install -Dquick -DskipTests
Frontend Build Fails
Symptoms:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
Solutions:
- Clean and reinstall:
cd STUDIO/studio-ui rm -rf node_modules package-lock.json dist npm install npm run build - Check Node version:
node --version # Should be 24.x or compatible npm --version - Clear npm cache:
npm cache clean --force npm install
Runtime Issues
OpenL Studio Won’t Start
Symptoms:
Error creating bean with name 'dataSource'
Solutions:
- Check port availability:
lsof -i :8080 # Kill process if needed kill -9 <PID> -
Check application.yml configuration
- Verify Java version:
java -version # Should be Java 21+ - Check logs:
tail -f STUDIO/org.openl.rules.webstudio/logs/application.log
ClassNotFoundException
Symptoms:
java.lang.ClassNotFoundException: org.openl.rules.XXX
Solutions:
- Rebuild dependencies:
mvn clean install -DskipTests -
Check classpath - ensure all dependencies are in target/lib
- Verify module installation:
ls ~/.m2/repository/org/openl/
Service Deployment Fails
Symptoms:
Failed to deploy service: MyRuleService
Solutions:
-
Check rules-deploy.xml syntax
-
Verify rule project exists in repository
- Check service logs:
tail -f WSFrontend/org.openl.rules.ruleservice.ws/logs/application.log - Validate rules compile:
# Use openl-maven-plugin mvn openl:compile
Development Environment
IDE Not Recognizing Generated Code
Symptoms:
- Red errors on generated classes
- Cannot find symbol errors in IDE
Solutions:
-
Refresh/reimport Maven project
- Mark generated sources directories:
target/generated-sources/openl -> Mark as Generated Sources Root -
Rebuild project in IDE
- Ensure Maven plugin ran:
mvn generate-sources
Hot Reload Not Working
Symptoms:
- Code changes don’t appear without restart
Solutions:
- Use Spring Boot DevTools (already included): ```xml
2. **Enable auto-build** in IDE
3. **For frontend**:
```bash
cd STUDIO/studio-ui
npm start # Runs with hot reload
Debugger Not Attaching
Solutions:
- Maven debug mode:
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" -
Attach remote debugger to port 5005
- Check firewall not blocking debugging port
Performance Problems
Slow Rule Compilation
Symptoms:
- Rules take minutes to compile
- First request very slow
Solutions:
- Enable eager compilation:
# application.yml ruleservice: lazy-compilation: false - Optimize Excel files:
- Remove unnecessary formatting
- Reduce file size
- Use indexed decision tables
- Increase memory:
export MAVEN_OPTS="-Xmx8g" - Use profiler to identify bottlenecks:
Profiler.enable(); // ... execute rules Profiler.printResults();
High Memory Usage
Symptoms:
java.lang.OutOfMemoryError: GC overhead limit exceeded
Solutions:
- Increase heap:
java -Xmx8g -Xms2g -jar application.jar - Check for memory leaks:
jmap -heap <PID> jmap -histo <PID> | head -20 - Enable GC logging:
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log - Reduce cache sizes in configuration
Slow Database Queries
Symptoms:
- Repository operations slow
- Git operations timing out
Solutions:
- Enable query logging:
logging: level: org.hibernate.SQL: DEBUG -
Optimize repository configuration
-
Check network latency to remote repositories
- Use connection pooling:
spring: datasource: hikari: maximum-pool-size: 20
Common Errors
“Table not found” Error
Symptoms:
org.openl.rules.table.TableNotFoundException: Table 'MyTable' not found
Causes & Solutions:
- Typo in table name - Check spelling
- Table in different module - Check module dependencies
- Excel file not loaded - Verify file in project
- Case sensitivity - Table names are case-sensitive
“Method not found” Error
Symptoms:
org.openl.rules.method.MethodNotFoundException: Method 'myMethod' not found
Causes & Solutions:
- Method signature mismatch - Check parameter types
- Method in different version - Check service version
- Overload ambiguity - Be more specific with types
- Excel not compiled - Rebuild project
“Type conversion error”
Symptoms:
Cannot convert value of type X to type Y
Causes & Solutions:
- Incompatible types - Check type definitions
- Missing converter - Add custom type converter
- Null handling - Check for null values
- Date format issues - Use consistent date formats
“Permission denied” Error
Symptoms:
Access is denied
org.springframework.security.access.AccessDeniedException
Causes & Solutions:
- Not authenticated - Log in first
- Insufficient permissions - Check user roles
- ACL misconfiguration - Review ACL settings
- Session expired - Log in again
“Port already in use”
Symptoms:
Web server failed to start. Port 8080 was already in use.
Solutions:
- Find and kill process:
```bash
Find process
lsof -i :8080
Or
netstat -ano | grep 8080
Kill process
kill -9
2. **Use different port**:
```bash
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8090
- Change in application.yml:
server: port: 8090
Getting Help
Enable Debug Logging
Application:
# application.yml
logging:
level:
org.openl: DEBUG
org.openl.rules: TRACE
Maven:
mvn clean install -X # Debug mode
Collect Diagnostic Information
# Java version
java -version
# Maven version
mvn -version
# Check environment
env | grep JAVA
env | grep MAVEN
# List installed modules
ls ~/.m2/repository/org/openl/
# Check running processes
ps aux | grep java
Where to Report Issues
- GitHub Issues: https://github.com/openl-tablets/openl-tablets/issues
- Include:
- OpenL version
- Java version
- Operating system
- Full error message
- Steps to reproduce
- Relevant logs
Quick Diagnostic Checklist
When encountering issues, check:
- Java 21+ installed and in PATH
- Maven 3.9.9+ installed
- JAVA_HOME set correctly
- Sufficient memory (8GB+ recommended)
- Ports 8080, 8081 available
- Internet connection for dependencies
- Latest code pulled from git
- Maven repository not corrupted
- Correct branch checked out
- All required modules built
See Also:
Last Updated: 2025-11-05