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

Fix segfault and other issues in time stepper test #185

Merged

Conversation

mwarusz
Copy link
Member

@mwarusz mwarusz commented Dec 9, 2024

This PR fixes a couple of issues in the time stepper test:

  • Since this test assumes one vertical level, the config value of NVertLevels needs to be reset to 1.
  • The default time stepper needs to be initialized in this test, even though it is not used. In order for it to be initialized properly the default auxiliary state needs to be initialized also.
  • If two different RK4 steppers are created their provisional states need to have different names.

Unfortunately, fixing these issues does not fix the segfault on pm-gpu with gnugpu. It appears that this segfault is caused by a compiler bug. The final commit in this PR is a workaround, which fixes the segfault by removing error codes from the halo pack and unpack functions. I think this is acceptable, because there wasn't any error handling in those functions.

Checklist

  • [] Testing
    • [] Unit tests have passed. Please provide a relevant CDash build entry for verification.

Aside from #183, every test is passing on pm-gpu.

@mwarusz mwarusz requested a review from brian-oneill December 9, 2024 15:57
@brian-oneill
Copy link

Can confirm this resolves the segfault in the TimeStepper test on pm-gpu with gnugpu. Successfully ran unit tests on Chrysalis and Frontier CPU & GPU as well (aside from #183). Other changes look good to me, too.

@mark-petersen mark-petersen self-requested a review December 11, 2024 16:02
@mark-petersen
Copy link

Passes TIMESTEPPER_TEST on perlmutter-cpu.

@mark-petersen mark-petersen merged commit 5107812 into E3SM-Project:develop Dec 11, 2024
2 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.

3 participants