Skip to content

Add libmesh_abort(), separate exception content#4376

Merged
roystgnr merged 11 commits intolibMesh:develfrom
loganharbour:other_terminate
Jan 28, 2026
Merged

Add libmesh_abort(), separate exception content#4376
roystgnr merged 11 commits intolibMesh:develfrom
loganharbour:other_terminate

Conversation

@loganharbour
Copy link
Copy Markdown
Member

No description provided.

@loganharbour loganharbour force-pushed the other_terminate branch 5 times, most recently from 5d08102 to 3563795 Compare January 27, 2026 18:23
Copy link
Copy Markdown
Member

@roystgnr roystgnr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's keep libmesh_terminate() for throwing an exception. and change libmesh_terminate(bool) to libmesh_abort(bool)?

@loganharbour loganharbour force-pushed the other_terminate branch 2 times, most recently from 0a32b77 to ea3fe71 Compare January 27, 2026 18:34
@loganharbour
Copy link
Copy Markdown
Member Author

@jwpeterson would you mind taking a look at this when you have a moment? Still trying to work through abort chaos in MOOSE and I think we got in too deep, so we're adding libmesh_abort() to enable an abort without using exceptions.

@jwpeterson
Copy link
Copy Markdown
Member

@jwpeterson would you mind taking a look at this when you have a moment?

Not sure exactly what you guys are using to determine whether or not your update is "working", but once @roystgnr is OK with it, so am I.

@roystgnr
Copy link
Copy Markdown
Member

We've passed all the libMesh CI, and without Logan's changes downstream this shouldn't affect the remaining MOOSE modules tests, so I'm going to try pushing my "try to break up libmesh.C and libmesh.h a little more" refactor and see if I broke anything there.

@roystgnr
Copy link
Copy Markdown
Member

Oh, whoops - what sparked that refactor was the realization that we need to be using libmesh_abort() instead of std::abort() in libmesh_exceptions.h, and that's the one thing I didn't actually change. One second...

@roystgnr
Copy link
Copy Markdown
Member

Oh, no, I did get it in there.

@roystgnr
Copy link
Copy Markdown
Member

Yeah, if this passes CI still and works for Logan then it ought to be ready to merge.

Copy link
Copy Markdown
Member Author

@loganharbour loganharbour left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I'll pull and test

Comment thread src/base/libmesh.C
roystgnr and others added 3 commits January 27, 2026 16:43
This was a regression from the terminate_handler/abort refactoring; we
don't want to hit the previous terminate handler before trying to
MPI_Abort if applicable, because then we'll never get to the "better"
parallel abort.
@loganharbour loganharbour changed the title Add other idea for terminate Add libmesh_abort(), separate exception content Jan 27, 2026
These got swept up in the fork from libmesh.C
Copy link
Copy Markdown
Member Author

@loganharbour loganharbour left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@moosebuild
Copy link
Copy Markdown

Job Coverage, step Generate coverage on 4b38f15 wanted to post the following:

Coverage

b486db #4376 4b38f1
Total Total +/- New
Rate 65.31% 65.30% -0.01% 2.67%
Hits 77569 77557 -12 2
Misses 41206 41218 +12 73

Diff coverage report

Full coverage report

Warnings

  • New new line coverage rate 2.67% is less than the suggested 90.0%

This comment will be updated on new commits.

@roystgnr roystgnr merged commit 502d428 into libMesh:devel Jan 28, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants