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.
Go to file
catbref d85a3d17c8 Fix for HSQLDB deadlock during CHECKPOINT.
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.
2020-09-28 14:22:18 +01:00
lib/org Update to more efficient CIYAM AT v1.3.7 2020-08-12 14:17:09 +01:00
src Fix for HSQLDB deadlock during CHECKPOINT. 2020-09-28 14:22:18 +01:00
tools Update tools/build-zip.sh to reflect updated start.sh, and also to take optional git tag 2020-09-01 10:41:52 +01:00
WindowsInstaller Updated AdvancedInstaller project file based on v1.3.5 release 2020-09-01 11:08:37 +01:00
.gitignore Updated .gitignore 2019-11-26 10:20:06 +00:00
AutoUpdates.md Added AutoUpdates.md notes about the auto-update feature 2020-02-10 13:39:23 +00:00
DATABASE.md Updated build instructions in README.md and moved database info to DATABASE.md 2020-01-22 10:54:21 +00:00
log4j2.properties Suppress extraneous bitcoinj logging output 2020-05-14 12:52:08 +01:00
pom.xml Bump to HSQLDB v2.5.1 as we seem clear of OOM issue 2020-09-25 15:25:15 +01:00
README.md Added example shell script to run Qortal and updated README.md 2020-02-04 12:27:08 +00:00
run.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
start.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
stop.sh Add PID tracking to stop.sh (thanks IceBurst) 2020-03-30 17:39:36 +01:00

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