Hallo tim!
can you compile readanysf~ with debugging symbols and link with the flext debugging library (libflext-pd_d)?
okay:
now, with debugging symbols, the same patch results in a SEGFAULT: ---------8<------------ Starting program: /usr/bin/pd -path /usr/lib/pd/externs -path abs -lib Gem -lib PDContainer -lib zexy -lib iemlib1 -lib iemlib2 main.pd [Thread debugging using libthread_db enabled] [New Thread -1209653568 (LWP 29931)] OSS: requested audio buffer size 8820 limited to 2048 [New Thread -1228325968 (LWP 29962)] [New Thread -1237460048 (LWP 29963)] [New Thread -1245848656 (LWP 29964)] [New Thread -1254237264 (LWP 29965)] [Thread -1237460048 (LWP 29963) exited]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1209653568 (LWP 29931)] pd_free (x=0xb7f98218) at m_pd.c:29 29 if (c->c_freemethod) (*(t_gotfn)(c->c_freemethod))(x); (gdb) bt #0 pd_free (x=0xb7f98218) at m_pd.c:29 #1 0xb6d0a2d9 in ~flext_base_shared (this=0x81a8e8c) at source/flext.cpp:85 #2 0xb6d0b8a7 in ~flext_dsp_shared (this=0x81a8e8c) at source/fldsp.cpp:74 #3 0xb6d45040 in readanysf::~readanysf () from /usr/lib/pd/externs/readanysf~.pd_linux #4 0xb6d463f4 in readanysf::__free__ () from /usr/lib/pd/externs/readanysf~.pd_linux #5 0xb6d0cf27 in flext_obj_shared::obj_free (h=0x81604e8) at source/fllib.cpp:499 #6 0x0809f687 in pd_free (x=0x81604e8) at m_pd.c:33 #7 0x080577c9 in glist_delete (x=0x8160398, y=0x81604e8) at g_graph.c:120 #8 0x0805c65c in graph_delete (z=0x8160398, glist=0xb7f98218) at g_graph.c:986 #9 0x08081bee in gobj_delete (x=0x81a8e8c, glist=0xb7f98218) at g_editor.c:61 #10 0x0805777d in glist_delete (x=0x8186820, y=0x8160398) at g_graph.c:108 #11 0x08080d15 in canvas_doclear (x=0x8186820) at g_editor.c:2051 #12 0x08085607 in canvas_cut (x=0x8186820) at g_editor.c:2073 #13 0x080a07ed in pd_typedmess (x=0x8186820, s=0x81a8e8c, argc=135817248, argv=0x433f0000) at m_class.c:728 #14 0x080a06b6 in pd_typedmess (x=0x8162268, s=0x81a8e8c, argc=0, argv=0x80f92a8) at m_class.c:749 #15 0x080a3b94 in binbuf_eval (x=0xb7f98218, target=0x8162268, argc=0, argv=0x0) at m_binbuf.c:574 #16 0x080abfc0 in socketreceiver_read (x=0x8114e98, fd=0) at s_inter.c:539 #17 0x080adc8f in sys_domicrosleep (microsec=-1208385000, pollem=1) at s_inter.c:180 #18 0x080ad8ce in sys_pollgui () at s_inter.c:822 #19 0x080a8878 in m_scheduler () at m_sched.c:466 #20 0x080b32cb in main (argc=-1208385000, argv=0xb7f98218) at s_entry.c:27 (gdb) --------->8---------
anyway, if I only make 3 readanysf~ in an empty patch, and then delete them, I get the following messages:
-----8<---------- (gdb) run -stderr -path /usr/lib/pd/externs Starting program: /usr/bin/pd -stderr -path /usr/lib/pd/externs [Thread debugging using libthread_db enabled] [New Thread -1209653568 (LWP 30378)] OSS: requested audio buffer size 8820 limited to 2048 [New Thread -1211216976 (LWP 30416)] flext - minimum thread priority reached [New Thread -1219871824 (LWP 30417)] flext - minimum thread priority reached [New Thread -1228260432 (LWP 30418)] [New Thread -1236915280 (LWP 30421)] flext - minimum thread priority reached [New Thread -1245570128 (LWP 30423)] flext - minimum thread priority reached flext - INTERNAL ERROR: Thread not found! [Thread -1219871824 (LWP 30417) exited] flext - INTERNAL ERROR: Thread not found! [Thread -1236915280 (LWP 30421) exited]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1245570128 (LWP 30423)] 0xb7fa7093 in __pthread_mutex_cond_lock () from /lib/tls/libpthread.so.0 (gdb) bt #0 0xb7fa7093 in __pthread_mutex_cond_lock () from /lib/tls/libpthread.so.0 #1 0xb7fa2beb in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0 #2 0xb7e2945a in flext_shared::ThrCond::Wait (this=0x8152fd4) at source/flthr.cpp:608 #3 0xb7e5bc83 in readanysf::m_child () from /usr/lib/pd/externs/readanysf~.pd_linux #4 0xb7e5c5bf in readanysf::flext_t_m_child () from /usr/lib/pd/externs/readanysf~.pd_linux #5 0xb7e2875b in LaunchHelper (e=0x811708c) at source/flthr.cpp:110 #6 0xb7fa0ccd in start_thread () from /lib/tls/libpthread.so.0 #7 0xb7f34b0e in clone () from /lib/tls/libc.so.6 (gdb) ------->8---------
what is maybe important: I use pd0.39-0test6, but had to compile against the header files of pd-0.38-4 (because of the "template" stuff ...)
LG Georg