=== 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.MPI.OMP.ex(+0x193530) [0x561542f70530]
    amrex::BLBackTrace::print_backtrace_info(_IO_FILE*)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_BLBackTrace.cpp:174:39

 1: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x195a96) [0x561542f72a96]
    amrex::BLBackTrace::handler(int)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_BLBackTrace.cpp:80:8

 2: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x91cc7) [0x561542e6ecc7]
    amrex::Error_host(char const*)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX.cpp:199:1

 3: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x8ac9c) [0x561542e67c9c]
    amrex::Error(char const*) inlined at /raid/testing/castro-gfortran/Castro//Source/problems/Castro_bc_fill_nd.cpp:91:21 in ca_statefill(amrex::Box const&, amrex::FArrayBox&, int, int, amrex::Geometry const&, double, amrex::Vector<amrex::BCRec, std::allocator<amrex::BCRec> > const&, int, int)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX.H:119:5
ca_statefill(amrex::Box const&, amrex::FArrayBox&, int, int, amrex::Geometry const&, double, amrex::Vector<amrex::BCRec, std::allocator<amrex::BCRec> > const&, int, int)
/raid/testing/castro-gfortran/Castro//Source/problems/Castro_bc_fill_nd.cpp:91:21

 4: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x2209b1) [0x561542ffd9b1]
    amrex::StateData::FillBoundary(amrex::Box const&, amrex::FArrayBox&, double, amrex::Geometry const&, int, int, int)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_StateData.cpp:556:22

 5: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x222ef8) [0x561542fffef8]
    amrex::StateDataPhysBCFunct::operator()(amrex::MultiFab&, int, int, amrex::IntVect const&, double, int) [clone ._omp_fn.0]
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_StateData.cpp:909:44

 6: /lib64/libgomp.so.1(GOMP_parallel+0x46) [0x7fd9a59744c6]
    GOMP_parallel
??:0

 7: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x220e8f) [0x561542ffde8f]
    amrex::StateDataPhysBCFunct::operator()(amrex::MultiFab&, int, int, amrex::IntVect const&, double, int)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_StateData.cpp:870:5

 8: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x21bee3) [0x561542ff8ee3]
    std::enable_if<amrex::IsFabArray<amrex::MultiFab, void>::value, void>::type amrex::FillPatchSingleLevel<amrex::MultiFab, amrex::StateDataPhysBCFunct>(amrex::MultiFab&, amrex::IntVect const&, double, amrex::Vector<amrex::MultiFab*, std::allocator<amrex::MultiFab*> > const&, amrex::Vector<double, std::allocator<double> > const&, int, int, int, amrex::Geometry const&, amrex::StateDataPhysBCFunct&, int)
/raid/testing/castro-gfortran/amrex//Src/AmrCore/AMReX_FillPatchUtil_I.H:53:5

 9: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x211016) [0x561542fee016]
    std::vector<double, std::allocator<double> >::~vector() inlined at /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:22:7 in amrex::FillPatchIterator::FillFromLevel0(double, int, int, int, int)
/usr/include/c++/9/bits/stl_vector.h:677:15
amrex::Vector<double, std::allocator<double> >::~Vector()
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:22:7
amrex::FillPatchIterator::FillFromLevel0(double, int, int, int, int)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_AmrLevel.cpp:1101:18

10: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x211fa4) [0x561542feefa4]
    amrex::FillPatchIterator::Initialize(int, double, int, int, int)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_AmrLevel.cpp:1013:20

11: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x212701) [0x561542fef701]
    amrex::AmrLevel::FillPatch(amrex::AmrLevel&, amrex::MultiFab&, int, double, int, int, int, int)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_AmrLevel.cpp:2214:19

12: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x2ae97) [0x561542e07e97]
    Castro::expand_state(amrex::MultiFab&, double, int)
/raid/testing/castro-gfortran/Castro//Source/driver/Castro.cpp:4543:22

13: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x4034f) [0x561542e1d34f]
    Castro::initialize_do_advance(double)
/raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance.cpp:185:19

14: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x41ec1) [0x561542e1eec1]
    Castro::do_advance_ctu(double, double, int, int)
/raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance_ctu.cpp:55:29

15: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x42fdb) [0x561542e1ffdb]
    advance_status::operator=(advance_status&&) inlined at /raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance_ctu.cpp:655:90 in Castro::subcycle_advance_ctu(double, double, int, int)
/raid/testing/castro-gfortran/Castro//Source/driver/Castro.H:150:8
Castro::subcycle_advance_ctu(double, double, int, int)
/raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance_ctu.cpp:655:90

16: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x40f39) [0x561542e1df39]
    double const& std::min<double>(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++/9/bits/stl_algobase.h:204:9
Castro::advance(double, double, int, int)
/raid/testing/castro-gfortran/Castro//Source/driver/Castro_advance.cpp:55:92

17: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x200046) [0x561542fdd046]
    amrex::Amr::timeStep(int, double, int, int, double)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:1973:44

18: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x1f238a) [0x561542fcf38a]
    std::vector<double, std::allocator<double> >::operator[](unsigned long) inlined at /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:34:54 in amrex::Amr::coarseTimeStep(double)
/usr/include/c++/9/bits/stl_vector.h:1042:2
amrex::Vector<double, std::allocator<double> >::operator[](unsigned long)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:34:54
amrex::Amr::coarseTimeStep(double)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2083:26

19: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x208dc) [0x561542dfd8dc]
    main
/raid/testing/castro-gfortran/Castro//Source/driver/main.cpp:143:33

20: /lib64/libc.so.6(__libc_start_main+0xf3) [0x7fd9a57821a3]
    __libc_start_main
??:0

21: ./Castro2d.gnu.TEST.TPROF.MPI.OMP.ex(+0x2760e) [0x561542e0460e]
    _start
??:0


===== TinyProfilers ======
main()
Amr::coarseTimeStep()
Amr::timeStep()
Castro::advance()
Castro::subcycle_advance_ctu()
Castro::do_advance_ctu()
Castro::initialize_do_advance()
Castro::expand_state()
FillPatchIterator::Initialize
FillPatchSingleLevel
StateDataPhysBCFunct::()
StateData::FillBoundary(geom)