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

OpenStudio temp dir errors due to collisions #4824

Closed
shorowit opened this issue Mar 10, 2023 · 2 comments · Fixed by #4903
Closed

OpenStudio temp dir errors due to collisions #4824

shorowit opened this issue Mar 10, 2023 · 2 comments · Fixed by #4903

Comments

@shorowit
Copy link
Contributor

Issue overview

The ResStock team has been seeing intermittent errors like this:

/__w/get-resstock/get-resstock/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlvalidator.rb:23: [BUG] Segmentation fault at 0x00007fea7d60c88d [1000](https://github.com/NREL/get-resstock/actions/runs/4379849953/jobs/7666240835#step:5:1001)ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux] [1001](https://github.com/NREL/get-resstock/actions/runs/4379849953/jobs/7666240835#step:5:1002) [1002](https://github.com/NREL/get-resstock/actions/runs/4379849953/jobs/7666240835#step:5:1003)-- Control frame information ----------------------------------------------- [1003](https://github.com/NREL/get-resstock/actions/runs/4379849953/jobs/7666240835#step:5:1004)c:0023 p:---- s:0231 e:000230 CFUNC  :validate [1004](https://github.com/NREL/get-resstock/actions/runs/4379849953/jobs/7666240835#step:5:1005)c:0022 p:0033 s:0226 e:000225 METHOD /__w/get-resstock/get-resstock/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlvalidator.rb:23

and

Building ID: 160. Upgrade Name: Baseline. Job ID: 1. [6642](https://github.com/NREL/resstock/actions/runs/4387659768/jobs/7683221795#step:5:6643)[openstudio.measure.OSRunner] <1> Cannot find current Workflow Step [6643](https://github.com/NREL/resstock/actions/runs/4387659768/jobs/7683221795#step:5:6644)[openstudio.measure.OSRunner] <1> Cannot find current Workflow Step [6644](https://github.com/NREL/resstock/actions/runs/4387659768/jobs/7683221795#step:5:6645)[openstudio.XMLValidator] <2> Writing to file failed for /tmp/xmlvalidation-1678478194-0/EPvalidator_stylesheet.xslt

The second error message in particular suggests that there is some kind of collision happening related to the XSLT file created for Schematron validation.

Looking at the source code, this appears like it might be the culprit:

filename += openstudio::toPath("-" + std::to_string(std::time(nullptr)) + "-" + std::to_string(count++));

If you are running lots of simulations in parallel, it appears that two OS CLIs can have temp dir collisions.

@nmerket @joseph-robertson

@shorowit shorowit added the Triage Issue needs to be assessed and labeled, further information on reported might be needed label Mar 10, 2023
@tijcolem tijcolem added component - CLI severity - Normal Bug and removed Triage Issue needs to be assessed and labeled, further information on reported might be needed labels Mar 31, 2023
@shorowit
Copy link
Contributor Author

shorowit commented Apr 4, 2023

Note that we were able to successfully work around the issue by providing our own temporary dir to OpenStudio for XSLT generation when performing Schematron validation.

It looks like gbxml also uses this openstudio::filesystem::create_temporary_directory method, so that might be similarly impacted?

@wnykuang
Copy link
Contributor

Found a niche in reading the snippet, under the while loop:

while (attempts < allowed_attempts) {

The attempts hasn't been updated.

jmarrec added a commit that referenced this issue Jun 29, 2023
Fix #4824 - Use a unique_path in create_temporary_directory to avoid collision
shorowit added a commit to NREL/OpenStudio-HPXML that referenced this issue Jan 16, 2024
joseph-robertson added a commit to NREL/resstock that referenced this issue Jan 17, 2024
1c83895eb8 Update measure.xml [ci skip]
7292979287 Try reverting XMLValidator workaround for NREL/OpenStudio#4824.

git-subtree-dir: resources/hpxml-measures
git-subtree-split: 1c83895eb83585acd68736c6e5b8811cf1fdc6ce
shorowit added a commit to NREL/OpenStudio-ERI that referenced this issue Jan 17, 2024
14fb976588 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022
0d2ad4c32e Merge pull request #1590 from NREL/revert_xmlvalidator
5e0f974989 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into revert_xmlvalidator
a1db341e67 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022
d2191ea01f Merge pull request #1577 from NREL/ansi_301_2022_programmable_thermostat
a5934e0e09 Remove Changelog.md entry [ci skip]
1c83895eb8 Update measure.xml [ci skip]
7292979287 Try reverting XMLValidator workaround for NREL/OpenStudio#4824.
00f8b38767 Merge branch 'ansi_301_2022_programmable_thermostat' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022_programmable_thermostat
287d318baa Revert changes in test_defaults [ci skip]
a4fdb6476f Latest results.
72c5f982f3 Fix default heating/cooling setpoints when there's no HVAC system
4eae84d5f5 Run update_measures [ci skip]
42143ff8b9 Update changelog [ci skip]
5b5b964f95 Fix test_defaults.rb
03173ee833 Bugfix
0890573cab Simplify getting default setpoints for HVAC control type manual
bd4c75beec Update HPXMLtoOpenStudio/resources/hpxml_defaults.rb
9fb96818d8 Latest results.
c2598cc89b Merge branch 'ansi_301_2022' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022_programmable_thermostat
78ad111379 Use 24-hr weekday/weekend setpoints for older ERI versions
c102844ee2 Oops.
d6d594c8e8 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022
513acded4f Latest results.
ce3851566e Merge branch 'master' into ansi_301_2022
bdbf9cd0de Latest results.
67848fe81e Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022
a9d0011a12 Latest results.
cb3775f586 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022
3f5105ea24 Run update_measures
6696a7e5b6 Support 301-2022 programmable thermostat schedules
25cade3703 Latest results.
6a137735c6 Remove natural ventilation RH constraint to comply with ANSI 301-2022; HR constraint is still in place.
fe3dc91a5c Update default CFIS fan power. Fix ANSI 301 links in docs.
85b40864fe Update Qinf=f(NL) equation.
bddcef9920 Prep for ANSI 301-2022.

git-subtree-dir: hpxml-measures
git-subtree-split: 14fb97658871fb8b5b3a2f5b053cf4356b223e97
shorowit added a commit to NREL/OpenStudio-ERI that referenced this issue Jan 17, 2024
dc687d155e Merge branch 'ansi_301_2022' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022_airflow
14fb976588 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022
0d2ad4c32e Merge pull request #1590 from NREL/revert_xmlvalidator
5e0f974989 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into revert_xmlvalidator
451001898c Merge pull request #1589 from NREL/flatten_documentation
7cb579f037 Some cleanup/fixes.
612c71105d Update test.
9d22e625c0 Update BuildResHPXML measure links.
188a92825c Handle hot water distribution [ci skip]
53249533f4 Handle solar thermal [ci skip]
c482b8eb41 Use consistent language [ci skip]
ec645b9a5e Handle ventilation fans. [ci skip]
32f2f2c567 Address HVAC distribution [ci skip]
5305dbff27 Address water heaters. [ci skip]
80c4a2586a Address heat pumps [ci skip]
a1db341e67 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022
d2191ea01f Merge pull request #1577 from NREL/ansi_301_2022_programmable_thermostat
a5934e0e09 Remove Changelog.md entry [ci skip]
1c83895eb8 Update measure.xml [ci skip]
7292979287 Try reverting XMLValidator workaround for NREL/OpenStudio#4824.
00f8b38767 Merge branch 'ansi_301_2022_programmable_thermostat' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022_programmable_thermostat
287d318baa Revert changes in test_defaults [ci skip]
a4fdb6476f Latest results.
72c5f982f3 Fix default heating/cooling setpoints when there's no HVAC system
b9b2eef38b Flatten HVAC heating and cooling systems. [ci skip]
9d6504d6c3 Clarify operable window area [ci skip]
9345750def Minor stuff. [ci skip]
4eae84d5f5 Run update_measures [ci skip]
42143ff8b9 Update changelog [ci skip]
5b5b964f95 Fix test_defaults.rb
03173ee833 Bugfix
0890573cab Simplify getting default setpoints for HVAC control type manual
bd4c75beec Update HPXMLtoOpenStudio/resources/hpxml_defaults.rb
595311b61d Merge pull request #1583 from NREL/perf-data-args
970991b687 A little more clarification that min/max refer to speeds, not the capacities/cops themselves. Also adds more conditionals on when we attach the detailed performance data to cooling systems or heat pumps.
c1d7100790 Update argument names and descriptions.
a6b697c506 Merge branch 'master' into perf-data-args
9fb96818d8 Latest results.
c2598cc89b Merge branch 'ansi_301_2022' of https://github.com/NREL/OpenStudio-HPXML into ansi_301_2022_programmable_thermostat
78ad111379 Use 24-hr weekday/weekend setpoints for older ERI versions
be7cf3a60f Add build tests for errors.
294004fb47 Update hpxml_inputs json.
4670c314e3 Simplify new perf data arguments.
9d36c872c8 Merge branch 'master' into perf-data-args
03d3c8f477 Generate detailed performance sample files using build measure.
d80b4f80ce Add detailed performance data arguments.
3f5105ea24 Run update_measures
6696a7e5b6 Support 301-2022 programmable thermostat schedules

git-subtree-dir: hpxml-measures
git-subtree-split: dc687d155e77b6303ab13769fe58c4313c8c5505
shorowit added a commit to NREL/OpenStudio-ERI that referenced this issue Jan 19, 2024
5201bca29f Ignore OS message.
0d2ad4c32e Merge pull request #1590 from NREL/revert_xmlvalidator
5e0f974989 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into revert_xmlvalidator
1c83895eb8 Update measure.xml [ci skip]
7292979287 Try reverting XMLValidator workaround for NREL/OpenStudio#4824.

git-subtree-dir: hpxml-measures
git-subtree-split: 5201bca29f74e8b763784dd9e251ed88a21fdcb2
joseph-robertson added a commit to NREL/resstock that referenced this issue Jan 23, 2024
ff419d5f4d Merge branch 'master' into autosizing_detailed_performance
bafce2715a Convert dps to floats and test passes.
1531070587 Merge pull request #1588 from NREL/appliance_schema_validation
6a87401e45 Update measure.xml
dec0958e72 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into appliance_schema_validation
1caac3fdb4 Update to HPXML v4-rc3.
c75b04ac09 New build test for perf data with apply_defaults=true.
9587aeb95d Latest results.
69730d7aaf Merge branch 'autosizing_detailed_performance' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
6c5cedc713 reconfigure a test file
14fd75bf8e Small fix, noticed by @joseph-robertson.
2be3174fa5 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
5201bca29f Ignore OS message.
0d2ad4c32e Merge pull request #1590 from NREL/revert_xmlvalidator
5e0f974989 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into revert_xmlvalidator
451001898c Merge pull request #1589 from NREL/flatten_documentation
7cb579f037 Some cleanup/fixes.
612c71105d Update test.
9d22e625c0 Update BuildResHPXML measure links.
188a92825c Handle hot water distribution [ci skip]
53249533f4 Handle solar thermal [ci skip]
c482b8eb41 Use consistent language [ci skip]
ec645b9a5e Handle ventilation fans. [ci skip]
32f2f2c567 Address HVAC distribution [ci skip]
5305dbff27 Address water heaters. [ci skip]
80c4a2586a Address heat pumps [ci skip]
1c83895eb8 Update measure.xml [ci skip]
7292979287 Try reverting XMLValidator workaround for NREL/OpenStudio#4824.
b9b2eef38b Flatten HVAC heating and cooling systems. [ci skip]
9d6504d6c3 Clarify operable window area [ci skip]
9345750def Minor stuff. [ci skip]
7f87b2aef9 Moves most of the appliance schematron validation to the HPXML schema itself.

git-subtree-dir: resources/hpxml-measures
git-subtree-split: ff419d5f4d4260690ceb08485694987120158019
joseph-robertson added a commit to NREL/resstock that referenced this issue Jan 24, 2024
…8ccd3

b5a3608ccd3 Latest results.
12ff3684fbc Fix typo.
022fb2723c8 Remove rule from epvalidator and instead max takes precedence.
8ec19a9aeaa Remove new hvac sizing test now that it is replaced in default tests.
7dfe1666df1 Update schematron and add test.
cd85f959a9a Update build measure argument descriptions.
fd7261677f4 Fix docs tables.
cd1d3cd8626 Merge branch 'master' into max-airflow-args2
fab1e24cd48 Replace high-level restriction input with optiona max airflow args.
d6fac4f185a Fix bug in new method and update tests.
5201bca29f7 Ignore OS message.
0d2ad4c32e6 Merge pull request #1590 from NREL/revert_xmlvalidator
5e0f974989b Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into revert_xmlvalidator
546f504c90f Merge branch 'master' into max-airflow-args2
9b023438f93 Merge branch 'max-airflow-args2' of github.com:NREL/OpenStudio-HPXML into max-airflow-args2
9b2e5ae8d47 Start adding ductwork restriction tests for various system types.
451001898c7 Merge pull request #1589 from NREL/flatten_documentation
7cb579f0372 Some cleanup/fixes.
66619ec8299 Latest results.
6e60e7662b9 Update default tests with airflow checks.
612c71105d6 Update test.
9d22e625c04 Update BuildResHPXML measure links.
188a92825c1 Handle hot water distribution [ci skip]
53249533f4f Handle solar thermal [ci skip]
c482b8eb413 Use consistent language [ci skip]
ec645b9a5ed Handle ventilation fans. [ci skip]
32f2f2c5678 Address HVAC distribution [ci skip]
5305dbff27e Address water heaters. [ci skip]
a8a9034caf6 Clean up code in new method.
24f61d9de6a Merge branch 'master' into max-airflow-args2
80c4a2586a6 Address heat pumps [ci skip]
d0319bff915 Merge branch 'master' into max-airflow-args2
deacd79d179 Few comment updates.
1c83895eb83 Update measure.xml [ci skip]
72929792871 Try reverting XMLValidator workaround for NREL/OpenStudio#4824.
b9b2eef38b1 Flatten HVAC heating and cooling systems. [ci skip]
57dd48445ca Collapse airflow and fan adjustment into one.
184154e3c4d Merge branch 'master' into max-airflow-args
04c57c7c68e Latest results.
2b1714b99aa For now only apply fan adjustment to HP.
516e4efdbf1 Update fan adjustment and max airflow test expected values.
1a6bd6c2210 Update max_airflows method based on comments.
17ad82f65a8 Merge branch 'master' into max-airflow-args
cc8c13a1fa5 Switch v_baseline with v_upgrade, and add a commented question.
383036900a1 Set capacity to the max?
f2ae179a74a Merge branch 'master' into max-airflow-args
8b3979ba1f5 Latest results.
c1f802ac386 Update the docs.
8e27f7ce815 Move fan adjust bool to heat pump, update schematron, add sample file.
75f3797aaaa Fix the docs.
ce762cf93a8 Begin to add airflow cfm fields to docs.
44a7f2c6b88 Latest results.
0aaa5dd47c3 Skip max-airflow hvac_configuration test for now.
4cb9e587be0 Write new methods for hvac_sizing.
1beb3691411 Merge branch 'watts-per-cfm-args' into max-airflow-args
a7b2f89d3a1 Merge branch 'master' into watts-per-cfm-args
31a36babbb0 Latest results.
522f1819ae6 Forgot to actually set the new arg value.
ee6abb726ee Add bool arg for fan efficiency adjustment.
fdb5f16f79b Latest results.
4e6438e7a19 Merge branch 'watts-per-cfm-args' into max-airflow-args
35634487355 Update hpxml inputs json after merge.
69518743ec2 Merge branch 'watts-per-cfm-args' into max-airflow-args
31c271c90d0 Merge branch 'master' into watts-per-cfm-args
2551567f137 Latest results.
7ffc8206ae9 Forgot to default the new bool arg.
6d59d3257ce Switch from new methodology to just an input, and write a test.
a6dcec067af Use airflow max method.
a134d7fbd88 For now, test using a new sample file.
fc2836ec131 Update defaults for fan adjustment and airflow maximums.
e2d50c8b839 Update epvalidator for new hp sizing methodology enum.
49f9ba2bea9 Add new hp sizing methodology, and args for airflow rates.
03371101b8d Merge branch 'master' into watts-per-cfm-args
44b6e2730a2 Merge branch 'master' into watts-per-cfm-args
c6f30fa3eef Collapse new args into a single one since only a single air distribution system is supported.
41c6cee061c Regenerate the BuildResHPXML readme file.
5af4e6167bc Replace tasks.rb mods with hpxml_inputs.json updates.
f43e85faf8c Add optional blower fan efficiency args to BuildResHPXML.

git-subtree-dir: resources/hpxml-measures
git-subtree-split: b5a3608ccd38db6c63db560801d5de16ecdea791
joseph-robertson added a commit to NREL/resstock that referenced this issue Jan 25, 2024
…4fcbd

067a2f4fcbd Merge pull request #1594 from NREL/whole_building_element
11df190d692 Update expected warning msg
c766fb808b1 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into whole_building_element
230a7177bfb Merge pull request #1558 from NREL/autosizing_detailed_performance
4a1a2f44e40 Fix/update code, improve warning messages, add test.
19f740d9308 Minor docs cleanup.
26f73782f85 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
16e04ce9ee8 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into whole_building_element
ac23fdbc050 Merge pull request #1598 from NREL/error-emissions-runperiod
385a057ab70 Latest results.
ea8db187b90 Update CI expected test results.
e9ed98ffbbd Fix bug. Expand test to include leap year, incorporate into existing base-simcontrol-runperiod-1-month.xml sample file.
5929b89c3dc Add failing sample file with emissions scenarios and short run period.
a473172fdbc Merge branch 'autosizing_detailed_performance' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
c8dfaa714f6 address comments related to docs
7e7d7f0db33 Latest results.
b655081b8d0 address comments
1bffa2cf726 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
79605b0d87d Merge pull request #1596 from NREL/wh_installation_location
4b083fe2371 Merge branch 'wh_installation_location' of https://github.com/NREL/OpenStudio-HPXML into wh_installation_location
c7b48bb36cc Updated documentation so all references to WH installation location are updated. Thanks Scott for pointing out I missed the other references to it.
04cae6b4b55 Update Changelog.md
ab7ae0871ec Fix CI test.
fa23fdbdcda Latest results.
46d001651f5 Update documentation
080f971743f Minor update to logic to be consistent with ANSI 301 2022.
ff419d5f4d4 Merge branch 'master' into autosizing_detailed_performance
bafce2715a9 Convert dps to floats and test passes.
1b2eb7d25cc Merge branch 'whole_building_element' of https://github.com/NREL/OpenStudio-HPXML into whole_building_element
86a438ef2fc Expose arg in BuildResidentialHPXML measure. Update docs/changelog.
1076f40c071 Latest results.
c763875bffc Clean up temp file.
0c27b2be11d Use a warning instead of an error. Add base-bldgtype-mf-whole-building.xml simulation results to CI artifact.
586a7b06b4a Disallow building_id arg when WholeSFAorMFBuildingSimulation=true. Expand tests.
a295a57cf46 Fix CI tests.
ab5b3d1fa86 Revert.
13a2f862182 Bugfix.
d8d0c8c7b0d This is simpler and should work.
8a2712fbe22 Replaces `-b ALL` with an element in the HPXML file, which allows us to perform validation specific to whole MF building simulations.
1531070587f Merge pull request #1588 from NREL/appliance_schema_validation
6a87401e450 Update measure.xml
dec0958e728 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into appliance_schema_validation
1caac3fdb46 Update to HPXML v4-rc3.
c75b04ac091 New build test for perf data with apply_defaults=true.
9587aeb95df Latest results.
69730d7aaf1 Merge branch 'autosizing_detailed_performance' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
6c5cedc7134 reconfigure a test file
14fd75bf8e2 Small fix, noticed by @joseph-robertson.
2be3174fa56 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
5201bca29f7 Ignore OS message.
0d2ad4c32e6 Merge pull request #1590 from NREL/revert_xmlvalidator
5e0f974989b Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into revert_xmlvalidator
451001898c7 Merge pull request #1589 from NREL/flatten_documentation
7cb579f0372 Some cleanup/fixes.
612c71105d6 Update test.
9d22e625c04 Update BuildResHPXML measure links.
188a92825c1 Handle hot water distribution [ci skip]
53249533f4f Handle solar thermal [ci skip]
c482b8eb413 Use consistent language [ci skip]
ec645b9a5ed Handle ventilation fans. [ci skip]
32f2f2c5678 Address HVAC distribution [ci skip]
5305dbff27e Address water heaters. [ci skip]
80c4a2586a6 Address heat pumps [ci skip]
1c83895eb83 Update measure.xml [ci skip]
72929792871 Try reverting XMLValidator workaround for NREL/OpenStudio#4824.
b9b2eef38b1 Flatten HVAC heating and cooling systems. [ci skip]
7f87b2aef97 Moves most of the appliance schematron validation to the HPXML schema itself.
c3fdc0713a9 update_measures
7b1c6eead7f docs and changelog
d475647bb92 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
5d9aa74af84 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
ebcc65c4869 update hpxmls
21f675c7884 fixed ci error and added a test for capacity and capacity fractions
f59feb37211 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
315d22a5afe require nominal cooling heating capacities when capacities are provided in detailed performance data
83c21934386 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance
1b00e68f88b first cut to implement autosizing detailed performance data
66ebdb10907 add new test files

git-subtree-dir: resources/hpxml-measures
git-subtree-split: 067a2f4fcbd86516600d46d0ef20cf9d5ed1a10c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants