Assertion failure when opening ADIOS2 bp files - ParaView built with -Wp,-D_GLIBCXX_ASSERTIONS
Arch Linux has ParaView 5.11.2 built with the -Wp,-D_GLIBCXX_ASSERTIONS
flag. This leads to an assertion failure in std::vector::operator[]
when opening an ADIOS2 bp file.
To provide some testing data, compile test.cpp with
g++ -std=c++17 test.cpp -l adios2_cxx11
Then run ./a.out
which creates the test.bp
directory with synthetic data. Run paraview
, select Open in the menu and navigate to the test.bp
directory. Upon opening, Paraview will dump core. I managed to get a full backtrace from gdb
, the top is
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {0}}
ret = <optimized out>
#1 0x00007ffff7e318a3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007ffff7de1668 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x00007ffff7dc94b8 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {140737316447456, 1125, 140737316447272, 0, 0, 0, 0, 0, 0, 93823560581128, 72, 140737353595584, 18446744073709551552, 0, 140737488333448, 93825070916192}}, sa_flags = -136053587, sa_restorer = 0x7ffff0e786e0 <(anonymous namespace)::num_get_c>}
#4 0x00007ffff0cdd3b2 in std::__glibcxx_assert_fail(char const*, int, char const*, char const*)
(file=file@entry=0x7ffff5c0e4e0 "/usr/include/c++/13.2.1/bits/stl_vector.h", line=line@entry=1125, function=function@entry=0x7ffff5c0e428 "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = int; _Alloc = std::allocator<int>; reference = int&; size_type = long unsigned int]", condition=condition@entry=0x7ffff5c0a246 "__n < this->size()") at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/debug.cc:61
#5 0x00007ffff5af0070 in std::vector<int, std::allocator<int> >::operator[](unsigned long) (__n=0, this=<optimized out>, this=<optimized out>, __n=<optimized out>)
at /usr/include/c++/13.2.1/bits/stl_vector.h:1125
number_of_elements = 0
number_of_elements_per_command = 0
elementTypesStrMap = std::map with 3 elements = {["double"] = 1, ["int"] = 0, ["str"] = 2}
values = Python Exception <class 'OverflowError'>: int too big to convert
Python Exception <class 'OverflowError'>: int too big to convert
Python Exception <class 'OverflowError'>: int too big to convert
{<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = std::vector of length -4250937, capacity -1466013161515 = {"fH", "\000\000\000\000\005\000\000\000\360f\000ZUU", '\000' <repeats 18 times>, " \362\005ZUU\000\000\006\000\000\000\000\000\000\000double\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\201", '\000' <repeats 11 times>, "PU\000\000\0004\006ZUU", '\000' <repeats 18 times>, "[#\000\000UU\000\000x\v\310\365\377\177", '\000' <repeats 18 times>, "\020\000\006\000\000\000\000\000\300P\343YUU\000\000\003\000\000\000\000\000\000\000[#\000\000\000\000\000\000\002", '\000' <repeats 23 times>..., <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, <error: Cannot access memory at address 0x3>, "double", "", "H\211", " x?\366\377\177\000\000\001", '\000' <repeats 23 times>, "\362\020\001", '\000' <repeats 13 times>, "\240\344\372VUU", '\000' <repeats 26 times>, "\340\344\372VUU\000\000P\345\372VUU\000\0000\350\372VUU\000\000\220\267\371VUU\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000\360\345\372VUU\000\000\360\346\372VUU\000\000\360\346\372VUU\000\000\000\347\372VUU\000\000\000\350\372VUU\000\000\000\350\372VUU\000\000@\352\372VUU\000\000H\352\372VUU\000\000H\352\372VUU\000\000"..., "", "\036\000\000\000\000\000\000\000\224\360\343\367\377\177\000\000P\254\377\377\377\177\000\000\f\000\000\000\000\000\000\000DataSourceIO\000\377\377\377p\254\377\377\377\177", '\000' <repeats 18 times>, "\002\000\000\000\000\000\000\000@\025\347\360\377\177\000\000\330\033\347\360\377\177\000\000P\231\002ZUU\000\000P\231\002ZUU\000\000P\231\002ZUU\000\000@\231\002ZUU\000\000Z\231\002ZUU\000\000@\233\002ZUU\000\000 \215\347\360\377\177\000\000\020\000\000\000\377\177\000\000@\231\002ZUU\000\000\020\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000ingVect\000p\323\346\360\377\177\000\000"..., "", "H\213L$\bH\203\371\037\017\206%\001\000\000H\213EpfI\017n\347I\215T\035\000fH\017n\300f\017l\304L9x\030\017\205`\003\000\000\017\021B\020H\211UpH\211P\030H\201\373\377\003\000\000w\004H\211UhH\201\371\377\003\000\000v\bf\017\357\300\017\021B H\215\005\313\311\023\000H9\305\017\225\300\017\266\300H\301\340\002H\t\330H\203\310\001I\211E\bH\211\310H\203\310\001H\211B\bK\211L5\000\213\005y0\024\000I\215M\020\205\300\017\204_\371\377\3774\377H\211\317L\211\342\211\306\377\025\t\276\023\000H\211\301\351G\371\377\377f\017\037\204\000\000\000\000\000I\211\335I\301\355\tH\201\373\377)"..., "", "", "", "rProperty\000eader, could not find requested method: \"CanReadFile\"\nor the method was called with incorrect arguments.\narguments.\n\000\000\t", '\000' <repeats 15 times>, "\035\000\000\000UU\000\000\240\335\341YUU\000\000\t", '\000' <repeats 15 times>, "\020\232\002ZUU\000\000\r\000\000\000\000\000\000\000TimeStep"..., "", <error: Cannot access memory at address 0x10>, "", "", "", "", "", "", "", "", <error: Cannot access memory at address 0x6fd5a08a0f3b0400>, " x?\366\377\177\000\000\001\000\000\000\377\177", '\000' <repeats 18 times>, "\332\020\001", '\000' <repeats 13 times>, "з\371VUU", '\000' <repeats 11 times>, "tensions\000\000file_\020\270\371VUU\000\000\020\306\371VUU\000\000\300\263\371VUU\000\000`\017\372VUU\000\000is_direcq\000\000\000\000\000\000\000\200\270\371VUU\000\000\340\270\371VUU\000\000\000\271\371VUU\000\000\020\271\371VUU\000\000p\271\371VUU\000\000\220\271\371VUU\000\000\320\353\372VUU\000\000\020\354\372VUU\000\000\020\354\372VUU\000\000"..., "\204\300t\nL\213l$0\351w\377\377\377H\213|$\030\350=\271\375\3771\300\353\240H\307\300\377\377\377\377\353\303H\213D", "p\300\003ZUU\000\000\024\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000ation\000\000\000\004\000\000\000\000\000\000\000\000\004;\017\212\240\325o\200h\000ZUU\000\000\200h\000ZUU\000\000\200L\254\365\377\177\000\000\220\267\371VUU\000\000\300\365\333YUU\000\000--Type <RET> for more, q to quit, c to continue without paging--
Full output: backtrace.log
This issue was originally reported at https://gitlab.archlinux.org/archlinux/packaging/packages/paraview/-/issues/3