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

ADIOS2 incompatible with latest MGARD #3754

Closed
vicentebolea opened this issue Aug 14, 2023 · 3 comments · Fixed by #4262
Closed

ADIOS2 incompatible with latest MGARD #3754

vicentebolea opened this issue Aug 14, 2023 · 3 comments · Fixed by #4262
Assignees
Labels
area: build Build issues

Comments

@vicentebolea
Copy link
Collaborator

When using the latest mgard from spack 2023-03-31 [git] https://github.com/robertu94/MGARD at commit a8a04a86ff30f91d0b430a7c52960a12fa119589

spack install mgard

I get the following errors when running ctest -R MGARD:

2023-08-12T22:24:10.9023580Z 
2023-08-12T22:24:10.9024327Z 1179: Test command: /__w/ADIOS2/ADIOS2/ubuntu20.04-gcc10-ompi/bin/Test.Engine.BP.WriteReadMGARDPlus.Serial "--gtest_filter=*/BPWriteReadMGARDPlus.BPWRMGARD3D/*" "BP5"
2023-08-12T22:24:10.9024990Z 1179: Working Directory: /__w/ADIOS2/ADIOS2/ubuntu20.04-gcc10-ompi/testing/adios2/engine/bp/operations/bp5
2023-08-12T22:24:10.9025307Z 1179: Test timeout computed to be: 120
2023-08-12T22:24:10.9455266Z 1184: Note: Google Test filter = */BPWriteReadBZIP2.ADIOS2BPWriteReadBZIP23D/*
2023-08-12T22:24:10.9455873Z 1184: [==========] Running 9 tests from 1 test suite.
2023-08-12T22:24:10.9456677Z 1184: [----------] Global test environment set-up.
2023-08-12T22:24:10.9457243Z 1184: [----------] 9 tests from BZIP2Accuracy/BPWriteReadBZIP2
2023-08-12T22:24:10.9457805Z 1184: [ RUN      ] BZIP2Accuracy/BPWriteReadBZIP2.ADIOS2BPWriteReadBZIP23D/0
2023-08-12T22:24:10.9537281Z 1179: Note: Google Test filter = */BPWriteReadMGARDPlus.BPWRMGARD3D/*
2023-08-12T22:24:10.9538609Z 1179: [==========] Running 4 tests from 1 test suite.
2023-08-12T22:24:10.9540757Z 1179: [----------] Global test environment set-up.
2023-08-12T22:24:10.9543426Z 1179: [----------] 4 tests from MGARDAccuracy/BPWriteReadMGARDPlus
2023-08-12T22:24:10.9545405Z 1179: [ RUN      ] MGARDAccuracy/BPWriteReadMGARDPlus.BPWRMGARD3D/0
2023-08-12T22:24:10.9956352Z 1184: [       OK ] BZIP2Accuracy/BPWriteReadBZIP2.ADIOS2BPWriteReadBZIP23D/0 (49 ms)
2023-08-12T22:24:10.9956892Z 1184: [ RUN      ] BZIP2Accuracy/BPWriteReadBZIP2.ADIOS2BPWriteReadBZIP23D/1
2023-08-12T22:24:10.9957752Z         Test #1171: Engine.BP.*/BPWriteReadMGARDPlus.BPWRMGARD3D/*.BP3.Serial ...............................................***Exception: Illegal  0.53 sec

Here is the backtrace:

Missing separate debuginfos, use: zypper install glibc-debuginfo-2.31-150300.52.2.x86_64                                                                                                                             
[Thread debugging using libthread_db enabled]                                                                                                                                                                        
Using host libthread_db library "/lib64/libthread_db.so.1".                                                                                                                                                          
Note: Google Test filter = */BPWriteReadMGARD.BPWRMGARDSel3D/*                                                                                                                                                       
[==========] Running 4 tests from 1 test suite.                                                                                                                                                                      
[----------] Global test environment set-up.                                                                                                                                                                         
[----------] 4 tests from MGARDAccuracy/BPWriteReadMGARD                                                                                                                                                             
[ RUN      ] MGARDAccuracy/BPWriteReadMGARD.BPWRMGARDSel3D/0                                                                                                                                                         
[New Thread 0x7ffff36ba700 (LWP 4002)]                                                                                                                                                                               
[Thread 0x7ffff36ba700 (LWP 4002) exited]                                                                                                                                                                            
double free or corruption (fasttop)                                                                                                                                                                                  
                                                                                                                                                                                                                     
Thread 1 "Test.Engine.BP." received signal SIGABRT, Aborted.                                                                                                                                                         
0x00007ffff6430d2b in raise () from /lib64/libc.so.6                                                                                                                                                                 
Missing separate debuginfos, use: zypper install libatomic1-debuginfo-12.3.0+git1204-150000.1.10.1.x86_64 libefa1-debuginfo-42.0-150500.1.3.x86_64 libfabric1-debuginfo-1.16.1-150500.2.2.x86_64 libgcc_s1-debuginfo-
12.3.0+git1204-150000.1.10.1.x86_64 libibverbs1-debuginfo-42.0-150500.1.3.x86_64 libinfinipath4-debuginfo-3.3-5.3.1.x86_64 libnl3-200-debuginfo-3.3.0-1.29.x86_64 libnuma1-debuginfo-2.0.14.20.g4ee5e0c-150400.1.24.x
86_64 libpsm2-2-debuginfo-11.2.230-150500.1.2.x86_64 libpsm_infinipath1-debuginfo-3.3-5.3.1.x86_64 librdmacm1-debuginfo-42.0-150500.1.3.x86_64 libstdc++6-debuginfo-12.3.0+git1204-150000.1.10.1.x86_64 libuuid1-debu
ginfo-2.37.4-150500.7.16.x86_64                                                                                                                                                                                      
(gdb) bt                                                                                                                                                                                                             
#0  0x00007ffff6430d2b in raise () from /lib64/libc.so.6                                                                                                                                                             
#1  0x00007ffff64323e5 in abort () from /lib64/libc.so.6                                                                                                                                                             
#2  0x00007ffff6476c27 in __libc_message () from /lib64/libc.so.6                                                                                                                                                    
#3  0x00007ffff647ecca in malloc_printerr () from /lib64/libc.so.6                                                                                                                                                   
#4  0x00007ffff64808a4 in _int_free () from /lib64/libc.so.6                                                                                                                                                         
#5  0x00007ffff5cfdd4c in mgard_x::compress(unsigned char, mgard_x::data_type, std::vector<unsigned long, std::allocator<unsigned long> >, double, double, mgard_x::error_bound_type, void const*, void*&, unsigned l
ong&, bool) [clone .cold] () from /opt/spack/opt/spack/linux-opensuse15-skylake/gcc-10.4.0/mgard-2023-03-31-rl63za62h43yfgfi37uqo6nblawssiq4/lib64/libmgard.so.1                                                     
#6  0x00007ffff795dfec in adios2::core::compress::CompressMGARD::Operate (this=0x4fbd00, dataIn=0x7ffff3c74010 "", blockStart=std::vector of length 3, capacity 3 = {...}, blockCount=std::vector of length 3, capaci
ty 3 = {...}, type=adios2::DataType::Float, bufferOut=0x7ffff2566102 "\003\001") at ../ADIOS2/source/adios2/operator/compress/CompressMGARD.cpp:156                                                                  
#7  0x00007ffff7654e40 in adios2::format::BPSerializer::PutOperationPayloadInBuffer<float> (this=0x4fc178, variable=..., blockInfo=...) at ../ADIOS2/source/adios2/toolkit/format/bp/BPSerializer.tcc:367            
#8  0x00007ffff767f24e in adios2::format::BP3Serializer::PutVariablePayload<float> (this=0x4fc170, variable=..., blockInfo=..., sourceRowMajor=0x1, span=0x0) at ../ADIOS2/source/adios2/toolkit/format/bp/bp3/BP3Ser
ializer.tcc:106                                                                                                                                                                                                      
#9  0x00007ffff75a33a9 in adios2::core::engine::BP3Writer::PutSyncCommon<float> (this=0x4fc0c0, variable=..., blockInfo=..., resize=0x0) at ../ADIOS2/source/adios2/engine/bp3/BP3Writer.tcc:95                      
#10 0x00007ffff7599185 in adios2::core::engine::BP3Writer::PerformPutCommon<float> (this=0x4fc0c0, variable=...) at ../ADIOS2/source/adios2/engine/bp3/BP3Writer.tcc:130                                             
#11 0x00007ffff7592e53 in adios2::core::engine::BP3Writer::PerformPuts (this=0x4fc0c0) at ../ADIOS2/source/adios2/engine/bp3/BP3Writer.cpp:84                                                                        
#12 0x00007ffff759341f in adios2::core::engine::BP3Writer::EndStep (this=0x4fc0c0) at ../ADIOS2/source/adios2/engine/bp3/BP3Writer.cpp:96                                                                            
#13 0x00007ffff7e5d89b in adios2::Engine::EndStep (this=0x7fffffff8c18) at ../ADIOS2/bindings/CXX11/adios2/cxx11/Engine.cpp:113                                                                                      
#14 0x0000000000435eca in MGARDAccuracy3DSel (tolerance=<incomplete type>) at ../ADIOS2/testing/adios2/engine/bp/operations/TestBPWriteReadMGARD.cpp:820                                                             
#15 0x0000000000438afd in BPWriteReadMGARD_BPWRMGARDSel3D_Test::TestBody (this=0x4f6490) at ../ADIOS2/testing/adios2/engine/bp/operations/TestBPWriteReadMGARD.cpp:912                                               
#16 0x0000000000499f94 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=0x4f6490, method=&virtual testing::Test::TestBody(), location=0x4a5ee8 "the test body") at ../ADIOS2
/thirdparty/GTest/googletest/googletest/src/gtest.cc:2595                                                                                                                                                            
#17 0x000000000047f21b in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x4f6490, method=&virtual testing::Test::TestBody(), location=0x4a5ee8 "the test body") at ../ADIOS2/th
irdparty/GTest/googletest/googletest/src/gtest.cc:2631                                                                                                                                                               
#18 0x0000000000460a19 in testing::Test::Run (this=0x4f6490) at ../ADIOS2/thirdparty/GTest/googletest/googletest/src/gtest.cc:2670                                                                                   
#19 0x00000000004615b9 in testing::TestInfo::Run (this=0x4f5650) at ../ADIOS2/thirdparty/GTest/googletest/googletest/src/gtest.cc:2849                                                                               
#20 0x0000000000461e4e in testing::TestSuite::Run (this=0x4f4af0) at ../ADIOS2/thirdparty/GTest/googletest/googletest/src/gtest.cc:3008                                                                              
#21 0x0000000000472466 in testing::internal::UnitTestImpl::RunAllTests (this=0x4ee910) at ../ADIOS2/thirdparty/GTest/googletest/googletest/src/gtest.cc:5866                                                         
#22 0x000000000049cd24 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x4ee910, method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::Uni
tTestImpl * const)) 0x471ff0 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x4a67c4 "auxiliary test code (environments or event listeners)") at ../ADIOS2/thirdparty/GTest/googletest/googletest/src/gte
st.cc:2595                                                                                                                                                                                                           
#23 0x000000000048170b in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(object=0x4ee910, method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x471ff0<testing::internal::UnitTestImpl::RunAllTests()>,location=0x4a67c4 "auxiliary test code(environments or event listeners)") at ../ADIOS2/thirdparty/GTest/googletest/googletest/src/gtest.cc:2631                                                                                                                                                                                                              
#24 0x0000000000471fa1 in testing::UnitTest::Run (this=0x4d7c70 <testing::UnitTest::GetInstance()::instance>) at ../ADIOS2/thirdparty/GTest/googletest/googletest/src/gtest.cc:5440                                  
#25 0x000000000043af61 in RUN_ALL_TESTS () at ../ADIOS2/thirdparty/GTest/googletest/googletest/include/gtest/gtest.h:2284                                                                                            
#26 0x0000000000438ce7 in main (argc=0x2, argv=0x7fffffff98d8) at ../ADIOS2/testing/adios2/engine/bp/operations/TestBPWriteReadMGARD.cpp:932                                                                         
(gdb) quit                                                                                                                              

As shown here: https://open.cdash.org/viewTest.php?onlyfailed&buildid=8906225

@anagainaru
Copy link
Contributor

There is a threshold over which we do not compress because what MGARD returns is bigger than how much we allocate (i.e. the uncompressed array size). We might need to update the threshold for the new version.

@pnorbert pnorbert self-assigned this Aug 15, 2023
@vicentebolea
Copy link
Collaborator Author

@pnorbert

@pnorbert
Copy link
Contributor

The tests run fine with current master of MGARD, so I don't think we need to fix anything in adios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: build Build issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants