synthea: Build fails consistently
What happened?
I updated my master repo to the latest commit at master - 7876535 - Update HAPI and FHIR exporters. But this time the build has been failing consistently every time I am trying to build the code.
Environment
- OS: Win 11 64 bit
- Java: java --version
openjdk 17.0.1 2021-10-19
OpenJDK Runtime Environment Temurin-17.0.1+12 (build 17.0.1+12)
OpenJDK 64-Bit Server VM Temurin-17.0.1+12 (build 17.0.1+12, mixed mode, sharing)
Relevant log output
.\gradlew.bat build check test
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
> Task :test
org.mitre.synthea.export.CCDAExporterTest > testCCDAExport FAILED
java.lang.AssertionError: Validation of exported CCDA failed: Illegal operation (self.realmCode->isEmpty())|Illegal operation (self.realmCode->isEmpty())|Cannot find operation (excluding(OclVoid)) for the type (Set(TS))|Cannot find operation (excluding(OclVoid)) for the type (Set(TS))|Cannot find operation (excluding(OclVoid)) for the type (Set(TS))|Cannot find operation (excluding(OclVoid)) for the type (Set(TS))|Cannot find operation (excluding(OclVoid)) for the type (Set(TS))|Cannot find operation (excluding(OclVoid)) for the type (Set(TS))|Cannot find operation (excluding(OclVoid)) for the type (Set(TS))|Cannot find operation (excluding(OclVoid)) for the type (Set(TS)) expected:<0> but was:<10>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.mitre.synthea.export.CCDAExporterTest.testCCDAExport(CCDAExporterTest.java:62)
org.mitre.synthea.export.CCDAExporterTest > testExportWithNoPreferredWellnessProvider FAILED
java.lang.AssertionError: expected:<0> but was:<1>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at org.mitre.synthea.export.CCDAExporterTest.testExportWithNoPreferredWellnessProvider(CCDAExporterTest.java:92)
508 tests completed, 2 failed, 5 skipped
> Task :test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///{path}/synthea/build/reports/tests/test/index.html
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 4m 32s
15 actionable tasks: 2 executed, 13 up-to-date
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 68 (19 by maintainers)
Looks like this could be a memory issue. My machine ran out of memory while installing Ubuntu in VirtualBox. I restarted the device, installed Ubuntu, and successfully built Synthea. Decided to see if I could build it on Windows. I restarted my machine and tried building it the same way as when it failed. I successfully built Synthea in Windows after freeing up the memory.
I am getting the same issue trying to build Synthea using Windows. Error reports, among other things, a class too large exception by the CCDA validator. I do not have the experience to understand if this is really the issue. This post talks about using optimized instrumentation. Guess I’ll have to switch over to a Linux machine to see if it will build on it.
Caused by: org.jacoco.agent.rt.internal_3570298.asm.ClassTooLargeException: Class too large: org/openhealthtools/mdht/uml/cda/consol/util/ConsolValidator at org.jacoco.agent.rt.internal_3570298.asm.ClassWriter.toByteArray(ClassWriter.java:599) at org.jacoco.agent.rt.internal_3570298.core.instr.Instrumenter.instrument(Instrumenter.java:91) at org.jacoco.agent.rt.internal_3570298.core.instr.Instrumenter.instrument(Instrumenter.java:108)
Test results - Class org.mitre.synthea.export.CCDAExporterTest.pdf