NatLabRockies / NatLabRockies/OpenStudio

OpenStudio gbXML ReverseTranslator crash on file from ArchiCad/StruSoft

Open
#5,234 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component - gbXML
Dominant language
C++
Stars
646
Forks
237
Avg merge
3d 11h
Merged PRs (30d)
10

Description

Issue overview

User reported crash of OpenStudio Application when importing gbXML file from ArchiCad/StruSoft. File is attached to original issue https://github.com/openstudiocoalition/OpenStudioApplication/issues/726

Current Behavior

The date format in the gbXML file may be invalid according to the schema. This generates an assertion/crash in the gbXML ReverseTranslator::translateSchedule.

Expected Behavior

It would be better if the ReverseTranslator skipped invalid elements rather than crashing.

Steps to Reproduce

Use ReverseTranslator to convert the gbXML file https://github.com/user-attachments/files/16567495/M-K.OS.test.file.xml.zip to OpenStudio

Possible Solution

Skip importing invalid elements rather than crash or provide alternate method to handle invalid elements.

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at gbXML ReverseTranslator::translateSchedule and reproduce the crash with the attached M-K.OS.test.file.xml file from ArchiCad/StruSoft. Trace the invalid date handling and determine where the assertion occurs. Done means the ReverseTranslator skips invalid elements or handles them without crashing while converting the file.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.