hoene / libmysofa Goto Github PK
View Code? Open in Web Editor NEWReader for AES SOFA files to get better HRTFs
License: Other
Reader for AES SOFA files to get better HRTFs
License: Other
Dear Hoene, my thanks for the lib. Would you mind removing some of the .sofa files in the test folder (e.g. all but one) for a more lightweight package? (>100Mo at the time)
and fix issues
the sofa2json
test currently depends on docker.
since the test is a blackbox (see #20), it is unclear why it needs to be encapsulated in a container.
most real-world test suites i've seen so far can be run fine without virtualization/containerization (though i see the merits of running them in containers anyhow: e.g. because you don't trust any pre-compiled binary blob where you cannot inspect the code for maliciousness; otoh, docker provides little protection against attacks anyhow).
it would be great if the tests could be run on an ordinary system, even if it doesn't support virtualisation (think: tseting whether the library behaves correctly on older arm
architectures)
Link to file
mysofa_check aborts at the following condition:
|| hrtf->ReceiverPosition.values[1] > 0
the actual value is positive (0.0900000035), everything else checks out.
A crafted input will lead to crash in fractalhead.c at libmysofa v0.8.
Triggered by
./mysofa2json POC
The ASAN information is as follows:
./mysofa2json overflow-libmysofa1
ASAN:SIGSEGV
=================================================================
==6617==ERROR: AddressSanitizer: stack-overflow on address 0x7ffe850c2ed8 (pc 0x7f91956d5568 bp 0x7ffe850c3720 sp 0x7ffe850c2ec0 T0)
#0 0x7f91956d5567 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98567)
#1 0x40d5d9 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:172
#2 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#3 0x40a534 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
#4 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#5 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#6 0x40a534 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
#7 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#8 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#9 0x40a534 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
#10 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#11 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#12 0x40a534 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
#13 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#14 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#15 0x40a534 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
#16 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#17 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#18 0x40a534 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
#19 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
.....
gdb debug info:
gdb ./mysofa2json
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./mysofa2json...done.
(gdb) r overflow-libmysofa1
Starting program: /usr/local/libmysofa_ASAN/bin/mysofa2json overflow-libmysofa1
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6f02568 in malloc () from /usr/lib/x86_64-linux-gnu/libasan.so.2
(gdb) bt
#0 0x00007ffff6f02568 in malloc () from /usr/lib/x86_64-linux-gnu/libasan.so.2
#1 0x000000000040d5da in directblockRead (reader=0x7fffffffde10, dataobject=0x617000a5cd08, fractalheap=0x617000a5cee8) at /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:172
#2 0x000000000040f74b in fractalheapRead (reader=0x7fffffffde10, dataobject=0x617000a5cd08, fractalheap=0x617000a5cee8) at /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#3 0x000000000040a535 in dataobjectRead (reader=0x7fffffffde10, dataobject=0x617000a5cd08, name=0x60200006ed50 "7") at /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
about code:
} else if (typeandversion == 1) {
/*
* pointer to another data object
*/
unknown = readValue(reader, 6);
if (unknown) {
log("FHDB type 1 unsupported values\n");
return MYSOFA_UNSUPPORTED_FORMAT;
}
len = fgetc(reader->fhd);
if (len < 0)
return MYSOFA_READ_ERROR;
assert(len < 0x100);
--------> if (!(name = malloc(len + 1)))
return MYSOFA_NO_MEMORY;
please tag a new release (e.g. v0.4.1
) after all the license foo.
please also remove the bonkers tag v0,.4
and replace it with the proper v0.4
This bug is found in commit: abab6e5.
This bug can cause segmentation fault in mysofa2json.
To reproduce it:
valgrind ./mysofa2json test.input.
The PoC input is attached.
libmysofa.pdf
About one month now FFmpeg uses libmysofa for its SOFAlizer filter. See FFmpeg/FFmpeg@2336c76.
Building libmysofa then went fine. With all the commits being pushed the last 2 weeks it now results in:
Downloading (via git clone) libmysofa_git from https://github.com/hoene/libmysofa.git
Cloning into 'libmysofa_git.tmp'...
remote: Counting objects: 1075, done.
remote: Compressing objects: 100% (58/58), done.
Receiving objects: remote: Total 1075 (delta 68), reused 65 (delta 43), pack-reused 974
Receiving objects: 100% (1075/1075), 99.42 MiB | 689.00 KiB/s, done.
Resolving deltas: 100% (705/705), done.
Checking connectivity... done.
done git cloning to libmysofa_git
doing git checkout master
Already on 'master'
Your branch is up-to-date with 'origin/master'.
Updating to latest libmysofa_git git version [origin/master]...
Already up-to-date.
got no code changes, not forcing reconfigure for that...
doing cmake in /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa_git with PATH=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH with extra_args=-DBUILD_SHARED_LIBS=0 -DBUILD_TESTS=0 like this:
cmake -G"Unix Makefiles" . -DENABLE_STATIC_RUNTIME=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RANLIB=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-ranlib -DCMAKE_C_COMPILER=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-g++ -DCMAKE_RC_COMPILER=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-windres -DCMAKE_INSTALL_PREFIX=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32 -DBUILD_SHARED_LIBS=0 -DBUILD_TESTS=0
-- The C compiler identification is GNU 7.1.0
-- The CXX compiler identification is GNU 7.1.0
-- Check for working C compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc
-- Check for working C compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-g++
-- Check for working CXX compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test C_HAS_WALL
-- Performing Test C_HAS_WALL - Success
FATALCannot find nuget command line tool.
Install it with e.g. choco install nuget.commandline
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
ENABLE_STATIC_RUNTIME
-- Build files have been written to: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa_git
making /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa_git as $ PATH=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH make -j 1
Scanning dependencies of target mysofa-static
[ 4%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/reader.c.obj
In file included from /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa_git/src/hrtf/reader.c:14:0:
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa_git/src/hrtf/mysofa.h:14:10: fatal error: ../../build/src/mysofa_export.h: No such file or directory
#include "../../build/src/mysofa_export.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/mysofa-static.dir/build.make:64: src/CMakeFiles/mysofa-static.dir/hrtf/reader.c.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:86: src/CMakeFiles/mysofa-static.dir/all] Error 2
make: *** [Makefile:150: all] Error 2
The 'build'-dir is practically empty, so #include "../../build/src/mysofa_export.h"
in 'src/hrtf/mysofa.h' indeed points to a non-existing file. Or am I doing something wrong?
No errors compiling the v0.5 release. Some warnings though:
downloading https://github.com/hoene/libmysofa/archive/v0.5.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 121 0 121 0 0 202 0 --:--:-- --:--:-- --:--:-- 256
100 73.2M 0 73.2M 0 0 632k 0 --:--:-- 0:01:58 --:--:-- 653k
doing cmake in /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5 with PATH=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH with extra_args=-DBUILD_SHARED_LIBS=0 -DBUILD_TESTS=0 like this:
cmake -G"Unix Makefiles" . -DENABLE_STATIC_RUNTIME=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RANLIB=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-ranlib -DCMAKE_C_COMPILER=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-g++ -DCMAKE_RC_COMPILER=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-windres -DCMAKE_INSTALL_PREFIX=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32 -DBUILD_SHARED_LIBS=0 -DBUILD_TESTS=0
-- The C compiler identification is GNU 7.1.0
-- The CXX compiler identification is GNU 7.1.0
-- Check for working C compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc
-- Check for working C compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-g++
-- Check for working CXX compiler: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test C_HAS_WALL
-- Performing Test C_HAS_WALL - Success
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
ENABLE_STATIC_RUNTIME
-- Build files have been written to: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5
making /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5 as $ PATH=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH make -j 1
Scanning dependencies of target mysofa-static
[ 4%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/reader.c.obj
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hrtf/reader.c: In function 'mysofa_load':
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hrtf/reader.c:221:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
else
^~~~
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hrtf/reader.c:224:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'
if (!reader.fhd) {
^~
[ 9%] Building C object src/CMakeFiles/mysofa-static.dir/hdf/superblock.c.obj
[ 14%] Building C object src/CMakeFiles/mysofa-static.dir/hdf/dataobject.c.obj
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hdf/dataobject.c: In function 'readDataVar':
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hdf/dataobject.c:532:28: warning: format '%lX' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t {aka long long unsigned int}' [-Wformat=]
sprintf(number, "REF%08lX", reference);
~~~~^
%08I64X
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hdf/dataobject.c:532:28: warning: format '%lX' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t {aka long long unsigned int}' [-Wformat=]
sprintf(number, "REF%08lX", reference);
~~~~^
%08I64X
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hdf/dataobject.c:524:6: warning: 'gcol' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (!!(err = gcolRead(reader, gcol, reference, &dataobject))) {
^
[ 19%] Building C object src/CMakeFiles/mysofa-static.dir/hdf/btree.c.obj
[ 23%] Building C object src/CMakeFiles/mysofa-static.dir/hdf/fractalhead.c.obj
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hdf/fractalhead.c: In function 'indirectblockRead':
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hdf/fractalhead.c:266:7: warning: 'child_direct_block' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (validAddress(reader, child_direct_block)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 28%] Building C object src/CMakeFiles/mysofa-static.dir/hdf/gunzip.c.obj
[ 33%] Building C object src/CMakeFiles/mysofa-static.dir/hdf/gcol.c.obj
[ 38%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/check.c.obj
[ 42%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/spherical.c.obj
[ 47%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/lookup.c.obj
[ 52%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/tools.c.obj
[ 57%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/kdtree.c.obj
[ 61%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/neighbors.c.obj
[ 66%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/interpolate.c.obj
[ 71%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/resample.c.obj
[ 76%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/loudness.c.obj
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hrtf/loudness.c: In function 'mysofa_loudness':
/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5/src/hrtf/loudness.c:48:49: warning: 'index' may be used uninitialized in this function [-Wmaybe-uninitialized]
factor = loudness(hrtf->DataIR.values + (index / 3) * hrtf->N * hrtf->R,
~~~~~~~^~~~
[ 80%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/minphase.c.obj
[ 85%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/easy.c.obj
[ 90%] Building C object src/CMakeFiles/mysofa-static.dir/hrtf/cache.c.obj
[ 95%] Building C object src/CMakeFiles/mysofa-static.dir/resampler/speex_resampler.c.obj
[100%] Linking C static library libmysofa.a
[100%] Built target mysofa-static
make installing /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/win32/libmysofa-0.5 as $ PATH=/cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH make install
[100%] Built target mysofa-static
Install the project...
-- Install configuration: ""
-- Installing: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib/libmysofa.a
-- Installing: /cygdrive/m/ffmpeg-windows-build-helpers-master/native_build/windows/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/mysofa.h
First of all, thanks for this library, I especially like it's nicely modular API!
I would like to use mysofa_lookup()
from multiple threads in parallel.
As stated in the README
, the library isn't threadsafe (and it really isn't, I tried it and got very strange behavior).
In order to use it with multiple threads, I would like to make copies of the MYSOFA_LOOKUP
structure to avoid those problems.
Is there a way to copy those?
I guess I could call mysofa_lookup_init()
multiple times to get copies, but I would like to avoid needing access to the MYSOFA_HRTF
struct at this point.
The reason for this is that I'm loading all data from MYSOFA_HRTF
into my own data structure and I'm deleting my MYSOFA_HRTF
as soon as I've obtained MYSOFA_LOOKUP
from it.
The project for Windows got broken after the recent structural changes. I am unable to rebuild the Windows DLL. In particular, I was not able to solve the following problem:
In mysofa.h: Cannot open include file: '../../build/src/mysofa_export.h': No such file or directory
I don't know in which directory this file is expected to be found, but it seems to be missing. Could you provide that file and clarify the directory?
Regards,
Piotr
it seems that the file share/default.sofa
is nowhere actually used in the code.
at least, a quick rgrep default.sofa *
only returns its enumeration in the CMakeList.txt
.
instead the symlinked-to file MIT_KEMAR_normal_pinna.sofa
is referenced directly in some of the test sources. (I guess the original idea was to keep the code independent of the actually used sofa-file, but it seems that this was forgotten).
more interestingly though, is the question why the files in share/
are actually installed (when running make install
). afaict, they are not used by anything outside the test suite...
the third-party/
folder contains a number of libraries, supposedly (according to the folder-name) written (and copyrighted) by 3rd parties.
unfortunately, apart from zlib (which contains at least some information in the zlib.h
header) it is unclear who are the copyright holders and under which license the various files are distributed.
This bug is found in git commit: 29b1162.
To reproduce:
valgrind ./mysofa2json test.input
PoC input is attached.
null_pointer_dereference.pdf
currently, it needs special libraries and is binary.
Instead a Dockerfile should be made that compile it and runs it in a docker image.
the files in /tests
have no license information.
instead the README says that they were downloaded from some 3rd party website. i couldn't find any license information on that website as well.
since there is no license, the files are automatically under All rights reserved, thus
you have no permission from the creators of the software to use, modify, or share [...]
Hello, I have files which fail mysofa_check (check.c: 137) because of the requirement that ReceiverPosition.values[1] be negative. We generate files with a positive values[1] and negative values[4]. Would it be okay to either remove the line or change it to !fequals(hrtf->ReceiverPosition.values[1], 0)
?
Hi there.
I found that when building a shared version of libmysofa on Windows using mingw-w64 on MSYS2, it fails with undefined references to the zlib library:
CMakeFiles/mysofa-shared.dir/objects.a(gunzip.c.obj):gunzip.c:(.text+0x5e): undefined reference to `inflateInit_'
CMakeFiles/mysofa-shared.dir/objects.a(gunzip.c.obj):gunzip.c:(.text+0x71): undefined reference to `inflate'
CMakeFiles/mysofa-shared.dir/objects.a(gunzip.c.obj):gunzip.c:(.text+0x81): undefined reference to `inflateEnd'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/mysofa-shared.dir/build.make:590: src/libmysofa.dll] Error 1
make[1]: *** [CMakeFiles/Makefile2:88: src/CMakeFiles/mysofa-shared.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
So I wrote a patch that corrects linking with zlib and allows installation of both the dll and dll.a files instead of just the dll file without the dll.a file. Here's the link.
https://github.com/Adsun701/MINGW-packages/blob/master/mingw-w64-libmysofa/0001-libmysofa-0.6-fix-undefined-linking-for-shared-build.patch
Thanks!
Andy
sincos seems not to be available in C99 on OS X:
/Users/chrisp/Documents/code/libmysofa/src/tools.c:65:3: warning: implicit declaration of function 'sincos' is invalid in C99
[-Wimplicit-function-declaration]
sincos(theta, &z, &x);
https://software.intel.com/en-us/forums/intel-c-compiler/topic/531738
I'm running Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
When trying to load big sofa files, it takes several seconds, where previously it would take most 1 second (with sofalizer from FFmpeg using NetCDF directly).
This is great library, but making an c non real time safe implementation to get filters is a little bit pointless. mysofa_getfilter_float function cannot be used in an audio thread because of the great use of malloc, also predefining the filter length is useless if another auxiliar allocation is going to be made inside the function.
//Outside function
float leftIR[filter_length];
float rightIR[filter_length];
mysofa_getfilter_float(hrtf, 10, 10, 10, leftIR, rightIR, &leftDelay, &rightDelay);
//Inside function
MYSOFA_EXPORT void mysofa_getfilter_float(struct MYSOFA_EASY* easy, float x, float y, float z,
float *IRleft, float *IRright,
float *delayLeft, float *delayRight)
{
float c[3];
float *fir = malloc(easy->hrtf->N * easy->hrtf->R * sizeof(float)); // <--- this can be preacllocated when the sofa file is loaded
A small article about this:
http://www.rossbencina.com/code/real-time-audio-programming-101-time-waits-for-nothing
BUILD_TESTS defaults to on, but building the tests fails if the cunit headers are not found (or not present).
cd /src/libmysofa/finkbuild/src && /sw/var/lib/fink/path-prefix-clang/cc -Wall -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11 -std=gnu99 -o CMakeFiles/tests.dir/tests/tests.c.o -c /src/libmysofa/src/tests/tests.c
/src/libmysofa/src/tests/tests.c:1:10: fatal error: 'CUnit/Basic.h' file not found
#include <CUnit/Basic.h>
I've tried to get ffmpeg to make with the default debian packages from apt repo, and tried to build the .deb and force install it. Neither works. Both end with this error. Any idea what's going on here?
CC libavfilter/af_sofalizer.o
libavfilter/af_sofalizer.c: In function โpreload_sofaโ:
libavfilter/af_sofalizer.c:166:32: error: implicit declaration of function โmysofa_neighborhood_init_withstepdefineโ; did you mean โmysofa_neighborhood_initโ? [-Werror=implicit-function-declaration]
s->sofa.neighborhood = mysofa_neighborhood_init_withstepdefine(s->sofa.hrtf,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mysofa_neighborhood_init
libavfilter/af_sofalizer.c:166:30: warning: assignment to โstruct MYSOFA_NEIGHBORHOOD *โ from โintโ makes pointer from integer without a cast [-Wint-conversion]
s->sofa.neighborhood = mysofa_neighborhood_init_withstepdefine(s->sofa.hrtf,
^
cc1: some warnings being treated as errors
make: *** [ffbuild/common.mak:59: libavfilter/af_sofalizer.o] Error 1
CMake Error at CMakeLists.txt:60:
Parse error. Expected "(", got quoted argument with text "lib/pkgconfig".
-- Configuring incomplete, errors occurred!
See here: rdp/ffmpeg-windows-build-helpers#281
thanks for all the updates on licenses.
there's still a few issues, clarifications required:
./share/MIT_KEMAR_normal_pinna.sofa
covered by the tests/LICENSE.MIT_KEMAR_large_pinna
as well?tests/Pulse.*
are covered by CC-BY-4.0
, but who is the copyright holder? this is especially important, as the CC-BY
license requires attribution, but who is to attribute?tests/FHK_HRIR_L2345
are covered by CC-BY-SA-3.0
, but who is the copyright holder? this is especially important, as the CC-BY
license requires attribution, but who is to attribute?the tests/s2j
folder contains a number of binaries without source-code
sofa2json
libnetcdf_c++4.so.1.0.3
i'd suggest to:
sofa2json
libmysofa
libnetcdfc++4
packge (to the docker image can be used without having to manually provide an outdated and unmaintained binary blob)This bug is found in git commit: a55565a
To reproduce the bug:
valgrind ./mysofa2json test.input
output of valgrind:
==17712== Invalid read of size 1
==17712== at 0x10A991: printDimensions (in /home/bwang/Bowen/gitrepo/aflpp-target/libmysofa/libmysofa-vanilla/build/src/mysofa2json)
==17712== by 0x10AB3B: printArray (in /home/bwang/Bowen/gitrepo/aflpp-target/libmysofa/libmysofa-vanilla/build/src/mysofa2json)
==17712== by 0x10AF8B: printJson (in /home/bwang/Bowen/gitrepo/aflpp-target/libmysofa/libmysofa-vanilla/build/src/mysofa2json)
==17712== by 0x10A459: main (in /home/bwang/Bowen/gitrepo/aflpp-target/libmysofa/libmysofa-vanilla/build/src/mysofa2json)
==17712== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==17712==
==17712==
Currently, all values, include the FIR filters, are stored as double.
Float would be sufficient precise and half the size...
This bug is found in git commit: 29b1162
To reproduce:
valgrind ./mysofa2json test.input
PoC input is attached.
negative_malloc.pdf
API shall not change...
I was trying to open this sofa files https://www.york.ac.uk/sadie-project/database.html, but I the library was not able to. Maybe because AES69-2015 has no backward compatibility with AES 69 SOFA? Thanks a lot!!
I wonder what's wrong with my HRTF that was created with h5netcdf, as it loads in all ambisonics daw plugins I tested but not with libmysofa? The sofa in question is https://drive.google.com/file/d/1SIslF4sgsI8lAl3Vm3S_QAdwtmfbbqnS/view?usp=sharing
Any ideas?
This bug is found in git commit 29b1162.
To reproduce:
valgrind ./mysofa2json test.input
PoC input is attached.
heap_out_of_bound_read.pdf
@richardpl
Another issue I found is if previously call mysofa_load, and later mysofa_open with same sofa file and sample rate to one reported in mysofa_load, length of IRs: N changes.
The resulted IRs are bad, because I get artifacts when filtering in time domain, the one in frequency domain are still present but much less noticeable.
By inspecting code there appears resampling is always done and there is no way to avoid it?
Shouldn't the line
hrtf->DataIR.values[i] /= factor;
be
hrtf->DataDelay.values[i] /= factor;
in resample.c ?
libmysofa should install a pkg-config file alongside the library and headers. This is especially useful (and in a way necessary) for static builds, where zlib and libm need to be explicitly linked to if support is compiled in.
Something simple like:
prefix=xxx
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/includeName: libmysofa
Version: 0.7
Description: Reader for AES SOFA files to get better HRTFs
URL: https://github.com/hoene/libmysofa
Libs: -L${libdir} -lmysofa
Libs.Private: -lm -lz
Cflags: -I${includedir}
With -lm and -lz being included only if needed (as detected by CMake) should be enough.
I was testing this library on OsX on real time but some times the library start to get some really clipped values with huge exponentials. I was using HRIR_CIRC360 KU100.sofa from the Thk database you can download the file here:
http://sofacoustics.org/data/database/thk/
And I was able to reproduce the bug with this code, some times you have to run it more that one time to start to get huge random values. Finally I tried to test the Sadie database but libmysofa
is not able to load it. The link to sadie hrtf: https://www.york.ac.uk/sadie-project/database.html. Thanks I hope you can help me to fix this issues.
int main (int argc, char* argv[])
{
int filter_length;
int err;
struct MYSOFA_EASY *hrtf = NULL;
hrtf = mysofa_open("HRIR_CIRC360 KU100.sofa", 44100, &filter_length, &err);
std::cout <<"Phi max: "+std::to_string(hrtf->lookup->phi_max)<< std::endl;
std::cout <<"Phi min: "+std::to_string(hrtf->lookup->phi_min)<< std::endl;
std::cout <<"Phi max: "+std::to_string(hrtf->lookup->theta_max)<< std::endl;
std::cout <<"Phi min: "+std::to_string(hrtf->lookup->theta_min)<< std::endl;
std::cout <<"Rad max: "+std::to_string(hrtf->lookup->radius_max)<< std::endl;
std::cout <<"Rad min: "+std::to_string(hrtf->lookup->radius_min)<< std::endl;
std::cout <<"Samples: "+std::to_string(hrtf->hrtf->N)<< std::endl;
std::cout <<"Num meassures: "+std::to_string(hrtf->hrtf->M)<< std::endl;
std::cout <<"Num receiver: "+std::to_string(hrtf->hrtf->R)<< std::endl;
std::cout <<"Num emitters: "+std::to_string(hrtf->hrtf->E)<< std::endl;
std::cout <<"Sampling Rate: "+std::to_string(hrtf->hrtf->DataSamplingRate.values[0])<< std::endl;
if(hrtf==NULL)
return err;
float leftIR[filter_length];
float rightIR[filter_length];
float leftDelay;
float rightDelay;
std::cout <<"coord num: "+std::to_string(hrtf->hrtf->SourcePosition.elements);
for(int t=0; t<10000;t++) //Rapid and multiple changes as in real time
for(int i=0; i<hrtf->hrtf->SourcePosition.elements;i+=3)
{
double x=hrtf->hrtf->SourcePosition.values[i];
double y=hrtf->hrtf->SourcePosition.values[i+1];
double z=hrtf->hrtf->SourcePosition.values[i+2];
mysofa_getfilter_float(hrtf, x, y, z,&leftIR[0], &rightIR[0], &leftDelay, &rightDelay);
for(int j=0; j<filter_length;j++)
{
if(leftIR[j]>1 || rightIR[j]>1)
{
std::cout <<"Clipping"<< std::endl;
std::cout <<std::to_string(leftIR[j])<< std::endl;
std::cout <<std::to_string(rightIR[j])<< std::endl;
}
}
}
mysofa_close(hrtf);
return 0;
}
There is an uninitialized use in mysofa2json, the bug is found in git commit 3dba53f.
To trigger the bug, after compiling the target:
valgrind ./mysofa2json test-input.
PoC input is attached(I have to change the suffix of input to zip because of github's upload regulation, but this input in generated by fuzzer.
input.zip
)
(already posted here, but as this issue is already closed, probably no one is notified)
At this moment FFmpeg still manually links libmysofa and its dependencies.
This works, but I had a look to have it use libmysofa's pkg-config file instead:
diff --git a/configure b/configure
index 9fa1665..856bddf 100755
--- a/configure
+++ b/configure
@@ -6000,7 +6000,8 @@ enabled libmfx && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" M
{ require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
enabled libmodplug && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
-enabled libmysofa && require libmysofa "mysofa.h" mysofa_load -lmysofa $zlib_extralibs
+enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_load ||
+ require libmysofa mysofa.h mysofa_load -lmysofa $zlib_extralibs; }
enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc ||
check_lib libnpp npp.h nppGetLibVersion -lnppi -lnppc ||
die "ERROR: libnpp not found"; }
This works too, but only if 'libmysofa.pc' is setup right! It needs -lm
and -lz
, as James already pointed out.
I believe something like this is needed:
diff --git a/libmysofa.pc.cmake b/libmysofa.pc.cmake
index f5413a9..0b2fb7a 100644
--- a/libmysofa.pc.cmake
+++ b/libmysofa.pc.cmake
@@ -8,5 +8,5 @@ libdir=${prefix}/lib
Libs: -L${libdir} -lmysofa
Cflags: -I${includedir}
-#Libs.private:
+Libs.private: @PKG_CONFIG_MATH@ @PKG_CONFIG_ZLIB@
#Requires.private:
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3c3c663..3fd8224 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -14,7 +14,9 @@ configure_file (config.h.in ${PROJECT_SOURCE_DIR}/src/config.h)
if(NOT MSVC)
find_library(MATH m)
+ set(PKG_CONFIG_MATH "-lm")
include(FindZLIB)
+ set(PKG_CONFIG_ZLIB "-lz")
else()
set(MATH "")
find_program(NUGET nuget)
I'm still rather new to all of this. I don't know exactly how everything works in 'CMakeList.txt'. The set commands are obviously in the wrong place, because Libs.private:
remains empty in 'libmysofa.pc'.
I have no doubt you can work this out nicely.
I am using mingw 5.0.4 with gcc 8.2.0 on Fedora 28.
Commit 494e94b worked fine, but 935c5b3 failed for me.
It seems that wrong header (in /usr/include
instead of path to my cross compiler) is included.
Here is generated errors:
In file included from path/to/source/of/libmysofa/src/hrtf/reader.c:9:
/usr/include/stdio.h:71:19: error: conflicting types for 'ssize_t'
typedef __ssize_t ssize_t;
^~~~~~~
In file included from path/to/my/compiler/x86_64-w64-mingw32/include/stddef.h:7,
from path/to/my/compiler/lib/gcc/x86_64-w64-mingw32/8.2.0/include/stddef.h:1,
from path/to/source/of/libmysofa/src/hrtf/reader.c:8:
path/to/my/compiler/x86_64-w64-mingw32/include/crtdefs.h:45:35: note: previous declaration of 'ssize_t' was here
__MINGW_EXTENSION typedef __int64 ssize_t;
^~~~~~~
In file included from /usr/include/sys/types.h:130,
from /usr/include/stdlib.h:394,
from path/to/source/of/libmysofa/src/hrtf/reader.c:10:
/usr/include/bits/types/time_t.h:7:18: error: conflicting types for 'time_t'
typedef __time_t time_t;
^~~~~~
In file included from path/to/my/compiler/x86_64-w64-mingw32/include/stddef.h:7,
from path/to/my/compiler/lib/gcc/x86_64-w64-mingw32/8.2.0/include/stddef.h:1,
from path/to/source/of/libmysofa/src/hrtf/reader.c:8:
path/to/my/compiler/x86_64-w64-mingw32/include/crtdefs.h:138:20: note: previous declaration of 'time_t' was here
typedef __time64_t time_t;
^~~~~~
In file included from /usr/include/sys/sysmacros.h:41,
from /usr/include/sys/types.h:205,
from /usr/include/stdlib.h:394,
from path/to/source/of/libmysofa/src/hrtf/reader.c:10:
/usr/include/sys/sysmacros.h: In function 'gnu_dev_major':
/usr/include/bits/sysmacros.h:44:57: warning: right shift count >= width of type [-Wshift-count-overflow]
__major |= ((__dev & (__dev_t) 0xfffff00000000000u) >> 32); \
^~
/usr/include/sys/sysmacros.h:79:1: note: in expansion of macro '__SYSMACROS_DEFINE_MAJOR'
__SYSMACROS_DEFINE_MAJOR (__SYSMACROS_IMPL_TEMPL)
^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sys/sysmacros.h: In function 'gnu_dev_makedev':
/usr/include/bits/sysmacros.h:68:51: warning: left shift count >= width of type [-Wshift-count-overflow]
__dev |= (((__dev_t) (__major & 0xfffff000u)) << 32); \
^~
/usr/include/sys/sysmacros.h:81:1: note: in expansion of macro '__SYSMACROS_DEFINE_MAKEDEV'
__SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_IMPL_TEMPL)
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from path/to/source/of/libmysofa/src/hrtf/mysofa.h:13,
from path/to/source/of/libmysofa/src/hrtf/reader.c:15:
/usr/include/stdint.h: At top level:
/usr/include/stdint.h:100:27: error: conflicting types for 'uintptr_t'
typedef unsigned long int uintptr_t;
^~~~~~~~~
In file included from path/to/my/compiler/x86_64-w64-mingw32/include/stddef.h:7,
from path/to/my/compiler/lib/gcc/x86_64-w64-mingw32/8.2.0/include/stddef.h:1,
from path/to/source/of/libmysofa/src/hrtf/reader.c:8:
path/to/my/compiler/x86_64-w64-mingw32/include/crtdefs.h:75:44: note: previous declaration of 'uintptr_t' was here
__MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
^~~~~~~~~
In file included from path/to/source/of/libmysofa/src/hrtf/mysofa.h:13,
from path/to/source/of/libmysofa/src/hrtf/reader.c:15:
/usr/include/stdint.h:116: warning: "__INT64_C" redefined
# define __INT64_C(c) c ## L
<built-in>: note: this is the location of the previous definition
In file included from path/to/source/of/libmysofa/src/hrtf/mysofa.h:13,
from path/to/source/of/libmysofa/src/hrtf/reader.c:15:
/usr/include/stdint.h:117: warning: "__UINT64_C" redefined
# define __UINT64_C(c) c ## UL
<built-in>: note: this is the location of the previous definition
path/to/source/of/libmysofa/src/hrtf/reader.c: In function 'readValue':
path/to/source/of/libmysofa/src/hrtf/reader.c:32:10: warning: conversion from 'long long unsigned int' to 'uint64_t' {aka 'long unsigned int'} changes value from '18446744073709551615' to '4294967295' [-Woverflow]
return 0xffffffffffffffffLL;
^~~~~~~~~~~~~~~~~~~~
path/to/source/of/libmysofa/src/hrtf/reader.c:37:11: warning: conversion from 'long long unsigned int' to 'uint64_t' {aka 'long unsigned int'} changes value from '18446744073709551615' to '4294967295' [-Woverflow]
return 0xffffffffffffffffLL;
^~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/mysofa-static.dir/build.make:64: src/CMakeFiles/mysofa-static.dir/hrtf/reader.c.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:86: src/CMakeFiles/mysofa-static.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
the libmysofa.so
dynamic library exports a number of symbols (e.g. all the public API).
however, it seems that there are some extra symbols are also exported, which are not part of the public API.
in order to avoid 3rd party applications to accidentally rely on these (supposedly) private symbols, they should be hidden.
instead use the code from speex
Hi, i found a stack-buffer-overflow bug in libmysofa v0.8(latest version from git), the details are below(ASAN):
/usr/local/libmysofa_ASAN/bin/mysofa2json 001-stackover
ASAN:SIGSEGV
=================================================================
==2911==ERROR: AddressSanitizer: stack-overflow on address 0x7ffc28c24f98 (pc 0x7f4656a43568 bp 0x7ffc28c257e0 sp 0x7ffc28c24f80 T0)
#0 0x7f4656a43567 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98567)
#1 0x40d0e9 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:102
#2 0x40e0ec in indirectblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:295
#3 0x40f722 in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:448
#4 0x40a534 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:931
#5 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#6 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#7 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#8 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#9 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#10 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#11 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#12 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#13 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#14 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#15 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#16 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#17 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#18 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#19 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#20 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#21 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#22 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#23 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#24 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#25 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#26 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#27 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#28 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#29 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#30 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#31 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#32 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#33 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#34 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#35 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#36 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#37 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#38 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#39 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#40 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#41 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#42 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#43 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#44 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#45 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#46 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#47 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#48 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#49 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#50 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#51 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#52 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#53 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#54 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#55 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#56 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#57 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#58 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#59 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#60 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#61 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#62 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#63 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#64 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#65 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#66 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#67 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#68 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#69 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#70 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#71 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#72 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#73 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#74 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#75 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#76 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#77 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#78 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#79 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#80 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#81 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#82 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#83 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#84 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#85 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#86 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#87 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#88 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#89 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#90 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#91 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#92 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#93 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#94 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#95 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#96 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#97 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#98 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#99 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#100 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#101 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#102 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#103 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#104 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#105 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#106 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#107 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#108 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#109 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#110 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#111 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#112 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#113 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#114 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#115 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#116 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#117 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#118 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#119 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#120 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#121 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#122 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#123 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#124 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#125 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#126 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#127 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#128 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#129 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#130 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#131 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#132 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#133 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#134 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#135 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#136 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#137 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#138 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#139 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#140 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#141 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#142 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#143 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#144 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#145 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#146 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#147 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#148 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#149 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#150 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#151 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#152 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#153 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#154 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#155 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#156 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#157 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#158 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#159 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#160 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#161 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#162 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#163 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#164 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#165 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#166 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#167 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#168 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#169 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#170 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#171 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#172 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#173 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#174 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#175 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#176 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#177 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#178 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#179 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#180 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#181 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#182 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#183 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#184 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#185 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#186 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#187 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#188 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#189 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#190 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#191 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#192 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#193 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#194 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#195 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#196 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#197 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#198 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#199 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#200 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#201 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#202 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#203 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#204 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#205 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#206 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#207 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#208 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#209 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#210 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#211 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#212 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#213 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#214 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#215 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#216 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#217 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#218 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#219 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#220 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#221 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#222 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#223 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#224 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#225 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#226 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#227 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#228 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#229 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#230 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#231 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#232 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#233 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#234 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#235 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#236 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#237 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#238 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#239 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#240 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#241 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#242 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#243 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#244 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#245 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#246 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#247 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#248 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
#249 0x40f74a in fractalheapRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:451
#250 0x40a626 in dataobjectRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/dataobject.c:937
#251 0x40d8d6 in directblockRead /home/libmysofa/libmysofa_asan/libmysofa/src/hdf/fractalhead.c:201
SUMMARY: AddressSanitizer: stack-overflow ??:0 malloc
==2911==ABORTING
POC FILE:https://github.com/fantasy7082/image_test/blob/master/001-stackover-libmysofa
When I run make all test, I get the above error? Is it that relative path is set wrong for the test files?
Successive loading of various sofa HRIR files in an audio plugin. Loading goes smooth for the first 10 to 20+ loadings (user interaction based), then will freeze while trying to load a file. Not a specific file, usually just going back and forth on 2-3 HRIRs (loading successfully otherwise) will produce the freeze at some point.
Freeze occurs in clear_results(...)
method of kdtree.c, during the while loop:
while (node) {
tmp = node;
node = node->next;
free_resnode(tmp);
}
Every time I reached the frozen state, node->next
and free_nodes
were always equal (and not NULL
), hence in free_resnode(...)
the
node->next = free_nodes;
free_nodes = node;
double lines eventually led to a node
which next
attribute was itself (and so forth). The while(node)
condition of the clear_results(...)
method thus was never fulfilled, hence the infinite loop.
If ever it rings a bell somewhere, I'll take it. Sorry I was not able to produce a minimalist test scenario.
I'm unable to cross compile with Mingw after ea9ce56:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: MATH
This is due to find_library(MATH m)
, which should not be used for WIN32 targets.
libccd also ran into this issue: danfis/libccd#2
...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.