=== If no file names and line numbers are shown below, one can run addr2line -Cpfie my_exefile my_line_address to convert `my_line_address` (e.g., 0x4a6b) into file name and line number. Or one can use amrex/Tools/Backtrace/parse_bt.py. === Please note that the line number reported by addr2line may not be accurate. One can use readelf -wl my_exefile | grep my_line_address' to find out the offset for that line. 0: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x57e126] amrex::BLBackTrace::print_backtrace_info(_IO_FILE*) /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_BLBackTrace.cpp:179:39 1: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x580f82] amrex::BLBackTrace::handler(int) /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_BLBackTrace.cpp:85:15 2: /lib64/libc.so.6(+0x3da70) [0x7fba308d8a70] __restore_rt ??:0 3: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x48827c] double const& amrex::max(double const&, double const&) inlined at /raid/testing/castro-gfortran/Microphysics//interfaces/eos.H:74:23 in Castro::actual_trans_single(amrex::Box const&, int, int, int, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, double, double) /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Algorithm.H:37:24 void eos_reset(eos_rep_t&, bool&) /raid/testing/castro-gfortran/Microphysics//interfaces/eos.H:75:25 void reset_e(eos_rep_t&, bool&) /raid/testing/castro-gfortran/Microphysics//interfaces/eos.H:104:22 void reset_inputs(eos_input_t, eos_rep_t&, bool&) /raid/testing/castro-gfortran/Microphysics//interfaces/eos.H:182:12 void eos(eos_input_t, eos_rep_t&, bool) /raid/testing/castro-gfortran/Microphysics//interfaces/eos.H:425:15 operator() /raid/testing/castro-gfortran/Castro//Source/hydro/trans.cpp:298:16 call_f&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, amrex::Real, amrex::Real):: > /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_GpuLaunchFunctsC.H:29:10 ParallelFor&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, const amrex::Array4&, amrex::Real, amrex::Real):: > /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_GpuLaunchFunctsC.H:119:23 Castro::actual_trans_single(amrex::Box const&, int, int, int, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, double, double) /raid/testing/castro-gfortran/Castro//Source/hydro/trans.cpp:106:23 4: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x488571] Castro::trans_single(amrex::Box const&, int, int, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, amrex::Array4 const&, double, double) /raid/testing/castro-gfortran/Castro//Source/hydro/trans.cpp:50:24 5: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x45e8c3] Castro::construct_ctu_hydro_source(double, double) [clone ._omp_fn.0] /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Array4.H:37:30 6: /lib64/libgomp.so.1(GOMP_parallel+0x46) [0x7fba30ab5d36] GOMP_parallel ??:0 7: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x45c301] Castro::construct_ctu_hydro_source(double, double) /raid/testing/castro-gfortran/Castro//Source/hydro/Castro_ctu_hydro.cpp:1506:7 8: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x43942c] Castro::do_advance_ctu(double, double, int, int) /raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance_ctu.cpp:168:39 9: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x439c45] advance_status::operator=(advance_status&&) inlined at /raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance_ctu.cpp:649:90 in Castro::subcycle_advance_ctu(double, double, int, int) /raid/testing/castro-gfortran/Castro//Source/driver/Castro.H:132:8 Castro::subcycle_advance_ctu(double, double, int, int) /raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance_ctu.cpp:649:90 10: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x4383ca] double const& std::min(double const&, double const&) inlined at /raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance.cpp:55:92 in Castro::advance(double, double, int, int) /usr/include/c++/10/bits/stl_algobase.h:236:9 Castro::advance(double, double, int, int) /raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance.cpp:55:92 11: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x5cecd9] std::vector >::operator[](unsigned long) inlined at /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:37:59 in amrex::Amr::timeStep(int, double, int, int, double) /usr/include/c++/10/bits/stl_vector.h:1046:39 amrex::Vector >::operator[](unsigned long) /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:37:59 amrex::Amr::timeStep(int, double, int, int, double) /raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2018:68 12: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x5cee32] amrex::Amr::timeStep(int, double, int, int, double) /raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2061:13 13: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x5cee32] amrex::Amr::timeStep(int, double, int, int, double) /raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2061:13 14: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x5cee32] amrex::Amr::timeStep(int, double, int, int, double) /raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2061:13 15: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x5c1a46] amrex::Amr::coarseTimeStep(double) /raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2125:13 16: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x41ba25] main /raid/testing/castro-gfortran/Castro//Source/driver/main.cpp:136:33 17: /lib64/libc.so.6(__libc_start_main+0xf2) [0x7fba308c31e2] __libc_start_main ??:0 18: ./Castro2d.gnu.TEST.TPROF.OMP.ex() [0x4219be] _start ??:0 ===== TinyProfilers ====== main() Amr::coarseTimeStep() Amr::timeStep() Amr::timeStep() Amr::timeStep() Amr::timeStep() Castro::advance() Castro::subcycle_advance_ctu() Castro::do_advance_ctu() Castro::construct_ctu_hydro_source()