Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OS_ASSERT error in IdfObject::extensibleGroups in epJSON test #4268

Closed
2 tasks done
jmarrec opened this issue Mar 30, 2021 · 0 comments · Fixed by #4269
Closed
2 tasks done

OS_ASSERT error in IdfObject::extensibleGroups in epJSON test #4268

jmarrec opened this issue Mar 30, 2021 · 0 comments · Fixed by #4269

Comments

@jmarrec
Copy link
Collaborator

jmarrec commented Mar 30, 2021

Issue overview

This has nothing to do with epJSONTranslator, it fails with OpenStudio 3.1.0 and develop alike. It's an error loading the Idf files... (I'm pretty sure one of IDF is faulty, but will confirm)

I was seeing these two tests failling locally but intermittently and CI wasn't complaining... I now realize this is just happening in Debug mode since it's an OS_ASSERT...

Current Behavior

OpenStudio::openStudioLongVersion
"3.1.0+e165090621"

[1] OS-build(main)> source_idf_path = '/home/julien/Software/Others/OS-build/EnergyPlus-9.5.0-003df71316-Linux-Ubuntu18.04-x86_64/ExampleFiles/UnitaryHybridAC_DedicatedOutsideAir.idf'
=> "/home/julien/Software/Others/OS-build/EnergyPlus-9.5.0-003df71316-Linux-Ubuntu18.04-x86_64/ExampleFiles/UnitaryHybridAC_DedicatedOutsideAir.idf"
[2] OS-build(main)> w = OpenStudio::Workspace::load(OpenStudio::Path.new(source_idf_path)).get; wo = w.getObjectsByType("ZoneHVAC:HybridUnitaryHVAC")[0]; wo.extensibleGroups.size
[BOOST_ASSERT] <2> Assertion nExtFields % groupSize == 0 failed on line 1048 of unsigned int openstudio::detail::IdfObject_Impl::numExtensibleGroups() const in file /home/ubuntu/git/OpenStudio/src/utilities/idf/IdfObject.cpp.
[BOOST_ASSERT] <2> Assertion nExtFields % groupSize == 0 failed on line 1048 of unsigned int openstudio::detail::IdfObject_Impl::numExtensibleGroups() const in file /home/ubuntu/git/OpenStudio/src/utilities/idf/IdfObject.cpp.
=> 10

Details

$ ctest --rerun-failed --output-on-failure -R epJSON
Test project /home/julien/Software/Others/OS-build
    Start 2874: epJSONFixture.TranslateIDFToEPJSON_ASHRAE9012016_OutPatientHealthCare_Denver
1/2 Test #2874: epJSONFixture.TranslateIDFToEPJSON_ASHRAE9012016_OutPatientHealthCare_Denver ...Subprocess aborted***Exception:   5.32 sec
Running main() from gmock_main.cc
Note: Google Test filter = epJSONFixture.TranslateIDFToEPJSON_ASHRAE9012016_OutPatientHealthCare_Denver
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from epJSONFixture
[ RUN      ] epJSONFixture.TranslateIDFToEPJSON_ASHRAE9012016_OutPatientHealthCare_Denver
EnergyPlus Starting
EnergyPlus, Version 9.5.0-003df71316, YMD=2021.03.30 11:18
Converted input file format. Exiting.
EnergyPlus Run Time=00hr 00min  0.44sec
EnergyPlus Completed Successfully.
[BOOST_ASSERT] <2> Assertion nExtFields % groupSize == 0 failed on line 983 of unsigned int openstudio::detail::IdfObject_Impl::numExtensibleGroups() const in file /home/julien/Software/Others/OpenStudio/src/utilities/idf/IdfObject.cpp.
openstudio_epjson_tests: /home/julien/Software/Others/OpenStudio/src/utilities/bcl/../core/Assert.hpp:61: void boost::assertion_failed(const char*, const char*, const char*, long int): Assertion `false' failed.

    Start 2878: epJSONFixture.TranslateIDFToEPJSON_UnitaryHybridAC_DedicatedOutsideAir
2/2 Test #2878: epJSONFixture.TranslateIDFToEPJSON_UnitaryHybridAC_DedicatedOutsideAir .........Subprocess aborted***Exception:   2.63 sec
Running main() from gmock_main.cc
Note: Google Test filter = epJSONFixture.TranslateIDFToEPJSON_UnitaryHybridAC_DedicatedOutsideAir
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from epJSONFixture
[ RUN      ] epJSONFixture.TranslateIDFToEPJSON_UnitaryHybridAC_DedicatedOutsideAir
EnergyPlus Starting
EnergyPlus, Version 9.5.0-003df71316, YMD=2021.03.30 11:18
Converted input file format. Exiting.
EnergyPlus Run Time=00hr 00min  0.31sec
EnergyPlus Completed Successfully.
[BOOST_ASSERT] <2> Assertion nExtFields % groupSize == 0 failed on line 983 of unsigned int openstudio::detail::IdfObject_Impl::numExtensibleGroups() const in file /home/julien/Software/Others/OpenStudio/src/utilities/idf/IdfObject.cpp.
openstudio_epjson_tests: /home/julien/Software/Others/OpenStudio/src/utilities/bcl/../core/Assert.hpp:61: void boost::assertion_failed(const char*, const char*, const char*, long int): Assertion `false' failed.


0% tests passed, 2 tests failed out of 2

Total Test time (real) =   8.16 sec

The following tests FAILED:
	2874 - epJSONFixture.TranslateIDFToEPJSON_ASHRAE9012016_OutPatientHealthCare_Denver (Subprocess aborted)
	2878 - epJSONFixture.TranslateIDFToEPJSON_UnitaryHybridAC_DedicatedOutsideAir (Subprocess aborted)

Possible Solution

Failed tests:

Details

Environment

Some additional details about your environment for this issue (if relevant):

  • Platform (Operating system, version):
  • Version of OpenStudio (if using an intermediate build, include SHA):

Context

jmarrec added a commit that referenced this issue Mar 30, 2021
…HRAE9012016_OutPatientHealthCare_Denver.idf
jmarrec added a commit that referenced this issue Mar 30, 2021
…e groups in IdfObject_Impl::resizeToMinFields
@jmarrec jmarrec self-assigned this Mar 30, 2021
tijcolem added a commit that referenced this issue Mar 31, 2021
Fix #4268 - correct implementation of IdfObject_Impl::resizeToMinFields so that it handles truncated extensible groups correctly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment