diff --git a/ompi/contrib/vt/vt/ChangeLog b/ompi/contrib/vt/vt/ChangeLog index 49db0f0376..d8819317c5 100644 --- a/ompi/contrib/vt/vt/ChangeLog +++ b/ompi/contrib/vt/vt/ChangeLog @@ -1,6 +1,7 @@ 5.14.2openmpi - fixed build error occurred if VT is configured with exec tracing enabled, but with memory allocation tracing disabled + - fixed infinite recursion in the realloc wrapper initiated by dlerror - fixed assertion error occurred when MPI_Initialized is the very first event to be recorded - fixed potential stack underflow when tracing only MPI events of a diff --git a/ompi/contrib/vt/vt/vtlib/vt_libwrap.c b/ompi/contrib/vt/vt/vtlib/vt_libwrap.c index 52cd9c60ac..e70217a082 100644 --- a/ompi/contrib/vt/vt/vtlib/vt_libwrap.c +++ b/ompi/contrib/vt/vt/vtlib/vt_libwrap.c @@ -39,6 +39,16 @@ # define MAX_HANDLES (VT_LIBWRAP_MAX_SHLIBS+1) #endif /* HAVE_DECL_RTLD_NEXT */ +/* Do not call dlerror, if the memory allocation wrappers are enabled. + dlerror calls realloc which would ends up in an infinite recursion. */ +#ifdef VT_MALLOCWRAP +# define dlerror no_dlerror + static char* no_dlerror(void) + { + return "unknown"; + } +#endif /* VT_MALLOCWRAP */ + /* data structure for library wrapper object */ struct VTLibwrap_struct {