[PD] fux_kinect

tim vets timvets at gmail.com
Fri Nov 11 19:52:57 CET 2011


killing pd with xkill gave this in gdb:
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server
":0.0"
      after 2824 requests (2823 known processed) with 0 events remaining.

the 'where' output remains the same afaict...

#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


2011/11/11 tim vets <timvets at gmail.com>

>
>
> 2011/11/11 Mathieu Bouchard <matju at 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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20111111/37040630/attachment-0001.htm>


More information about the Pd-list mailing list