On Wed, 16 Sep 2015, Michael Povolotskyi wrote: > after some break I got again to the code debugging. > The only solution to avoid calling libmesh handler
If you're debugging, wouldn't it be easy to set a breakpoint at the libmesh handler? > was to use > std::set_terminate(NULL) after libmesh initialization. > > With this the MPI_Abort is not called anymore, which is good, Assuming you want non-terminated ranks to churn CPU indefinitely, then I suppose so... > but the standard handler of Intel C++ compiler is not called either, which is > not good. Could you be more specific? The standard std::terminate() is a shim around std::abort(), and I still don't understand under what circumstances MPI_Abort is a catastrophe but std::abort is just super. > I do not know how to reset the standard handler, and, I'm afraid, this can be > a compiler dependent instruction. No, it's C++98 standard. Resetting the standard handler should be as simple as std::set_terminate(std::terminate); > So, the only solution I see now is to hack your code in my local repository - > otherwise we cannot work as we were working before. > > Can you add a possibility to configure libmesh such that the handler is not > changed at all? do_anything_you_want(); std::terminate_handler old_handler = std::set_terminate(std::terminate); LibMeshInit init (argc, argv); std::set_terminate(old_handler); do_anything_else_you_want(); --- Roy ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users