SpinalWorkshop
SpinalWorkshop copied to clipboard
Internal error when running tests: sbt.ForkMain$Run$RunAborted: java.net.SocketException: Broken pipe (Write failed)
I'm working on the Counter lab and got it to compile successfully (thought I don't know if my solution is actually correct): sbt "runMain workshop.counter.CounterMain"
outputs the following (where the actual directory containing this SpinalWorkshop
repository was replaced with $WORK_DIR
):
[info] Loading project definition from $WORK_DIR/SpinalWorkshop/project
[info] Set current project to SpinalWorkshop (in build file:$WORK_DIR/SpinalWorkshop/)
[info] Running workshop.counter.CounterMain
[info] [Runtime] SpinalHDL v1.3.2 git head : 41815ceafff4e72c2e3a3e1ff7e9ada5202a0d26
[info] [Runtime] JVM max memory : 3543.5MiB
[info] [Runtime] Current date : 2019.05.14 14:53:09
[info] [Progress] at 0.000 : Elaborate components
[info] [Progress] at 0.098 : Checks and transforms
[info] [Progress] at 0.167 : Generate VHDL
[info] [Progress] at 0.174 : emit Counter
[info] [Info] Number of registers : 4
[info] [Done] at 0.212
[success] Total time: 1 s, completed May 14, 2019 2:53:10 PM
However, when I run sbt "testOnly workshop.counter.CounterTester"
from the root directory of this repo, I get the following output:
[info] Loading project definition from $WORK_DIR/SpinalWorkshop/project
[info] Set current project to SpinalWorkshop (in build file:$WORK_DIR/SpinalWorkshop/)
Internal error when running tests: sbt.ForkMain$Run$RunAborted: java.net.SocketException: Broken pipe (Write failed)
It hangs forever after printing that last line.
I am doing this on Gentoo, using Portage-provided dev-java/icedtea-bin-3.10.0-r1:8
and dev-java/sbt-0.13.13
, and using manually-installed Verilator v4.012 compiled from git and installed to /usr/local/bin/verilator
Hoo, probably some incompatibility between SBT Scala and that specific JDK ? I never tested with it. Do you have access to others JDK ?
Also, you can get a more recent SBT version ? That repository is using a 1.2.7 You don't realy need this exacte version, anything 1.x.x should be fine.
Let's me know how it go :)
I updated sbt to version 1.2.8, and also updated iverilog from 0.9.6 to 10.2 and manually installed Cocotb, which I hadn't installed previously. That didn't fix it. I also installed Gentoo's dev-java/openjdk-bin-8.212_p03-r2
and dev-java/openjdk-jre-bin-8.212_p03-r1
, which aren't supported by Gentoo yet, and tried them, but they didn't fix it either. I didn't try with Oracle's JVM because Oracle makes it a pain to install on Gentoo.
I'm sorry i don't realy know what to do, as it seem to be a SBT/JDK/OS bad relationship :/
Did you tried with intellij ?
Else what you can do, is to modify the test to be a regular Scala main instead of a scala unit test. This should be fine.
I never managed to figure this out; I gave up and did the SpinalWorkshop projects on another machine running CentOS via SSH. SpinalHDL works fine on my own machine for stuff other than the SpinalWorkshop projects.