Hallo devs!
I have a problem with reading some mp3 files in readanysf, with some (very seldom) files it is crashing - I cannot see what should be special with those files ... (e.g. audacity can read them normally) (tried now on various linux systems with pd 0.38 and 0.39 ...)
Any ideas how to debug that would be very helpfull !
Thanks, LG Georg
PS: some more debug informations:
here is the backtrace of gdb:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1228907600 (LWP 10814)] 0x00000000 in ?? () (gdb) bt #0 0x00000000 in ?? () #1 0x080aa88f in sys_lock () at m_sched.c:514 #2 0xb7d88d2d in flext_shared::Forward () from /usr/local/lib/libflext-pd.so.0.5 #3 0xb7d88268 in flext_base_shared::QWorker () from /usr/local/lib/libflext-pd.so.0.5 #4 0xb7d83f67 in flext_shared::ThrCond::TimedWait () from /usr/local/lib/libflext-pd.so.0.5 #5 0xb7ee5ccd in start_thread () from /lib/tls/libpthread.so.0 #6 0xb7e79b0e in clone () from /lib/tls/libc.so.6 (gdb)
valgrind give some more infos:
==10959== Thread 3: ==10959== Invalid read of size 1 ==10959== at 0x1B9016C9: memmove (mac_replace_strmem.c:486) ==10959== by 0x1BD546FB: ReadMad::fill_buffer() (in /usr/lib/pd/extra/readany sf~.pd_linux) ==10959== by 0x1BD5476E: ReadMad::Decode(float*, int) (in /usr/lib/pd/extra/r eadanysf~.pd_linux) ==10959== by 0x1BD53547: readanysf::FillFifo() (in /usr/lib/pd/extra/readanys f~.pd_linux) ==10959== by 0x1BD53AD7: readanysf::m_child() (in /usr/lib/pd/extra/readanysf ~.pd_linux) ==10959== by 0x1BD5441E: readanysf::flext_t_m_child(flext_shared::thr_params* ) (in /usr/lib/pd/extra/readanysf~.pd_linux) ==10959== by 0x1BD7EF66: (within /usr/local/lib/libflext-pd.so.0.5.1) ==10959== by 0x1BA01CCC: start_thread (in /lib/tls/libpthread-2.3.5.so) ==10959== by 0x1BADFB0D: clone (in /lib/tls/libc-2.3.5.so) ==10959== Address 0x1BCD2EC4 is 0 bytes after a block of size 26948 alloc'd ==10959== at 0x1B8FFC42: operator new(unsigned) (vg_replace_malloc.c:164) ==10959== by 0x1BD53887: readanysf::m_child() (in /usr/lib/pd/extra/readanysf ~.pd_linux) ==10959== by 0x1BD5441E: readanysf::flext_t_m_child(flext_shared::thr_params* ) (in /usr/lib/pd/extra/readanysf~.pd_linux) ==10959== by 0x1BD7EF66: (within /usr/local/lib/libflext-pd.so.0.5.1) ==10959== by 0x1BA01CCC: start_thread (in /lib/tls/libpthread-2.3.5.so) ==10959== by 0x1BADFB0D: clone (in /lib/tls/libc-2.3.5.so) ==10959== ==10959== Invalid read of size 1 ==10959== at 0x1B9016C0: memmove (mac_replace_strmem.c:486) ==10959== by 0x1BD546FB: ReadMad::fill_buffer() (in /usr/lib/pd/extra/readany sf~.pd_linux) ==10959== by 0x1BD5476E: ReadMad::Decode(float*, int) (in /usr/lib/pd/extra/r eadanysf~.pd_linux) ==10959== by 0x1BD53547: readanysf::FillFifo() (in /usr/lib/pd/extra/readanys f~.pd_linux) ==10959== by 0x1BD53AD7: readanysf::m_child() (in /usr/lib/pd/extra/readanysf ~.pd_linux) ==10959== by 0x1BD5441E: readanysf::flext_t_m_child(flext_shared::thr_params* ) (in /usr/lib/pd/extra/readanysf~.pd_linux) ==10959== by 0x1BD7EF66: (within /usr/local/lib/libflext-pd.so.0.5.1) ==10959== by 0x1BA01CCC: start_thread (in /lib/tls/libpthread-2.3.5.so) ==10959== by 0x1BADFB0D: clone (in /lib/tls/libc-2.3.5.so) ==10959== Address 0x1BCD2EC7 is 3 bytes after a block of size 26948 alloc'd ==10959== at 0x1B8FFC42: operator new(unsigned) (vg_replace_malloc.c:164) ==10959== by 0x1BD53887: readanysf::m_child() (in /usr/lib/pd/extra/readanysf ~.pd_linux) ==10959== by 0x1BD5441E: readanysf::flext_t_m_child(flext_shared::thr_params* ) (in /usr/lib/pd/extra/readanysf~.pd_linux) ==10959== by 0x1BD7EF66: (within /usr/local/lib/libflext-pd.so.0.5.1) ==10959== by 0x1BA01CCC: start_thread (in /lib/tls/libpthread-2.3.5.so) ==10959== by 0x1BADFB0D: clone (in /lib/tls/libc-2.3.5.so) ==10959== ==10959== Invalid write of size 1 ==10959== at 0x1B9016C3: memmove (mac_replace_strmem.c:486) ==10959== by 0x1BD546FB: ReadMad::fill_buffer() (in /usr/lib/pd/extra/readany sf~.pd_linux) ==10959== by 0x1BD5476E: ReadMad::Decode(float*, int) (in /usr/lib/pd/extra/r eadanysf~.pd_linux) ==10959== by 0x1BD53547: readanysf::FillFifo() (in /usr/lib/pd/extra/readanys f~.pd_linux) ==10959== by 0x1BD53AD7: readanysf::m_child() (in /usr/lib/pd/extra/readanysf ~.pd_linux) ==10959== by 0x1BD5441E: readanysf::flext_t_m_child(flext_shared::thr_params* ) (in /usr/lib/pd/extra/readanysf~.pd_linux) ==10959== by 0x1BD7EF66: (within /usr/local/lib/libflext-pd.so.0.5.1) ==10959== by 0x1BA01CCC: start_thread (in /lib/tls/libpthread-2.3.5.so) ==10959== by 0x1BADFB0D: clone (in /lib/tls/libc-2.3.5.so) ==10959== Address 0x1BCD2EC4 is 0 bytes after a block of size 26948 alloc'd ==10959== at 0x1B8FFC42: operator new(unsigned) (vg_replace_malloc.c:164) ==10959== by 0x1BD53887: readanysf::m_child() (in /usr/lib/pd/extra/readanysf ~.pd_linux) ==10959== by 0x1BD5441E: readanysf::flext_t_m_child(flext_shared::thr_params* ) (in /usr/lib/pd/extra/readanysf~.pd_linux) ==10959== by 0x1BD7EF66: (within /usr/local/lib/libflext-pd.so.0.5.1) ==10959== by 0x1BA01CCC: start_thread (in /lib/tls/libpthread-2.3.5.so) ==10959== by 0x1BADFB0D: clone (in /lib/tls/libc-2.3.5.so) ==10959== ==10959== More than 30000 total errors detected. I'm not reporting any more. ==10959== Final error counts will be inaccurate. Go fix your program! ==10959== Rerun with --error-limit=no to disable this cutoff. Note ==10959== that errors may occur in your program without prior warning from ==10959== Valgrind, because errors are no longer being displayed. ==10959== ==10959== ==10959== Process terminating with default action of signal 11 (SIGSEGV) ==10959== Bad permissions for mapped region at address 0x1BD47000 ==10959== at 0x1B9016C3: memmove (mac_replace_strmem.c:486) ==10959== by 0x1BD546FB: ReadMad::fill_buffer() (in /usr/lib/pd/extra/readany sf~.pd_linux) ==10959== by 0x1BD5476E: ReadMad::Decode(float*, int) (in /usr/lib/pd/extra/r eadanysf~.pd_linux) ==10959== by 0x1BD53547: readanysf::FillFifo() (in /usr/lib/pd/extra/readanys f~.pd_linux) ==10959== by 0x1BD53AD7: readanysf::m_child() (in /usr/lib/pd/extra/readanysf ~.pd_linux) ==10959== by 0x1BD5441E: readanysf::flext_t_m_child(flext_shared::thr_params* ) (in /usr/lib/pd/extra/readanysf~.pd_linux) ==10959== by 0x1BD7EF66: (within /usr/local/lib/libflext-pd.so.0.5.1) ==10959== by 0x1BA01CCC: start_thread (in /lib/tls/libpthread-2.3.5.so) ==10959== by 0x1BADFB0D: clone (in /lib/tls/libc-2.3.5.so) ==10959== ==10959== ERROR SUMMARY: 30000 errors from 24 contexts (suppressed: 0 from 0) ==10959== malloc/free: in use at exit: 488401 bytes in 1589 blocks. ==10959== malloc/free: 2709 allocs, 1120 frees, 1517591 bytes allocated. ==10959== For counts of detected errors, rerun with: -v ==10959== searching for pointers to 1589 not-freed blocks. ==10959== checked 25986180 bytes.