[L2Ork-dev] How to debug Windows and OSX

Ivica Ico Bukvic ico at vt.edu
Tue Apr 7 16:57:09 EDT 2020


On 4/7/2020 4:09 PM, Jonathan Wilkes wrote:

> On Tue, Apr 7, 2020 at 1:45 PM Ivica Ico Bukvic <ico at vt.edu> wrote:
>> I am not so concerned with A_SEMI since the objects that preset_node can
>> connect to AFAIR do not support that character.
> The thing is you've got two cases of "argv++" in the middle of that
> enormous function body.
>
> It's difficult to tell at a glance whether that would jump off the end
> of the array in some cases.

This is necessary due to logic of how it parses the linear file 
containing both node and preset info (with potentially multiple presets 
per node). This is documented and compensated for below at the end of 
that for loop. Did extensive counting of arguments and found it to work 
as advertised. It may be worth mentioning this was never an issue 
(although a nested while right below this instruction had a significant 
bug in it, as well, with both it and the A_SEMI working in tandem to 
further exacerbate the problem).

>
> Speaking of which, if
>> A_SEMI is escaped (e.g. having in text "\;"), is it still stored as
>> A_SEMI or as a symbol?
> Pd makes use of both in various places:
>
> A_SEMI -- atom of type A_SEMI. binbuf_read (by way of binbuf_text)
> will turn text ";" into A_SEMI
>
> A_SYMBOL with value ";". binbuf_read (by way of binbuf_text) will turn
> text "\;" into this.

In that case, the preset mechanism should never encounter A_SEMI as an 
atom type (other than the one that was the cause of this bug). I imagine 
getting the binbuf with the crflag off would make the code cleaner...

FWIW, did some testing this afternoon with multiple users and as of now 
getting zero crashes on Windows, Mac, or Linux, so this must've been a 
big one that managed to elude me for this long. One down, many more to go...

