2011/11/11 Mathieu Bouchard matju@artengine.ca
Le 2011-11-11 à 17:56:00, tim vets a écrit :
I don't really remember the steps exactly, do you?
You could use the « svn diff » command, or if it's not from SVN, then unpack another copy (make sure you don't overwrite) and then do a diff of the two Makefiles with a command similar to :
diff -u fux_kinect_orig/Makefile fux_kinect_tim/Makefile
if the newer lines appear as «-» instead of «+», you have to change the order of filenames (I get it wrong 50 % of the time)
That 'undefined symbol' thing probably happened now only because I was
trying with a new build of latest Gem, which doesn't seem to work itself here. I now replaced it back with my previous Gem.pd_linux, and it behaves like before: I try to create [fux_kinect], and pd hangs, without ever finishing creating the object, and without messages.
You can use gdb like this :
gdb --args pdextended fux_kinect-help.pd
and then use the «run» command to start pd, and press Ctrl+c to force it to quit when it's hung, then use the «where» command to see a backtrace. Then post the backtrace here.
ok, only difference here is that doing ctrl+c didn't kill pd (just
'^CQuit' in the gdb prompt. doing 'where' anyway now gives:
#0 0xb7fe1424 in __kernel_vsyscall () #1 0xb7d55e71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0xb7d5934e in abort () at abort.c:92 #3 0xb7d8c577 in __libc_message (do_abort=2, fmt=0xb7e658ac "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:189 #4 0xb7d96961 in malloc_printerr (action=<value optimized out>, str=<value optimized out>, ptr=0x8612798) at malloc.c:6283 #5 0xb7d9915d in _int_malloc (av=0xb7e893c0, bytes=24) at malloc.c:4396 #6 0xb7d9af53 in __libc_malloc (bytes=24) at malloc.c:3660 #7 0xb42514da in freenect_init () from /usr/local/lib/libfreenect.so.0.0 #8 0xb43824cf in fux_kinect::fux_kinect (this=0x8612638, argc=0, argv=0xbfffec4c) at fux_kinect.cpp:84 #9 0xb438272b in create_fux_kinect (s=0x8610598, argc=0, argv=0xbfffec4c) at fux_kinect.cpp:24 #10 0x080b40b9 in pd_typedmess (x=0x851384c, s=0x8610598, argc=0, argv=0xbfffec4c) at m_class.c:715 #11 0x080b8e8a in binbuf_eval (x=0x8611b80, target=<value optimized out>, argc=0, argv=0x8611468) at m_binbuf.c:726 #12 0x08076265 in canvas_objtext (gl=0x8611390, xpix=191, ypix=<value optimized out>, selected=0, b=0x8611b80) at g_text.c:94 #13 0x08076540 in text_setto (x=0x8611370, glist=0x8611390, buf=0x8611b70 "fux_kinect", bufsize=10) at g_text.c:1397 ---Type <return> to continue, or q <return> to quit--- #14 0x08097e09 in glist_deselect (x=0x8611390, y=0x8611370) at g_editor.c:253 #15 0x08096f16 in glist_noselect (x=0x8611390) at g_editor.c:268 #16 0x0809a21d in canvas_doclick (x=0x8611390, xpos=220, ypos=97, which=1, mod=<value optimized out>, doit=1) at g_editor.c:1422 #17 0x0809a5c7 in canvas_mousedown (x=0x8611390, xpos=220, ypos=97, which=1, mod=0) at g_editor.c:1434 #18 0x080b3f86 in pd_typedmess (x=0x8611390, s=0x851de48, argc=4, argv=0xbffff05c) at m_class.c:792 #19 0x080b3b6c in pd_typedmess (x=0x855b148, s=0x851de48, argc=4, argv=0xbffff05c) at m_class.c:813 #20 0x080b8e8a in binbuf_eval (x=0x8559e68, target=<value optimized out>, argc=0, argv=0x0) at m_binbuf.c:726 #21 0x080c4e07 in socketreceiver_read (x=0x853d650, fd=10) at s_inter.c:558 #22 0x080c5ed4 in sys_domicrosleep (microsec=<value optimized out>, pollem=<value optimized out>) at s_inter.c:196 #23 0x080c1120 in m_pollingscheduler () at m_sched.c:513 #24 m_mainloop () at m_sched.c:563 #25 0x080c3ec9 in sys_main (argc=1, argv=0xbffff464) at s_main.c:304 #26 0x080cbbab in main (argc=1, argv=0xbffff464) at s_entry.c:32 gr, Tim
I could probably look up the Valgrind output, if it's relevant. gr, Tim
For a hang, it's better to use GDB.
GDB and Valgrind are largely complementary.
There's also a GUI for Valgrind if it helps you. I don't know about GUIs for GDB (except the quite old DDD), but there might be one or several.
______________________________**______________________________** __________ | Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC