[PD-dev] mp3 files crashing (flext)

Georg Holzmann grhPD at gmx.at
Wed Oct 19 16:32:40 CEST 2005


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.


-- 
NEU: Telefon-Flatrate fürs dt. Festnetz! GMX Phone_Flat: 9,99 Euro/Mon.*
Für DSL-Nutzer. Ohne Providerwechsel! http://www.gmx.net/de/go/telefonie




More information about the Pd-dev mailing list