-
-
Notifications
You must be signed in to change notification settings - Fork 118
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
Segfault switching from mmg3d 5.3.6/dev 32bit to 5.7.1 64 bit #200
Comments
Hi, I don't work anymore on the Mmg support so I can't promise to solve this issue (or futur ones). I will try to help you to find the bug if my free time allows it. I am not sure to understand when Mmg-7 fails :
If the issue is that Another way to avoid this issue for you is to set (resp. unset) the Best, |
Hi Algiane, nice to hear from you, and thanks for helping.
When I compile w/o debug, and manually modify info.optim as hip_err ( info, 0, "before call MMG3D_doSol in adapt_mmg3d, setting mesh->info.optim=1" ) ; in int32 I still get a segfault, so the segfault is not associated with the assertion: <<hip[grid_4: 1/1]> mmg isofa -f0.5 What works is compiling mmg either in debug with int64, or compiling with int32 (no debug), and calling doSol_iso instead of doSol: <<hip[grid_4: 1/1]> mmg isofa -f0.5 Thanks for your advice, Jens |
Bonjour
Notre code mailage hip marchait ss pb avec 5.3.6, en gros j'appelle
// own routine to copy mesh data to mmg
mmg_put_mesh_3d ( ..
/* Define sizes for a solution/metric field and allocate. */
if ( !MMG3D_Set_solSize( pMMesh, pMMet, MMG5_Vertex,
pMMesh->np, MMG5_Scalar ) )
hip_err ( fatal, 0, "failed after MG3D_Set_solSize in adapt_mmg3d" ) ;
if ( !MMG3D_Chk_meshData( pMMesh, pMMet ) )
hip_err ( fatal, 0, "failed after MMG3D_Chk_meshData in adapt_mmg3d" ) ;
hip_err ( info, 0, "before call MMG3D_doSol in adapt_mmg3d" ) ;
// Initialise metric with average neighbor cell edge length
status = MMG3D_doSol ( pMMesh, pMMet );
if ( !status ) {
sprintf ( hip_msg, "call to MMG3D_doSol with status %d", status ) ;
hip_err ( fatal, 0, hip_msg ) ;
}
Basculant sur 5.7.1 master, (ayant modifie les int necessaries pour 64bit), je recois un segfault dans MMG3D_doSol.
Dans mmg/mmg3d/libmmg3d_tools.c dans la routine MMG3D_setfunc mmg declare le pointer MMG3D_doSol ou bien vers MMG3D_doSol_iso, ou bien _ani. Notre cas est _iso.
Si j'appelle directement la variante _iso, dedans mmg appele a la fin de doSol_iso MMG3D_solTruncatureForOptim et s'arrete sur le assert ( mesh->info.optim ), comme il faut. Il semble que la valeur de 0 pour mesh->info.optim est la seule possible.
Si j compile en debug, et j'appelle directement la variante _iso, mon cas simple passe ss pb, et comme avec la 5.3.
Comment pourrai-je deboguer ce cas? Cordialement, Jens
The text was updated successfully, but these errors were encountered: