Skip to content
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

IBM XL compiler: BP5 aborts #3523

Closed
pnorbert opened this issue Mar 8, 2023 · 0 comments · Fixed by #3610
Closed

IBM XL compiler: BP5 aborts #3523

pnorbert opened this issue Mar 8, 2023 · 0 comments · Fixed by #3610
Assignees
Milestone

Comments

@pnorbert
Copy link
Contributor

pnorbert commented Mar 8, 2023

Summit with XL compiler: writer aborts due to something going wrong with the buffered data.
Using bin/globalArray_write:

$ gdb  adios.xl/bin/globalArray_write core.71311

(gdb) bt
#0  0x000000004139d300 in ?? ()
#1  0x0000200002a2c370 in adios2::core::engine::BP5Writer::WriteMyOwnData (this=0x413979a0, Data=0x4139c630)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer_TwoLevelShm.cpp:157
#2  0x0000200002a2ea48 in adios2::core::engine::BP5Writer::WriteData_TwoLevelShm (this=0x413979a0, Data=0x4139c630)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer_TwoLevelShm.cpp:114
#3  0x0000200002a08b18 in adios2::core::engine::BP5Writer::WriteData (this=0x413979a0, Data=0x4139c630)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer.cpp:266
#4  0x0000200002a172f8 in adios2::core::engine::BP5Writer::EndStep (this=0x413979a0)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer.cpp:555
#5  0x000020000044562c in adios2::Engine::EndStep (this=0x7fffc4f68890)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/bindings/CXX11/adios2/cxx11/Engine.cpp:117
#6  0x000000001000a4e4 in main (argc=1, argv=0x7fffc4f68e98)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/examples/basics/globalArray/globalArray_write.cpp:111
(gdb) up
#1  0x0000200002a2c370 in adios2::core::engine::BP5Writer::WriteMyOwnData (this=0x413979a0, Data=0x4139c630)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer_TwoLevelShm.cpp:157
157         std::vector<core::iovec> DataVec = Data->DataVec();

(gdb) p *Data
$1 = {__vfp = 0x4139d240, m_Type = {<No data fields>}, m_MemAlign = 1, m_MemBlockSize = 32,
  zero = {<std::_Vector_base<char, std::allocator<char> >> = {_M_impl = {<std::allocator<char>> = {<No data fields>},
        _M_start = 0x413a03f0 "\360\303\071A", _M_finish = 0x413a0400 "", _M_end_of_storage = 0x413a0400 ""}}, <No data fields>},
  m_AlwaysCopy = false, DataV = {<std::_Vector_base<adios2::format::BufferV::VecEntry, std::allocator<adios2::format::BufferV::VecEntry> >> = {
      _M_impl = {<std::allocator<adios2::format::BufferV::VecEntry>> = {<__gnu_cxx::new_allocator<adios2::format::BufferV::VecEntry>> = {<No data fields>}, <No data fields>}, _M_start = 0x413923a0, _M_finish = 0x413923c0, _M_end_of_storage = 0x413923c0}}, <No data fields>},
  CurOffset = 96, m_internalPos = 0}


(gdb) p DataVec
$2 = {<std::_Vector_base<adios2::core::iovec, std::allocator<adios2::core::iovec> >> = {
    _M_impl = {<std::allocator<adios2::core::iovec>> = {<__gnu_cxx::new_allocator<adios2::core::iovec>> = {<No data fields>}, <No data fields>}, _M_start = 0x200002e483a0, _M_finish = 0x7fffc4f67700, _M_end_of_storage = 0x200002e47950}}, <No data fields>}

Same issue with different aggregator, dying in calling Data->DataVec()

#0  0x0000200003880d08 in main_arena () from /lib64/power9/libc.so.6
#1  0x00002000026184b0 in adios2::core::engine::BP5Writer::WriteData_EveryoneWrites (this=0x4ba75300, Data=0x4b3b36d0, SerializedWriters=false)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer.cpp:308
#2  0x0000200002618aec in adios2::core::engine::BP5Writer::WriteData (this=0x4ba75300, Data=0x4b3b36d0)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer.cpp:260
#3  0x00002000026272f8 in adios2::core::engine::BP5Writer::EndStep (this=0x4ba75300)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer.cpp:555
#4  0x000020000098562c in adios2::Engine::EndStep (this=0x4ba7fb40)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/bindings/CXX11/adios2/cxx11/Engine.cpp:117
#5  0x0000000010082490 in adiosStream::writeADIOS (this=0x4ba7fb10, cmdW=0x4b3740a0, cfg=..., settings=..., step=1)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/utils/adios_iotest/adiosStream.cpp:387
#6  0x000000001008284c in adiosStream::Write (this=0x4ba7fb10, cmdW=0x4b3740a0, cfg=..., settings=..., step=1)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/utils/adios_iotest/adiosStream.cpp:463
#7  0x00000000100af740 in main (argc=14, argv=0x7fffede185c8)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/utils/adios_iotest/adios_iotest.cpp:315
(gdb) up
#1  0x00002000026184b0 in adios2::core::engine::BP5Writer::WriteData_EveryoneWrites (this=0x4ba75300, Data=0x4b3b36d0, SerializedWriters=false)
    at /ccs/proj/e2e/pnorbert/ADIOS/ADIOS2/source/adios2/engine/bp5/BP5Writer.cpp:308
308         std::vector<core::iovec> DataVec = Data->DataVec();
@pnorbert pnorbert added this to the v2.9.0 milestone Mar 8, 2023
@pnorbert pnorbert changed the title IBM XML compiler: BP5 aborts IBM XL compiler: BP5 aborts Mar 8, 2023
@pnorbert pnorbert modified the milestones: v2.9.0, v2.9.1 Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants