BHoM_Engine icon indicating copy to clipboard operation
BHoM_Engine copied to clipboard

Structure_Engine: Fix stack overflow exception for Area for FEMesh

Open IsakNaslundBh opened this issue 1 year ago • 6 comments
trafficstars

Issues addressed by this PR

Closes #3323

Found by investigating issue with unit tests. Problem was a real stack overflow exception in the area method for the FEMesh.

All structural dataset re-serialised to account for the change from StartNode to Start etc on the bars.

Test files

Unit-tests should now run.

Changelog

Additional comments

IsakNaslundBh avatar Apr 15 '24 09:04 IsakNaslundBh

@BHoMBot check compliance @BHoMBot check unit-tests

IsakNaslundBh avatar Apr 15 '24 09:04 IsakNaslundBh

@IsakNaslundBh to confirm, the following actions are now queued:

  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check branch-compliance
  • check dataset-compliance
  • check copyright-compliance
  • check unit-tests

bhombot-ci[bot] avatar Apr 15 '24 09:04 bhombot-ci[bot]

@BHoMBot check unit-tests

IsakNaslundBh avatar Apr 15 '24 10:04 IsakNaslundBh

@IsakNaslundBh to confirm, the following actions are now queued:

  • check unit-tests

bhombot-ci[bot] avatar Apr 15 '24 10:04 bhombot-ci[bot]

@BHoMBot check unit-tests

FraserGreenroyd avatar Apr 15 '24 10:04 FraserGreenroyd

@FraserGreenroyd to confirm, the following actions are now queued:

  • check unit-tests

There are 2 requests in the queue ahead of you.

bhombot-ci[bot] avatar Apr 15 '24 10:04 bhombot-ci[bot]

@IsakNaslundBh to confirm, the following actions are now queued:

  • check unit-tests

bhombot-ci[bot] avatar Apr 22 '24 07:04 bhombot-ci[bot]

@IsakNaslundBh to confirm, the following actions are now queued:

  • check unit-tests

bhombot-ci[bot] avatar Apr 22 '24 11:04 bhombot-ci[bot]

Have tried to get all structures UTs working as intended now.

The only one still failing locally is the Cellular section, and that is a serialisation issue rather than a UT issue.

It is coming from the change to how the name is handled in https://github.com/BHoM/BHoM_Engine/pull/3144 . Where the obejct returned has an empty name, but when serialised and de-serialised it comes back with a null name.

Might be worth raising an issue for, not sure. Could potentially set names on deserialization to emtpy strings rather than null, but that could cause similar issues the other way around. Other otption would be to roll back the change for the name made in the linked PR, or make it onyl skip name if null, rather than NullOrEMpty. Nontheless, out of scope for this particular PR.

IsakNaslundBh avatar Apr 22 '24 12:04 IsakNaslundBh

The Bot seem to agree with me. Think this can be reviewed now. Only failing UT for structures is the one I mentioned above. The rest is also to be fixed, but not in this PR, but should be fixed by the corresponding code owners, which is @IsakNaslundBh , @alelom @peterjamesnugent @FraserGreenroyd (See current failing tests)

IsakNaslundBh avatar Apr 22 '24 12:04 IsakNaslundBh

@BHoMBot check compliance @BHoMBot check required

IsakNaslundBh avatar Apr 23 '24 07:04 IsakNaslundBh

@IsakNaslundBh to confirm, the following actions are now queued:

  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check branch-compliance
  • check dataset-compliance
  • check copyright-compliance
  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check core
  • check null-handling
  • check serialisation
  • check versioning
  • check installer

bhombot-ci[bot] avatar Apr 23 '24 07:04 bhombot-ci[bot]

The check code-compliance has already been run previously and recorded as a successful check. This check has not been run again at this time.

bhombot-ci[bot] avatar Apr 23 '24 07:04 bhombot-ci[bot]

The check documentation-compliance has already been run previously and recorded as a successful check. This check has not been run again at this time.

bhombot-ci[bot] avatar Apr 23 '24 07:04 bhombot-ci[bot]

FAO: @FraserGreenroyd @pawelbaran is seeking dispensation on this Pull Request to skip a required check. Please can you provide authorisation for the check to be skipped, or provide assistance as appropriate.

The check they wish to have dispensation on is unit-tests.

If you are providing dispensation on this occasion, please reply with:

@BHoMBot this is a DevOps instruction. I am authorising dispensation to be granted on check ref. 24100093353

bhombot-ci[bot] avatar Apr 23 '24 07:04 bhombot-ci[bot]

@BHoMBot this is a DevOps instruction. I am authorising dispensation to be granted on check ref. 24100093353

IsakNaslundBh avatar Apr 23 '24 07:04 IsakNaslundBh

@IsakNaslundBh I have now provided a passing check on reference 24100093353 as requested.

bhombot-ci[bot] avatar Apr 23 '24 07:04 bhombot-ci[bot]

Providing dispensation as of comment here: https://github.com/BHoM/BHoM_Engine/pull/3330#issuecomment-2069287165

IsakNaslundBh avatar Apr 23 '24 07:04 IsakNaslundBh

@BHoMBot check ready-to-merge

IsakNaslundBh avatar Apr 23 '24 07:04 IsakNaslundBh

@IsakNaslundBh to confirm, the following actions are now queued:

  • check ready-to-merge

bhombot-ci[bot] avatar Apr 23 '24 07:04 bhombot-ci[bot]