eclipse / omr

Eclipse OMR™ Cross platform components for building reliable, high performance language runtimes
http://www.eclipse.org/omr
Other
939 stars 394 forks source link

Reenable the GC test on zos #4304

Open rwy7 opened 4 years ago

rwy7 commented 4 years ago

The GC tests have been disabled on zos, due to an xml parsing issue. The issue needs to be fixed, and the tests need to be reenabled.

Failing output from last build:

00:13:42  ./omrgctest --gtest_filter="gcFunctionalTest*"
00:13:42  Note: Google Test filter = gcFunctionalTest*
00:13:42  [==========] Running 8 tests from 1 test case.
00:13:42  [----------] 8 tests from gcFunctionalTest/GCConfigTest
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/sample_GC_config.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/0, where GetParam() = "fvtest\agctest\aconfiguration\asample_GC_config.xml" (1 ms)
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/test_system_gc.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/1, where GetParam() = "fvtest\agctest\aconfiguration\atest_system_gc.xml" (0 ms)
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/global_GC_config.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/2, where GetParam() = "fvtest\agctest\aconfiguration\aglobal_GC_config.xml" (0 ms)
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/optavgpause_GC_config.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/3, where GetParam() = "fvtest\agctest\aconfiguration\aoptavgpause_GC_config.xml" (0 ms)
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/scavenger_GC_config.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/4, where GetParam() = "fvtest\agctest\aconfiguration\ascavenger_GC_config.xml" (0 ms)
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/scavenger_GC_backout_config.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/5, where GetParam() = "fvtest\agctest\aconfiguration\ascavenger_GC_backout_config.xml" (1 ms)
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/gencon_GC_config.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/6, where GetParam() = "fvtest\agctest\aconfiguration\agencon_GC_config.xml" (0 ms)
00:13:42  Failed to load test configuration file (fvtest/gctest/configuration/gencon_GC_backout_config.xml) with error description: Error parsing start element tag.
00:13:42  Failed to load GC startup options.
00:13:42  ./GCConfigTest.cpp:73: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 8
00:13:42  Setup(): OMR_GC_IntializeHeapAndCollector failed, rc=8
00:13:42  ./GCConfigTest.cpp:196: Failure
00:13:42        Expected: OMR_ERROR_NONE
00:13:42        Which is: 0
00:13:42  To be equal to: rc
00:13:42        Which is: 9
00:13:42  TearDown(): OMR_Thread_Free failed, rc=9
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/7, where GetParam() = "fvtest\agctest\aconfiguration\agencon_GC_backout_config.xml" (0 ms)
00:13:42  [----------] 8 tests from gcFunctionalTest/GCConfigTest (2 ms total)
00:13:42  
00:13:42  [==========] 8 tests from 1 test case ran. (2 ms total)
00:13:42  [  PASSED  ] 0 tests.
00:13:42  [  FAILED  ] 8 tests, listed below:
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/0, where GetParam() = "fvtest\agctest\aconfiguration\asample_GC_config.xml"
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/1, where GetParam() = "fvtest\agctest\aconfiguration\atest_system_gc.xml"
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/2, where GetParam() = "fvtest\agctest\aconfiguration\aglobal_GC_config.xml"
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/3, where GetParam() = "fvtest\agctest\aconfiguration\aoptavgpause_GC_config.xml"
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/4, where GetParam() = "fvtest\agctest\aconfiguration\ascavenger_GC_config.xml"
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/5, where GetParam() = "fvtest\agctest\aconfiguration\ascavenger_GC_backout_config.xml"
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/6, where GetParam() = "fvtest\agctest\aconfiguration\agencon_GC_config.xml"
00:13:42  [  FAILED  ] gcFunctionalTest/GCConfigTest.test/7, where GetParam() = "fvtest\agctest\aconfiguration\agencon_GC_backout_config.xml"
00:13:42  
00:13:42   8 FAILED TESTS

/cc @dnakamura @youngar @fjeremic

dnakamura commented 4 years ago

looks we are building with --enable-native-encoding. I thinking that something funny may be happenign with the tagging/autoconversion.

fjeremic commented 4 years ago

Likely a similar issue to that fixed in #4178. If we are reading from an XML I suspect we're using the port library to do so, so we'll need to add OMR_EBCDIC guards to disable ASCII to EBCDIC conversion since we are reading using native encoding in OMR.

dnakamura commented 4 years ago

@fjeremic pugixl bypasses the port library (you just pass it a file name) Based on aquick glance at the code it looks like pugixml does fopen(path_, "rb"); . Without reading the docs, I'd guess that by passing the 'b' flag to fopen, you disable auto-conversion.

fjeremic commented 4 years ago

This is likely the case. According to [1]:

Automatic conversion for untagged UNIX files can only take place between IBM-1047 and ISO8859-1 code sets. Other CCSID pairs are not supported. By default, automatic conversion for untagged files applies only to files opened in text mode. An untagged file opened in binary mode is not converted automatically. You can control this by using the _EDC_AUTOCVT_BINARY environment variable. For more information about the _EDC_AUTOCVT_BINARY environment variable, see z/OS XL C/C++ Programming Guide.

[1] https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.ceea500/filtag.htm

dnakamura commented 4 years ago

Is this test also failing in the PR builds?

fjeremic commented 4 years ago

It would, if we were to run the test. We only run 8 different tests in PR builds. See [2]. Recently though as part of #4290 we synchronized so the Build and PR pipelines run the exact same thing. This issue was opened as a result to track fixing the problem which was only previously observed in Build pipelines, as they were the only ones running this GC test.

[2] https://github.com/eclipse/omr/blob/33d47346736c2185cebea7f23d61486487ee894c/buildenv/jenkins/jobs/pull-requests/PullRequest-zos_390-64#L26-L35

github-actions[bot] commented 4 years ago

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment on the issue or it will be closed in 60 days.

rwy7 commented 4 years ago

Issue still valid, removing stale label.