The following environment variable settings have proven valuable.

Implement these as appropriate for your platform. What is shown here is Linux Bash syntax.

export JAVA_OPTS="-Dsun.io.serialization.extendedDebugInfo=true -Xmx10G -Xms2m"
export SBT_OPTS="$JAVA_OPTS"
export DAFFODIL_JAVA_OPTS="$JAVA_OPTS"

The -Xms2m increases the stack size - the scala compiler is highly recursive and uses deeper stacks than conventional Java programs generally use.

The -Xmx10G allows the JVM to use as much as 10 Gig of RAM - adjust this depending on your RAM size. 5Gig is probably minimum (as of release 2.0.0 of Daffodil)

The JAVA_OPTS, SBT_OPTS, and DAFFODIL_JAVA_OPTS respectively set these flags for the java command, the sbt command, and the daffodil command (aka daffodil CLI).