SpinalWorkshop icon indicating copy to clipboard operation
SpinalWorkshop copied to clipboard

Internal error when running tests: sbt.ForkMain$Run$RunAborted: java.net.SocketException: Broken pipe (Write failed)

Open electrodude opened this issue 5 years ago • 4 comments

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

electrodude avatar May 14 '19 19:05 electrodude

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 :)

Dolu1990 avatar May 14 '19 20:05 Dolu1990

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.

electrodude avatar May 15 '19 20:05 electrodude

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.

Dolu1990 avatar May 18 '19 19:05 Dolu1990

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.

electrodude avatar Jun 03 '19 18:06 electrodude