USEPA / EPA_MOVES_Model

Estimating emissions for mobile sources
Other
82 stars 23 forks source link

External calculator got goroutine deadlock #71

Closed Hanisek closed 4 months ago

Hanisek commented 6 months ago

I am running MOVES4 on a Linux server - I compiled both externalcalculator and generator in the same OS and I got the following goroutines errors..

4/20/24, 11:09 PM DEBUG: Run /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/externalcalculatorgo64 in /scratch/5747943/221929046DFvP/MOVES4.0.1/WorkerFolder/WorkerTemp 4/20/24, 11:09 PM DEBUG: fatal error: all goroutines are asleep - deadlock! 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 1 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/globalevents.Get(...) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/globalevents/globalevents.go:60 4/20/24, 11:09 PM DEBUG: main.main() 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/externalcalculatorgo.go:205 +0xe77 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 11 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.calculateAndAccumulate(0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:998 +0xad 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:771 +0x12b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 12 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.aggregateAndApplyActivity(0x0?, 0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:1696 +0x1de 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:772 +0xce 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 13 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.calculateAndAccumulate(0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:998 +0xad 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:771 +0x12b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 14 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.aggregateAndApplyActivity(0x0?, 0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:1696 +0x1de 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:772 +0xce 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 15 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.calculateAndAccumulate(0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:998 +0xad 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:771 +0x12b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 16 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.aggregateAndApplyActivity(0x0?, 0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:1696 +0x1de 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:772 +0xce 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 65 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.calculateAndAccumulate(0xc00007c240?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:998 +0xad 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:771 +0x12b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 66 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.aggregateAndApplyActivity(0x0?, 0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:1696 +0x1de 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:772 +0xce 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 67 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.New(...) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:352 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.streamBaseRate.func1({0xc001906dc0, 0x69?, 0x509e88?}) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:927 +0x6b 4/20/24, 11:09 PM DEBUG: calc/parse.ReadAndParseFile({0x4e4912, 0x8}, 0xc001804e80) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/parse/parsehelper.go:100 +0x322 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.streamBaseRate(0x50b8b8?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:913 +0x85 4/20/24, 11:09 PM DEBUG: calc/baseratecalculator.doCalculationPipeline(0x0?, 0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:807 +0x21e 4/20/24, 11:09 PM DEBUG: created by calc/baseratecalculator.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/baseratecalculator/baseratecalculator.go:775 +0x218 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 68 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/hcspeciation.calculate(0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/hcspeciation/hcspeciation.go:210 +0x71 4/20/24, 11:09 PM DEBUG: created by calc/hcspeciation.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/hcspeciation/hcspeciation.go:202 +0x30 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 69 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/hcspeciation.calculate(0x4a7c66?, 0xc00007c240?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/hcspeciation/hcspeciation.go:210 +0x71 4/20/24, 11:09 PM DEBUG: created by calc/hcspeciation.StartCalculating 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/hcspeciation/hcspeciation.go:202 +0x30 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 70 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.endOfChainCore(0x4a7c66?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:680 +0x3c 4/20/24, 11:09 PM DEBUG: created by calc/mwo.EndOfChain 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:673 +0x2b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 71 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.endOfChainCore(0x4a7c66?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:680 +0x3c 4/20/24, 11:09 PM DEBUG: created by calc/mwo.EndOfChain 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:673 +0x2b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 72 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.endOfChainCore(0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:680 +0x3c 4/20/24, 11:09 PM DEBUG: created by calc/mwo.EndOfChain 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:673 +0x2b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 73 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.writeCore(0xc000d75b60?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:809 +0x78 4/20/24, 11:09 PM DEBUG: created by calc/mwo.StartWriting 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:743 +0x51f 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 74 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.endOfActivityChainCore(0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:697 +0x3c 4/20/24, 11:09 PM DEBUG: created by calc/mwo.EndOfActivityChain 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:690 +0x2b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 75 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.endOfActivityChainCore(0x0?, 0x0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:697 +0x3c 4/20/24, 11:09 PM DEBUG: created by calc/mwo.EndOfActivityChain 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:690 +0x2b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 76 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.endOfActivityChainCore(0x4a7c66?, 0xc00007c240?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:697 +0x3c 4/20/24, 11:09 PM DEBUG: created by calc/mwo.EndOfActivityChain 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:690 +0x2b 4/20/24, 11:09 PM DEBUG: 4/20/24, 11:09 PM DEBUG: goroutine 77 [chan receive]: 4/20/24, 11:09 PM DEBUG: calc/mwo.writeActivityCore(0xc000d75bc0?) 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:972 +0x54 4/20/24, 11:09 PM DEBUG: created by calc/mwo.StartActivityWriting 4/20/24, 11:09 PM DEBUG: /scratch/5747943/221929046DFvP/MOVES4.0.1/calc/mwo/mwo.go:948 +0x19a

Hanisek commented 6 months ago

BTW this is the sh file that I used to call the commandline.

!/bin/bash

rm -rf SharedWork/ rm -rf WorkerFolder/ [ -f moveslog.txt ] && mv moveslog.txt moveslog_old.txt [ -f moveslog_old.txt ] && rm moveslog_old.txt

export MOVES_HOME=/scratch/5748484/232013383piKr/MOVES4.0.1

export CLASSPATH="$MOVES_HOME" for jar in $MOVES_HOME/libs/.jar; do CLASSPATH="$CLASSPATH:$jar" done for jar in $MOVES_HOME/libs/abbot/.jar; do CLASSPATH="$CLASSPATH:$jar" done for jar in $MOVES_HOME/libs/poi/*.jar; do CLASSPATH="$CLASSPATH:$jar" done

echo $CLASSPATH

java -Djava.awt.headless=true -Xmx512M -classpath $CLASSPATH gov.epa.otaq.moves.master.commandline.MOVESCommandLine -i /scratch/5748484/232013383piKr/xml/36061_op_xml/mm401_op_36061_2015_1_0_0/mm401_op_36061_2015_1_0_0_im.xml

java -Djava.awt.headless=true -Xmx512M -classpath $CLASSPATH gov.epa.otaq.moves.master.commandline.MOVESCommandLine -r /scratch/5748484/232013383piKr/xml/36061_op_xml/mm401_op_36061_2015_1_0_0/mm401_op_36061_2015_1_0_0_runspec.xml

danielbizercox commented 6 months ago

Hello,

Please attach your runspec and input database (as a zip or a dumpfile) so that we can investigate this further. Also, what version of Go, Java, MariaDB, and Linux are you using?

Hanisek commented 6 months ago

Sorry for the delay - I am attaching the files as follow. I tried to run them in Windows and seems the same error pops up so I don't think it is related to the Linux. But I am using RHEL 7, MariaDB 10.11.2, and Java 17.07.

mm401_op_36061_2023_1_25_80_in.zip mm401_op_36061_2023_1_25_80_runspec.zip mm401_op_36061_2023_1_25_80_im.zip

danielbizercox commented 5 months ago

It looks like the root cause of this issue is that your fuel supply table has the wrong fuel region in it. You should clear the imported data on the fuels tab, export the default fuels, and re-import, and that should resolve this issue.

We investigated the underlying cause of the deadlock and will hopefully be able to provide a better error message in a future version of MOVES.