forked from Qortal/qortal
Qortal Core - Main Code Repository
Decentralized Data Network - Blockchain - TRUE Cross-Chain Trading - Application and Website Hosting - Much More - Qortal is the future internet infrastructure for the global digital world.
d85a3d17c8
Symptoms are: * db/blockchain.log is pretty much exactly 50MB - the checkpoint-triggering size. * Loads of threads are stuck waiting for HSQLDB's CountUpDownLatch$Sync.await() * Synchronizer, or some other thread, possibly orphaning blocks. The cause seems to be method A, which has a repository session, calls EventBus.INSTANCE.notify() and one of the event listeners then obtains their own repository session to do repository 'work'. In the meantime, the HSQLDB log has reached 50MB, triggering auto-checkpoint. HSQLDB attempts to CHECKPOINT, but waits for existing transactions to complete, and also blocks starting new transactions. Thus, one of the event listeners is blocked when they try to obtain a new repository session, but HSQLDB never performs CHECKPOINT because the event notifier (method A) still has an unfinished transaction - hence deadlock. |
||
---|---|---|
lib/org | ||
src | ||
tools | ||
WindowsInstaller | ||
.gitignore | ||
AutoUpdates.md | ||
DATABASE.md | ||
log4j2.properties | ||
pom.xml | ||
README.md | ||
run.sh | ||
start.sh | ||
stop.sh |
Qortal Project - Official Repo
Build / run
- Requires Java 11. OpenJDK 11 recommended over Java SE.
- Install Maven
- Use Maven to fetch dependencies and build:
mvn clean package
- Built JAR should be something like
target/qortal-1.0.jar
- Create basic settings.json file:
echo '{}' > settings.json
- Run JAR in same working directory as settings.json:
java -jar target/qortal-1.0.jar
- Wrap in shell script, add JVM flags, redirection, backgrounding, etc. as necessary.
- Or use supplied example shell script: run.sh