>
> -Jonathan
>
>> Best,
>>
>> Ico
>>
>> On 4/7/2020 1:07 PM, Jonathan Wilkes wrote:
>>> You have chosen to set the crflag for the binbuf reading routine, so
>>> the final newline "\n" will get converted to an A_SEMI.
>>>
>>> In preset_hub_read you are almost certainly assuming binbuf content
>>> that's restricted to A_SYMBOL and A_FLOAT and not checking
>>> for A_SEMI. I'd guess that A_SEMI is sneaking through somewhere in
>>> that great waterfall of conditionals and wreaking havoc.
>>>
>>> I'd suggest running under valgrind in Linux to see if you've got an
>>> invalid read to narrow down the source of the bug.
>>>
>>> Your current fix will probably stop the crasher for well-formed preset
>>> file content. But your read routine still has a latent bug and
>>> could still crash under malformed preset files on OSX and Windows.
>>>
>>> -Jonathan
>>>
>>>
>>> On Tue, Apr 7, 2020 at 3:42 AM Ivica Ico Bukvic <ico at vt.edu> wrote:
>>>> So gdb appears to be useless here on both Linux and Windows. Valgrind, on the other hand, detected the access outside the allocated memory. It is as if the last binbuf atom that reads from a file is a null one and should not be read as it will result in a segfault on Windows and Linux (although on Linux only if it runs under Valgrind, go figure). The improved version is now on the pd-l2ork 1.x branch (see x_preset.c).
>>>>
>>>> On 4/7/2020 1:27 AM, Ivica Bukvic wrote:
>>>>
>>>> Another, perhaps more informative error output with Windows version compiled without any optimizations. Looks like strcmp somehow has access violation while trying to return the pointer to symbol inside an atom (atom_getsymbol). No idea as to why... BTW, I wish gdb debugger on Windows was a bit more verbose (e.g. outputting a line number). Am I missing something?
>>>>
>>>> #0  0x758a9bac in strcmp () from C:\WINDOWS\System32\msvcrt.dll
>>>> #1  0x67623719 in preset_hub_read ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #2  0x67621523 in preset_node_request_hub_read ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #3  0x675a9774 in pd_typedmess ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #4  0x675aae20 in pd!outlet_anything ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #5  0x6754d6f6 in pd!canvas_objfor ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #6  0x675a9983 in pd_typedmess ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #7  0x675ae368 in pd!binbuf_eval ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #8  0x6754d828 in pd!messresponder_getglist ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #9  0x675a7d0b in pd_list () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #10 0x675aad9f in pd!outlet_list ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #11 0x675de368 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #12 0x675de482 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #13 0x675a7cb7 in pd_symbol ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #14 0x675aa804 in pd!obj_list ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #15 0x675de4d9 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #16 0x675a7d0b in pd_list () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #17 0x675aad9f in pd!outlet_list ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #18 0x67577285 in vinlet_dspprolog ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #19 0x675a7d0b in pd_list () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #20 0x675aa27e in signalinlet_new ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #21 0x675a7d0b in pd_list () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #22 0x675aad9f in pd!outlet_list ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #23 0x675e1aec in pd!info_out ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #24 0x675e202e in pd!canvasinfo_dir ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #25 0x675a9436 in pd_typedmess ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #26 0x675aae20 in pd!outlet_anything ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #27 0x6754d6f6 in pd!canvas_objfor ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #28 0x675a9983 in pd_typedmess ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #29 0x675ae368 in pd!binbuf_eval ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #30 0x6754d730 in pd!messresponder_getglist ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #31 0x675a7c51 in pd_bang () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #32 0x675aab42 in pd!outlet_bang ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #33 0x675def79 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #34 0x675df498 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #35 0x675a7c51 in pd_bang () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #36 0x675aab42 in pd!outlet_bang ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #37 0x6757691e in pd!g_template_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #38 0x675a7c51 in pd_bang () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #39 0x675a9ec1 in signalinlet_new ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #40 0x675a7c51 in pd_bang () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #41 0x675aab42 in pd!outlet_bang ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #42 0x675def79 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #43 0x675df510 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #44 0x675a7c73 in pd_float () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #45 0x675aac3c in pd!outlet_float ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #46 0x675dcf24 in pd!bang_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #47 0x675a7c73 in pd_float () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #48 0x675ae394 in pd!binbuf_eval ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #49 0x6754d828 in pd!messresponder_getglist ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #50 0x675a7d0b in pd_list () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #51 0x675aad9f in pd!outlet_list ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #52 0x675de368 in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #53 0x675de43c in route_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #54 0x675a7c73 in pd_float () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #55 0x675aac3c in pd!outlet_float ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #56 0x675a7c73 in pd_float () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #57 0x675aa04b in signalinlet_new ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #58 0x675a7c73 in pd_float () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #59 0x675aac3c in pd!outlet_float ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #60 0x675dcf24 in pd!bang_setup ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #61 0x675a7c73 in pd_float () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #62 0x67599775 in pd!iemgui_out_float ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #63 0x6759ce36 in radio_draw ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #64 0x6759ce5d in radio_draw ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #65 0x6759cf7b in radio_draw ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #66 0x6759cfc1 in radio_draw ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #67 0x67581ca9 in pd!gobj_click ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #68 0x67588bd2 in pd!canvas_doclick ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #69 0x6758a4dc in pd!canvas_mousedown ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #70 0x675a9724 in pd_typedmess ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #71 0x6757e6b3 in pd!guiconnect_notarget ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #72 0x675a9983 in pd_typedmess ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #73 0x675ae368 in pd!binbuf_eval ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #74 0x675b757d in socketreceiver_read ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #75 0x675b6bf0 in sys_getrealtime ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #76 0x675b6cab in sys_microsleep ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #77 0x675b42d8 in sched_tick ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #78 0x675b4422 in pd!m_mainloop ()
>>>>      from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #79 0x675b5023 in sys_main () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>> #80 0x00402730 in ?? ()
>>>> #81 0x00401386 in ?? ()
>>>> #82 0x755a6359 in KERNEL32!BaseThreadInitThunk ()
>>>>      from C:\WINDOWS\System32\kernel32.dll
>>>> #83 0x776e7b74 in ntdll!RtlGetAppContainerNamedObjectPath ()
>>>>      from C:\WINDOWS\SYSTEM32\ntdll.dll
>>>> #84 0x776e7b44 in ntdll!RtlGetAppContainerNamedObjectPath ()
>>>>      from C:\WINDOWS\SYSTEM32\ntdll.dll
>>>> #85 0x00000000 in ?? ()
>>>> (gdb)
>>>>
>>>> --
>>>> Ivica Ico Bukvic, D.M.A.
>>>> Director, Creativity + Innovation
>>>> Institute for Creativity, Arts, and Technology
>>>>
>>>> Virginia Tech
>>>> Creative Technologies in Music
>>>> School of Performing Arts – 0141
>>>> Blacksburg, VA 24061
>>>> (540) 231-6139
>>>> ico at vt.edu
>>>>
>>>> ci.icat.vt.edu
>>>> www.icat.vt.edu
>>>> www.performingarts.vt.edu
>>>> l2ork.icat.vt.edu
>>>> ico.bukvic.net
>>>>
>>>>
>>>>
>>>> On Mon, Apr 6, 2020 at 9:06 PM Ivica Ico Bukvic <ico at vt.edu> wrote:
>>>>> Another crasher output with preset_hub debug enabled. Looks like the
>>>>> cutoff is seemingly random. I wonder if it has something to do with a
>>>>> number of nested calls? In both cases we are pushing 40+? Nothing else
>>>>> obvious pops out and the same is not a problem on Linux at all...
>>>>>
>>>>> <snip long list>
>>>>>
>>>>>        found preset? 0 found node? 1
>>>>>        data_count = 1 starting @ 293 out of 358
>>>>>        1st_element = 0.001000
>>>>>        atom
>>>>>        data = %node%
>>>>>        new node
>>>>>        atom
>>>>>        data = 2
>>>>>        loc length = 2
>>>>>        atom
>>>>>        data = 28
>>>>>        loc = 28
>>>>>        atom
>>>>>        data = 36
>>>>>        loc = 36
>>>>>        found matching node
>>>>>        atom
>>>>>        data = %preset%
>>>>>        new preset
>>>>>        atom
>>>>>        data = 1
>>>>>        preset 1
>>>>>        found preset? 0 found node? 1
>>>>>        data_count = 1 starting @ 300 out of 358
>>>>>        1st_element = 33.388901
>>>>>        atom
>>>>>        data = %node%
>>>>>        new node
>>>>>        atom
>>>>>        data = 2
>>>>>        loc length = 2
>>>>>        atom
>>>>>        data = 27
>>>>>        loc = 27
>>>>>        atom
>>>>>        data = 38
>>>>>        loc = 38
>>>>>        found matching node
>>>>>        atom
>>>>>        data = %preset%
>>>>>        new preset
>>>>>        atom
>>>>>        data = 1
>>>>>        preset 1
>>>>>        found preset? 0 found node? 1
>>>>>        data_count = 1 starting @ 307 out of 358
>>>>>        1st_element = 36.842098
>>>>>        atom
>>>>>        data = %node%
>>>>>        new node
>>>>>        atom
>>>>>        data = 2
>>>>>        loc length = 2
>>>>>        atom
>>>>>        data = 27
>>>>>        loc = 27
>>>>>        atom
>>>>>        data = 39
>>>>>        loc = 39
>>>>>        found matching node
>>>>>        atom
>>>>>        data = %preset%
>>>>>        new preset
>>>>>        atom
>>>>>        data = 1
>>>>>        preset 1
>>>>>        found preset? 0 found node? 1
>>>>>        data_count = 1 starting @ 314 out of 358
>>>>>        1st_element = 0.523600
>>>>>        atom
>>>>>        data = %node%
>>>>>        new node
>>>>>        atom
>>>>>        data = 2
>>>>>        loc length = 2
>>>>>        atom
>>>>>        data = 23
>>>>>        loc = 23
>>>>>        atom
>>>>>        data = 25
>>>>>        loc = 25
>>>>>        found matching node
>>>>>        atom
>>>>>        data = %preset%
>>>>>        new preset
>>>>>        atom
>>>>>        data = 1
>>>>>        preset 1
>>>>>        found preset? 0 found node? 1
>>>>>        data_count = 1 starting @ 321 out of 358
>>>>>        1st_element = 250.000000
>>>>>        atom
>>>>>        data = %node%
>>>>>        new node
>>>>>        atom
>>>>>        data = 2
>>>>>        loc length = 2
>>>>>        atom
>>>>>        data = 23
>>>>>        loc = 23
>>>>>        atom
>>>>>        data = 26
>>>>>        loc = 26
>>>>>        found matching node
>>>>>        atom
>>>>>        data = %preset%
>>>>>        new preset
>>>>>        atom
>>>>>        [Thread 3928.0x4658 exited with code 0]
>>>>> [Thread 3928.0x1d74 exited with code 0]
>>>>> [Thread 3928.0x43b8 exited with code 0]
>>>>> [Thread 3928.0x8f8 exited with code 0]
>>>>> [Thread 3928.0x1a00 exited with code 0]
>>>>>
>>>>> Thread 1 received signal SIGSEGV, Segmentation fault.
>>>>> 0x675c01a9 in pd!atom_getsymbol ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> (gdb) back
>>>>> #0  0x675c01a9 in pd!atom_getsymbol ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #1  0x676737f4 in preset_hub_read ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #2  0x675bda4f in pd_typedmess ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #3  0x675bf37f in pd!outlet_anything ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #4  0x675bd653 in pd_typedmess ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #5  0x675c7097 in pd!binbuf_eval ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #6  0x675bf2df in pd!outlet_list ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #7  0x67602725 in x_arithmetic_setup ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #8  0x675bf2df in pd!outlet_list ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #9  0x675be40f in zgetfn () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #10 0x675bf2df in pd!outlet_list ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #11 0x67608891 in pd!canvasinfo_dir ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #12 0x675bdb6a in pd_typedmess ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #13 0x675bf37f in pd!outlet_anything ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #14 0x675bd653 in pd_typedmess ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #15 0x675c7097 in pd!binbuf_eval ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #16 0x6754fe49 in pd!g_graph_setup ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #17 0x675bf003 in pd!outlet_bang ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #18 0x6760335b in x_arithmetic_setup ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #19 0x676037e7 in x_arithmetic_setup ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #20 0x675bf003 in pd!outlet_bang ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #21 0x675bf003 in pd!outlet_bang ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #22 0x6760335b in x_arithmetic_setup ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #23 0x67603777 in x_arithmetic_setup ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #24 0x675bf12b in pd!outlet_float ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #25 0x675c6e1e in pd!binbuf_eval ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #26 0x675bf2df in pd!outlet_list ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #27 0x67602725 in x_arithmetic_setup ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #28 0x675bf12b in pd!outlet_float ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #29 0x675be233 in zgetfn () from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #30 0x675bf12b in pd!outlet_float ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #31 0x675b0012 in radio_draw_update ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #32 0x675b0b80 in radio_draw_update ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #33 0x675a37e5 in pd!canvas_doclick ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #34 0x675a4f18 in pd!canvas_mousedown ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #35 0x675bdb14 in pd_typedmess ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #36 0x675bd653 in pd_typedmess ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #37 0x675c7097 in pd!binbuf_eval ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #38 0x675cf7ce in socketreceiver_read ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #39 0x675cedb0 in sys_getblksize ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #40 0x675d140d in sys_pollgui ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #41 0x675cb20b in pd!m_mainloop ()
>>>>>       from C:\Program Files (x86)\Purr Data\bin\pd.dll
>>>>> #42 0x675ce9e8 in sys_main () from C:\Program Files (x86)\Purr
>>>>> Data\bin\pd.dll
>>>>> #43 0x00402730 in ?? ()
>>>>> #44 0x00401386 in ?? ()
>>>>> #45 0x755a6359 in KERNEL32!BaseThreadInitThunk ()
>>>>>       from C:\WINDOWS\System32\kernel32.dll
>>>>> #46 0x776e7b74 in ntdll!RtlGetAppContainerNamedObjectPath ()
>>>>>       from C:\WINDOWS\SYSTEM32\ntdll.dll
>>>>> #47 0x776e7b44 in ntdll!RtlGetAppContainerNamedObjectPath ()
>>>>>       from C:\WINDOWS\SYSTEM32\ntdll.dll
>>>>> #48 0x00000000 in ?? ()
>>>>> (gdb)
>>>>>
>>>>> --
>>>>> Ivica Ico Bukvic, D.M.A.
>>>>> Director, Creativity + Innovation
>>>>> Institute for Creativity, Arts, and Technology
>>>>>
>>>>> Virginia Tech
>>>>> Creative Technologies in Music
>>>>> School of Performing Arts – 0141
>>>>> Blacksburg, VA 24061
>>>>> (540) 231-6139
>>>>> ico at vt.edu
>>>>>
>>>>> www.icat.vt.edu
>>>>> www.performingarts.vt.edu
>>>>> l2ork.icat.vt.edu
>>>>> ico.bukvic.net
>>>>>
>>>> --
>>>> Ivica Ico Bukvic, D.M.A.
>>>> Director, Creativity + Innovation
>>>> Institute for Creativity, Arts, and Technology
>>>>
>>>> Virginia Tech
>>>> Creative Technologies in Music
>>>> School of Performing Arts – 0141
>>>> Blacksburg, VA 24061
>>>> (540) 231-6139
>>>> ico at vt.edu
>>>>
>>>> www.icat.vt.edu
>>>> www.performingarts.vt.edu
>>>> l2ork.icat.vt.edu
>>>> ico.bukvic.net
>> --
>> Ivica Ico Bukvic, D.M.A.
>> Director, Creativity + Innovation
>> Institute for Creativity, Arts, and Technology
>>
>> Virginia Tech
>> Creative Technologies in Music
>> School of Performing Arts – 0141
>> Blacksburg, VA 24061
>> (540) 231-6139
>> ico at vt.edu
>>
>> www.icat.vt.edu
>> www.performingarts.vt.edu
>> l2ork.icat.vt.edu
>> ico.bukvic.net
>>
-- 
Ivica Ico Bukvic, D.M.A.
Director, Creativity + Innovation
Institute for Creativity, Arts, and Technology

Virginia Tech
Creative Technologies in Music
School of Performing Arts – 0141
Blacksburg, VA 24061
(540) 231-6139
ico at vt.edu

www.icat.vt.edu
www.performingarts.vt.edu
l2ork.icat.vt.edu
ico.bukvic.net



More information about the L2Ork-dev mailing list