Skip to content

Conversation

@bennibolm
Copy link
Owner

@bennibolm bennibolm commented Dec 9, 2024

It is also a problem in serial runs. It seems to be a problem in the save solution callback.
On Windows, the error occurs in t8_forest_write_vtk_ext.

Shortened message:

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffce64ff2e1 -- _ZL36t8_forest_vtk_vertices_scalar_kernelP9t8_forestiP7t8_treeiPK10t8_elementP16t8_eclass_schemeiP6_iobufPiPPv19T8_VTK_KERNEL_MODUS at C:\Users\benja\.julia\artifacts\bad2755ea4d60c6ce1cf44e236f40866f7b931a3\bin\libt8.dll (unknown line)
in expression starting at C:\Users\benja\Documents\git\Trixi.jl\examples\t8code_2d_fv\elixir_advection_basic.jl:90
_ZL36t8_forest_vtk_vertices_scalar_kernelP9t8_forestiP7t8_treeiPK10t8_elementP16t8_eclass_schemeiP6_iobufPiPPv19T8_VTK_KERNEL_MODUS at C:\Users\benja\.julia\artifacts\bad2755ea4d60c6ce1cf44e236f40866f7b931a3\bin\libt8.dll (unknown line)
_ZL29t8_forest_vtk_write_cell_dataP9t8_forestP6_iobufPKcS4_S4_iPFiS0_iP7t8_treeiPK10t8_elementP16t8_eclass_schemeiS2_PiPPv19T8_VTK_KERNEL_MODUSEiSD_ at C:\Users\benja\.julia\artifacts\bad2755ea4d60c6ce1cf44e236f40866f7b931a3\bin\libt8.dll (unknown line)
_Z25t8_forest_vtk_write_ASCIIP9t8_forestPKciiiiiiP19t8_vtk_data_field_t at C:\Users\benja\.julia\artifacts\bad2755ea4d60c6ce1cf44e236f40866f7b931a3\bin\libt8.dll (unknown line)
t8_forest_vtk_write_file at C:\Users\benja\.julia\artifacts\bad2755ea4d60c6ce1cf44e236f40866f7b931a3\bin\libt8.dll (unknown line)

t8_forest_write_vtk_ext at C:\Users\benja\.julia\packages\T8code\O3bnx\src\Libt8.jl:16691

output_data_to_vtu at C:\Users\benja\Documents\git\Trixi.jl\src\meshes\t8code_mesh.jl:1964
#save_solution_file#1542 at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:270
save_solution_file at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:251 [inlined]
#save_solution_file#1541 at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:240 [inlined]
save_solution_file at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:233 [inlined]
macro expansion at C:\Users\benja\.julia\packages\TrixiBase\Mq1xp\src\trixi_timeit.jl:64 [inlined]
#save_solution_file#1538 at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:226 [inlined]
save_solution_file at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:200 [inlined]
macro expansion at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:192 [inlined]
macro expansion at C:\Users\benja\.julia\packages\TrixiBase\Mq1xp\src\trixi_timeit.jl:64 [inlined]
SaveSolutionCallback at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:187
initialize_save_cb! at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:145
initialize_save_cb! at C:\Users\benja\Documents\git\Trixi.jl\src\callbacks_step\save_solution.jl:135 [inlined]
[...]

One problem could be in get_cmesh_info! used in save_mesh_file. There are always used 2*ndims faces. Check, if examples with only quads/hex work.
But after disabling this routine for FV schemes in 1216115, the errors still occur.

Things I learned:

  • Errors occur in all fv elixirs on mpi tests for macos and windows
  • no errors if there's no output and no call of rhs! (Tested by disabling summay_callback(), solve())
  • still errors if ran with t_end=0 (since rhs! is still called)
  • analysis_callback seems to work properly
  • stepsize_callback seems to work properly
  • errors also occur in serial windows and macOS runs
  • problem in save_solution_callback

I just noticed those warnings even for die DG runs on mpi windows:
[t8] WARNING: Trying to use shared memory but intranode and internode communicators are not set. You should call t8_shmem_init before initializing a shared memory array.

@github-actions
Copy link

github-actions bot commented Dec 9, 2024

Review checklist

This checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging.

Purpose and scope

  • The PR has a single goal that is clear from the PR title and/or description.
  • All code changes represent a single set of modifications that logically belong together.
  • No more than 500 lines of code are changed or there is no obvious way to split the PR into multiple PRs.

Code quality

  • The code can be understood easily.
  • Newly introduced names for variables etc. are self-descriptive and consistent with existing naming conventions.
  • There are no redundancies that can be removed by simple modularization/refactoring.
  • There are no leftover debug statements or commented code sections.
  • The code adheres to our conventions and style guide, and to the Julia guidelines.

Documentation

  • New functions and types are documented with a docstring or top-level comment.
  • Relevant publications are referenced in docstrings (see example for formatting).
  • Inline comments are used to document longer or unusual code sections.
  • Comments describe intent ("why?") and not just functionality ("what?").
  • If the PR introduces a significant change or new feature, it is documented in NEWS.md with its PR number.

Testing

  • The PR passes all tests.
  • New or modified lines of code are covered by tests.
  • New or modified tests run in less then 10 seconds.

Performance

  • There are no type instabilities or memory allocations in performance-critical parts.
  • If the PR intent is to improve performance, before/after time measurements are posted in the PR.

Verification

  • The correctness of the code was verified using appropriate tests.
  • If new equations/methods are added, a convergence test has been run and the results
    are posted in the PR.

Created with ❤️ by the Trixi.jl community.

Comment on lines +20 to +21
# l2=[0.08551397247817498],
# linf=[0.12087467695430498])

Choose a reason for hiding this comment

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

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
# l2=[0.08551397247817498],
# linf=[0.12087467695430498])
# l2=[0.08551397247817498],
# linf=[0.12087467695430498])

Comment on lines +33 to +34
# l2=[0.008142380494734171],
# linf=[0.018687916234976898])

Choose a reason for hiding this comment

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

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
# l2=[0.008142380494734171],
# linf=[0.018687916234976898])
# l2=[0.008142380494734171],
# linf=[0.018687916234976898])

Comment on lines +53 to +54
# l2=[0.5598148317954682],
# linf=[0.6301130236005371])

Choose a reason for hiding this comment

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

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
# l2=[0.5598148317954682],
# linf=[0.6301130236005371])
# l2=[0.5598148317954682],
# linf=[0.6301130236005371])

Comment on lines +67 to +68
# l2=[0.5899077806567905],
# linf=[0.8972489222157533])

Choose a reason for hiding this comment

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

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
# l2=[0.5899077806567905],
# linf=[0.8972489222157533])
# l2=[0.5899077806567905],
# linf=[0.8972489222157533])

stepsize_callback = StepsizeCallback(cfl = 0.5)

callbacks = CallbackSet(summary_callback, analysis_callback, alive_callback,
callbacks = CallbackSet(#=summary_callback, analysis_callback,=# alive_callback,

Choose a reason for hiding this comment

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

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
callbacks = CallbackSet(#=summary_callback, analysis_callback,=# alive_callback,
callbacks = CallbackSet(alive_callback, #=summary_callback, analysis_callback,=#

@bennibolm bennibolm changed the title Tests stuff to fix mpi error for macos and windows runs Fix errors in macOS and windows runs Jan 30, 2025
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.

2 participants