Josh,

Your stack trace's error message tells me that when you ran the ex_nums test 
case with TDMLImplementation.DaffodilC, the C-compiled executable exited 
abnormally with the numeric exit code 132 instead of the normal (successful) 
exit code 0.  When a program dies because of a signal, its exit code is encoded 
as 128 + signal-number, which tells me that the executable died because it 
received the SIGILL (illegal instruction) signal.  Getting a SIGILL signal 
indicates something strange must have happened 
(https://stackoverflow.com/questions/7901867/what-causes-signal-sigill).  

Is there anything unusual about your machine or is it a standard Intel/AMD 
64-bit processor running standard Ubuntu 20.04 or 22.04 LTS with the system C 
compiler, libs, etc.?   You may have to hand-generate the C code from the 
ex_nums schema (daffodil generate c -s ex_nums.dfd,xsd), hand-compile the 
executable (make -C c), and see if you can reproduce the SIGILL yourself 
(c/daffodil unparse infosets/ex_nums.dat.xml -o c/ex_num.dat).  If you do 
reproduce the signal, then you can run the executable under the gdb debugger 
and try to determine how it got the signal.  

John

-----Original Message-----
From: Adams, Joshua <jad...@owlcyberdefense.com> 
Sent: Tuesday, February 21, 2023 8:34 AM
To: dev@daffodil.apache.org
Subject: EXT: Issues with runtime2 tests

WARNING: This email originated from outside of GE. Please validate the sender's 
email address before clicking on links or attachments as they may not be safe.

I've been sitting on this a while as I think it's most likely just a missing 
dependency on my system, but I've been getting some errors on a few of the 
runtime2 tests.  For example:

error] Test org.apache.daffodil.runtime2.TestExNums.c_ex_nums failed: 
org.apache.daffodil.tdml.TDMLExceptionImpl: (Implementation: daffodilC) 
UnparseError: Unparse Error: Result of 
/tmp/daffodilC14041106780301072313/c/daffodil...: 132 [error] , took 4.447 sec
[error]     at 
org.apache.daffodil.tdml.TDMLException$.apply(TDMLException.scala:36)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.doOnePassRoundTripUnparseExpectSuccess(TDMLRunner.scala:1204)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.runParseExpectSuccess(TDMLRunner.scala:1354)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.$anonfun$runProcessor$2(TDMLRunner.scala:989)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.$anonfun$runProcessor$2$adapted(TDMLRunner.scala:979)
[error]     at scala.util.Either$RightProjection.foreach(Either.scala:652)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.runProcessor(TDMLRunner.scala:979)
[error]     at org.apache.daffodil.tdml.TestCase.run(TDMLRunner.scala:922)
[error]     at 
org.apache.daffodil.tdml.DFDLTestSuite.runOneTest(TDMLRunner.scala:452)
[error]     at 
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:229)
[error]     at 
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:235)
[error]     at 
org.apache.daffodil.runtime2.TestExNums.c_ex_nums(TestExNums.scala:48)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
[error]     at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error]     at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:566)
[error]     ...
[error] Caused by: Unparse Error: Result of 
/tmp/daffodilC14041106780301072313/c/daffodil...: 132 [error] Caused by: 
os.SubprocessException: Result of 
/tmp/daffodilC14041106780301072313/c/daffodil...: 132
[error]     at os.proc.call(ProcessOps.scala:87)
[error]     at 
org.apache.daffodil.processor.tdml.Runtime2TDMLDFDLProcessor.unparse(Runtime2TDMLDFDLProcessor.scala:197)
[error]     at 
org.apache.daffodil.processor.tdml.Runtime2TDMLDFDLProcessor.unparse(Runtime2TDMLDFDLProcessor.scala:217)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.doOnePassRoundTripUnparseExpectSuccess(TDMLRunner.scala:1201)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.runParseExpectSuccess(TDMLRunner.scala:1354)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.$anonfun$runProcessor$2(TDMLRunner.scala:989)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.$anonfun$runProcessor$2$adapted(TDMLRunner.scala:979)
[error]     at scala.util.Either$RightProjection.foreach(Either.scala:652)
[error]     at 
org.apache.daffodil.tdml.ParserTestCase.runProcessor(TDMLRunner.scala:979)
[error]     at org.apache.daffodil.tdml.TestCase.run(TDMLRunner.scala:922)
[error]     at 
org.apache.daffodil.tdml.DFDLTestSuite.runOneTest(TDMLRunner.scala:452)
[error]     at 
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:229)
[error]     at 
org.apache.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:235)
[error]     at 
org.apache.daffodil.runtime2.TestExNums.c_ex_nums(TestExNums.scala:48)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
[error]     at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error]     at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:566)

Any idea's what I'm missing?  I've tested on a different system and everything 
works fine so I'm leaning towards some dependency that I'm missing that we may 
need to document.

Josh

Reply via email to