This bug is reproducible in Ubuntu as well.  Running
cmdline-utils/odintestsuite manually shows:

$ ./cmdline-utils/odintestsuite 
UnitTest  |check_all : Testing tjtools ...
UnitTest  |check_all : Testing complex ...
UnitTest  |check_all : Testing vector ...
UnitTest  |check_all : Testing vallist ...
UnitTest  |check_all : Testing List ...
UnitTest  |check_all : Testing string ...
UnitTest  |check_all : Testing numerics ...
UnitTest  |check_all : Testing STL ...
UnitTest  |check_all : Testing ndim ...
UnitTest  |check_all : Testing array ...
UnitTest  |check_all : Testing index ...
UnitTest  |check_all : Testing process ...
UnitTest  |check_all : Testing Thread ...
UnitTest  |check_all : Testing LDRserXML ...
UnitTest  |check_all : Testing LDRblock(jdx) ...
UnitTest  |check_all : Testing LDRblock(xml) ...
UnitTest  |check_all : Testing LDRint ...
UnitTest  |check_all : Testing LDRstring ...
UnitTest  |check_all : Testing LDRcomplex ...
UnitTest  |check_all : Testing LDRbool ...
UnitTest  |check_all : Testing LDRenum ...
UnitTest  |check_all : Testing LDRfileName ...
UnitTest  |check_all : Testing LDRstringArr ...
UnitTest  |check_all : Testing LDRintArr ...
UnitTest  |check_all : Testing LDRcomplexArr ...
UnitTest  |check_all : Testing Geometry ...
UnitTest  |check_all : Testing CoilSensitivity ...
UnitTest  |check_all : Testing Protocol ...
UnitTest  |check_all : Testing DataUtils ...
UnitTest  |ERROR: DataUtils.check : unwrap_phase(...,0), diff=0.109029
*** Error in `/home/vorlon/odin-2.0.3/cmdline-utils/.libs/lt-odintestsuite': 
double free or corruption (!prev): 0xab43c608 ***
Aborted (core dumped)
$

Backtrace under gdb looks something like:

(gdb) bt
#0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1  0xf72ce470 in __libc_signal_restore_set (set=0xfffeeb28)
    at ../sysdeps/unix/sysv/linux/nptl-signals.h:79
#2  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#3  0xf72cf15a in __GI_abort () at abort.c:89
#4  0xf72f5eb2 in __libc_message (do_abort=do_abort@entry=2, 
    fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:175
#5  0xf72fa31a in malloc_printerr (action=<optimized out>, 
    str=0xf7378468 "double free or corruption (!prev)", ptr=<optimized out>, 
    ar_ptr=<optimized out>) at malloc.c:5046
#6  0xf72faa4a in _int_free (av=0xf73947a4 <main_arena>, p=0xaaae1600, 
    have_lock=<optimized out>) at malloc.c:3902
#7  0xf76c020a in blitz::MemoryBlock<float>::~MemoryBlock (this=0xaaad34a8, 
    __in_chrg=<optimized out>) at /usr/include/blitz/memblock.h:121
#8  blitz::MemoryBlock<float>::~MemoryBlock (this=0xaaad34a8, 
    __in_chrg=<optimized out>) at /usr/include/blitz/memblock.h:125
#9  blitz::MemoryBlockReference<float>::blockRemoveReference (this=0xfffef0b4)
    at /usr/include/blitz/memblock.h:502
#10 blitz::MemoryBlockReference<float>::~MemoryBlockReference (
    this=0xfffef0b4, __in_chrg=<optimized out>)
    at /usr/include/blitz/memblock.h:427
#11 blitz::Array<float, 1>::~Array (this=0xfffef0b4, __in_chrg=<optimized out>)
    at /usr/include/blitz/array-impl.h:106
#12 Data<float, 1>::~Data (this=0xfffef0b4, __in_chrg=<optimized out>)
    at data.h:492
#13 0xf779ba4c in DataUtilsTest::check (this=<optimized out>) at utils.cpp:109
#14 0xf758d846 in UnitTest::check_all () at tjtest.cpp:31
#15 0xaaaab332 in main (argc=1, argv=0xfffef674) at odintestsuite.cpp:95



-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org

Attachment: signature.asc
Description: PGP signature

Reply via email to