Closed minghia closed 5 years ago
I got things to compile by installing the following:
yum install centos-release-scl yum install devtoolset-7-gcc-c++ yum install cmake3
and then
by executing:
scl enable devtoolset-7 -- cmake .. scl enable devtoolset-7 -- make
When I try to run aax-utils/test/testcapture I get the following:
where I get a segfault at the following:
`#0 _batch_imul_value_sse3 (dptr=0x7ffff0020620, sptr=0x7ffff0020620,
bps=
data=0x7ffff001e540, offset=<optimized out>, req_frames=<optimized out>,
scratch=<optimized out>, scratchlen=<optimized out>, gain=<optimized out>,
batched=0 '\000') at /home/avasile/src/aax/src/backends/linux/asound.c:1388
be=be@entry=0x7ffff7dbca00 <_aaxALSADriverBackend>,
be_handle=be_handle@entry=0x614220, delay=delay@entry=0x7ffff6b2b5f4,
agc_rr=0, dest_track=dest_track@entry=128, pos_sec=<optimized out>,
gain=1, nsamps=nsamps@entry=0x7ffff6b2b5f8, batched=0 '\000')
at /home/avasile/src/aax/src/software/sensor.c:298
drb=drb@entry=0x7ffff001e2d0, p2d=0x614620, p2d@entry=0x0, dest_track=128,
dest_track@entry=0, batched=batched@entry=0 '\000')
at /home/avasile/src/aax/src/software/sensor.c:128
config=config@entry=0x605010, drb=0x7ffff001e2d0)
at /home/avasile/src/aax/src/software/mixer.c:438
at /home/avasile/src/aax/src/backends/software/device.c:850
---Type
Do I need to specify a device or should the default capture device work?
Just a quick answer now, I'll dive into the problem later.
It should not crash when no capture device is specified so this looks like a bug which needs to be addressed.
Erik
I got the list of devices from aaxinfo and chose the first one and it still segfaulted. It can't because I tried to record on a VM as I can record with arecord albeit the quality is terrible. I was just trying out the library as it has some features that look good for my work project.
Thanks for the feedback. I think the first entry would be "ALSA on PulseAudio Sound Server" which also causes a segmentation fault for me. So I can debug what's happening.
That said, chances are this capture device doesn't work, try to use the one that looks something like:
ALSA on HDA Intel PCH: ALC892 Analog
Erik
Ok now I have moved to a Centos 6 VM because that is our target. However when I try:
aaxplay --capture 'ALSA on Ensoniq AudioPCI: ES1371 DAC2/ADC' -o t.wav
I get the following:
*** glibc detected *** /home/avasile/src/aax-utils/build/src/aaxplay: corrupted double-linked list: 0x0000000000623620 *** ======= Backtrace: ========= /lib64/libc.so.6[0x3b2b475e5e] /lib64/libc.so.6[0x3b2b479066] /usr/local/lib/x86_64-linux-gnu/libaax.so.3(+0x30b87)[0x7ffff7d76b87] /usr/local/lib/x86_64-linux-gnu/libaax.so.3(+0x30478)[0x7ffff7d76478] /usr/local/lib/x86_64-linux-gnu/libaax.so.3(+0x3057a)[0x7ffff7d7657a] /usr/local/lib/x86_64-linux-gnu/libaax.so.3(+0x34b78)[0x7ffff7d7ab78] /usr/local/lib/x86_64-linux-gnu/libaax.so.3(+0x341e6)[0x7ffff7d7a1e6] /usr/local/lib/x86_64-linux-gnu/libaax.so.3(+0x17427)[0x7ffff7d5d427] /lib64/libpthread.so.0[0x3b2b807aa1] /lib64/libc.so.6(clone+0x6d)[0x3b2b4e8c4d] ======= Memory map: ======== 00400000-00406000 r-xp 00000000 08:03 1976768 /home/avasile/src/aax-utils/build/src/aaxplay 00605000-00606000 r--p 00005000 08:03 1976768 /home/avasile/src/aax-utils/build/src/aaxplay 00606000-00607000 rw-p 00006000 08:03 1976768 /home/avasile/src/aax-utils/build/src/aaxplay 00607000-00683000 rw-p 00000000 00:00 0 [heap] 3b2ac00000-3b2ac20000 r-xp 00000000 08:03 786564 /lib64/ld-2.12.so 3b2ae20000-3b2ae21000 r--p 00020000 08:03 786564 /lib64/ld-2.12.so 3b2ae21000-3b2ae22000 rw-p 00021000 08:03 786564 /lib64/ld-2.12.so 3b2ae22000-3b2ae23000 rw-p 00000000 00:00 0 3b2b000000-3b2b002000 r-xp 00000000 08:03 786861 /lib64/libdl-2.12.so 3b2b002000-3b2b202000 ---p 00002000 08:03 786861 /lib64/libdl-2.12.so 3b2b202000-3b2b203000 r--p 00002000 08:03 786861 /lib64/libdl-2.12.so 3b2b203000-3b2b204000 rw-p 00003000 08:03 786861 /lib64/libdl-2.12.so 3b2b400000-3b2b58b000 r-xp 00000000 08:03 786856 /lib64/libc-2.12.so 3b2b58b000-3b2b78a000 ---p 0018b000 08:03 786856 /lib64/libc-2.12.so 3b2b78a000-3b2b78e000 r--p 0018a000 08:03 786856 /lib64/libc-2.12.so 3b2b78e000-3b2b790000 rw-p 0018e000 08:03 786856 /lib64/libc-2.12.so 3b2b790000-3b2b794000 rw-p 00000000 00:00 0 3b2b800000-3b2b817000 r-xp 00000000 08:03 786858 /lib64/libpthread-2.12.so 3b2b817000-3b2ba17000 ---p 00017000 08:03 786858 /lib64/libpthread-2.12.so 3b2ba17000-3b2ba18000 r--p 00017000 08:03 786858 /lib64/libpthread-2.12.so 3b2ba18000-3b2ba19000 rw-p 00018000 08:03 786858 /lib64/libpthread-2.12.so 3b2ba19000-3b2ba1d000 rw-p 00000000 00:00 0 3b2bc00000-3b2bc07000 r-xp 00000000 08:03 786862 /lib64/librt-2.12.so 3b2bc07000-3b2be06000 ---p 00007000 08:03 786862 /lib64/librt-2.12.so 3b2be06000-3b2be07000 r--p 00006000 08:03 786862 /lib64/librt-2.12.so 3b2be07000-3b2be08000 rw-p 00007000 08:03 786862 /lib64/librt-2.12.so 3b2c000000-3b2c083000 r-xp 00000000 08:03 786857 /lib64/libm-2.12.so 3b2c083000-3b2c282000 ---p 00083000 08:03 786857 /lib64/libm-2.12.so 3b2c282000-3b2c283000 r--p 00082000 08:03 786857 /lib64/libm-2.12.so 3b2c283000-3b2c284000 rw-p 00083000 08:03 786857 /lib64/libm-2.12.so 3b35800000-3b358e8000 r-xp 00000000 08:03 786885 /lib64/libasound.so.2.0.0 3b358e8000-3b35ae8000 ---p 000e8000 08:03 786885 /lib64/libasound.so.2.0.0 3b35ae8000-3b35af0000 rw-p 000e8000 08:03 786885 /lib64/libasound.so.2.0.0 3b36400000-3b36416000 r-xp 00000000 08:03 786884 /lib64/libgcc_s-4.4.7-20120601.so.1 3b36416000-3b36615000 ---p 00016000 08:03 786884 /lib64/libgcc_s-4.4.7-20120601.so.1 3b36615000-3b36616000 rw-p 00015000 08:03 786884 /lib64/libgcc_s-4.4.7-20120601.so.1 7fffec000000-7fffec021000 rw-p 00000000 00:00 0 7fffec021000-7ffff0000000 ---p 00000000 00:00 0 7ffff075d000-7ffff075e000 rw-p 00000000 00:00 0 7ffff075e000-7ffff075f000 ---p 00000000 00:00 0 7ffff075f000-7ffff11ab000 rw-p 00000000 00:00 0 7ffff11ab000-7ffff11bb000 rw-s 00000000 00:05 11998 /dev/snd/pcmC0D0c 7ffff11bb000-7ffff149a000 rw-p 00000000 00:00 0 7ffff149a000-7ffff149b000 ---p 00000000 00:00 0 7ffff149b000-7ffff1e9b000 rw-p 00000000 00:00 0 7ffff1e9b000-7ffff7d30000 r--p 00000000 08:03 1591774 /usr/lib/locale/locale-archive 7ffff7d30000-7ffff7d35000 rw-p 00000000 00:00 0 7ffff7d40000-7ffff7d42000 rw-s 00000000 00:05 11997 /dev/snd/pcmC0D0p 7ffff7d42000-7ffff7d43000 rw-s 81000000 00:05 11998 /dev/snd/pcmC0D0c 7ffff7d43000-7ffff7d44000 r--s 80000000 00:05 11998 /dev/snd/pcmC0D0c 7ffff7d44000-7ffff7d45000 rw-s 81000000 00:05 11997 /dev/snd/pcmC0D0p 7ffff7d45000-7ffff7d46000 r--s 80000000 00:05 11997 /dev/snd/pcmC0D0p 7ffff7d46000-7ffff7dde000 r-xp 00000000 08:03 1713539 /usr/local/lib/x86_64-linux-gnu/libaax.so.3.6.0 7ffff7dde000-7ffff7fde000 ---p 00098000 08:03 1713539 /usr/local/lib/x86_64-linux-gnu/libaax.so.3.6.0 7ffff7fde000-7ffff7fdf000 r--p 00098000 08:03 1713539 /usr/local/lib/x86_64-linux-gnu/libaax.so.3.6.0 7ffff7fdf000-7ffff7fea000 rw-p 00099000 08:03 1713539 /usr/local/lib/x86_64-linux-gnu/libaax.so.3.6.0 7ffff7fea000-7ffff7ffe000 rw-p 00000000 00:00 0 7ffff7ffe000-7ffff7fff000 r-xp 00000000 00:00 0 [vdso] 7ffffffea000-7ffffffff000 rw-p 00000000 00:00 0 [stack] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Another segfault though this time it is dying when it calls be->destroy_ringbuffer(rb); in sensor.c at line 227
Okay, this is now fixed in the latest version on github. It turned out to be a typo causing a buffer overrun.
Erik
Whilst attempting to compile on a Centos 7 VM I get the following error message:
[ 0%] Building C object CMakeFiles/AAXOBJ_LIB.dir/src/backends/sdl/device.c.o In file included from /home/avasile/src/aax/src/ringbuffer.h:33:0, from /home/avasile/src/aax/src/backends/sdl/device.c:44: /home/avasile/src/aax/base/geometry.h:81:4: error: unknown type name ‘__m256d’ __m256d avx; ^ make[2]: *** [CMakeFiles/AAXOBJ_LIB.dir/build.make:63: CMakeFiles/AAXOBJ_LIB.dir/src/backends/sdl/device.c.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:179: CMakeFiles/AAXOBJ_LIB.dir/all] Error 2 make: *** [Makefile:152: all] Error 2
If I use the prebuilt rpms I can't compile aax-support as I get the following:[ 21%] Linking CXX executable aaxplayer /usr/lib/x86_64-linux-gnu/libaax.so: undefined reference to
powf@GLIBC_2.27' /usr/lib/x86_64-linux-gnu/libaax.so: undefined reference togetrandom@GLIBC_2.25' /usr/lib/x86_64-linux-gnu/libaax.so: undefined reference to
expf@GLIBC_2.27' /usr/lib/x86_64-linux-gnu/libaax.so: undefined reference tologf@GLIBC_2.27' collect2: error: ld returned 1 exit status make[2]: *** [aaxplayer/aaxplayer] Error 1 make[1]: *** [aaxplayer/CMakeFiles/aaxplayer.dir/all] Error 2 make: *** [all] Error 2
Either way I am stuck. Any ideas.