Hi, just a small remark, In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help menu. At least not in my installation of 0.42.5-extended... gr, Tim
oh and another detail: when selecting "About Pd", I get:
error: [print Tcl Version]: got 2 args instead of at least 0, at most 1 print Tcl Version ... couldn't create error: [print Pd Version]: got 2 args instead of at least 0, at most 1 print Pd Version ... couldn't create
I guess you could make those [print Tcl_Version] and [print Pd_Version] instead.
gr, Tim
2011/9/27 tim vets timvets@gmail.com
Hi, just a small remark, In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help menu. At least not in my installation of 0.42.5-extended... gr, Tim
Here's a fix for about.pd (Also widened the window a bit so the entire version string can be read on
systems with larger fonts)
-Jonathan
From: tim vets timvets@gmail.com To: pd-list pd-list@iem.at Sent: Tuesday, September 27, 2011 8:02 AM Subject: Re: [PD] testtone comments
oh and another detail: when selecting "About Pd", I get:
error: [print Tcl Version]: got 2 args instead of at least 0, at most 1 print Tcl Version ... couldn't create error: [print Pd Version]: got 2 args instead of at least 0, at most 1 print Pd Version ... couldn't create
I guess you could make those [print Tcl_Version] and [print Pd_Version] instead.
gr, Tim
2011/9/27 tim vets timvets@gmail.com
Hi, just a small remark,
In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help menu. At least not in my installation of 0.42.5-extended... gr, Tim
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hey Jonathan,
Cool, thanks I'll include that. I was thinking, it would nice if the
list of credits at the bottom was randomized. Could you add that?
Right now its in a pretty arbitrary order and it would be nice to add
names without worrying about the order.
.hc
On Sep 28, 2011, at 10:12 AM, Jonathan Wilkes wrote:
Here's a fix for about.pd (Also widened the window a bit so the entire version string can be
read on systems with larger fonts)-Jonathan
From: tim vets timvets@gmail.com To: pd-list pd-list@iem.at Sent: Tuesday, September 27, 2011 8:02 AM Subject: Re: [PD] testtone comments
oh and another detail: when selecting "About Pd", I get:
error: [print Tcl Version]: got 2 args instead of at least 0, at
most 1 print Tcl Version ... couldn't create error: [print Pd Version]: got 2 args instead of at least 0, at most 1 print Pd Version ... couldn't createI guess you could make those [print Tcl_Version] and [print
Pd_Version] instead.gr, Tim
2011/9/27 tim vets timvets@gmail.com Hi, just a small remark, In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help menu. At least not in my installation of 0.42.5-extended... gr, Tim
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
<about.pd> _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Mistrust authority - promote decentralization. - the hacker ethic
Hi
I will be most likely be giving a workshop class for using pure data in theatrical/Dance performance @ SETC this year Some of you might remember last year @ EmillyCarr we demo-ed a 5.1 sound server using pd/pdjimmies/lyon potpourri objects Interfacing with 4 marker less motion capture units [oganic motion] over network with OSC [still then deprecated oscx libraries]
SO I am soliciting working simple patches for OSX/Windows [these are not going to be linux folks per se] that can/could be used in theatrical performance Hopefully the cool and usable patches will be given away on a commemorative usb stick [free] for workshop attendees.
Any ideas or patches would be cool
I wil be showing people how to trigger cues with cameras, devices and other programs in the intro/how-to part Then we will show examples of some pieces that were successful with technology [pure data] patches There may be some isadora in there too.
Please send me stuff
cheers~
pp
I'm highly interested in the workshop documentation since I can't attend for geographical reasons. Could that be considered? I mainly work for dancers here in Puerto Rico, but there ain't no resources of any kind, available, except what can be found on the internet.
thanks, Eduardo
On Wed, Sep 28, 2011 at 12:54 PM, Pagano, Patrick <pat@digitalworlds.ufl.edu
wrote:
Hi
I will be most likely be giving a workshop class for using pure data in theatrical/Dance performance @ SETC this year Some of you might remember last year @ EmillyCarr we demo-ed a 5.1 sound server using pd/pdjimmies/lyon potpourri objects Interfacing with 4 marker less motion capture units [oganic motion] over network with OSC [still then deprecated oscx libraries]
SO I am soliciting working simple patches for OSX/Windows [these are not going to be linux folks per se] that can/could be used in theatrical performance Hopefully the cool and usable patches will be given away on a commemorative usb stick [free] for workshop attendees.
Any ideas or patches would be cool
I wil be showing people how to trigger cues with cameras, devices and other programs in the intro/how-to part Then we will show examples of some pieces that were successful with technology [pure data] patches There may be some isadora in there too.
Please send me stuff
cheers~
pp
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi, maybe you find some of those projects interesting: http://www.uni-weimar.de/medien/wiki/GMU:Keeping_Track/assignment_four
is there any video of your organic motion setup?
max
Am 28.09.2011 um 18:54 schrieb Pagano, Patrick:
Hi
I will be most likely be giving a workshop class for using pure data in theatrical/Dance performance @ SETC this year Some of you might remember last year @ EmillyCarr we demo-ed a 5.1 sound server using pd/pdjimmies/lyon potpourri objects Interfacing with 4 marker less motion capture units [oganic motion] over network with OSC [still then deprecated oscx libraries]
SO I am soliciting working simple patches for OSX/Windows [these are not going to be linux folks per se] that can/could be used in theatrical performance Hopefully the cool and usable patches will be given away on a commemorative usb stick [free] for workshop attendees.
Any ideas or patches would be cool
I wil be showing people how to trigger cues with cameras, devices and other programs in the intro/how-to part Then we will show examples of some pieces that were successful with technology [pure data] patches There may be some isadora in there too.
Please send me stuff
cheers~
pp
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 29/09/11 00:54, Pagano, Patrick wrote:
Hi
I will be most likely be giving a workshop class for using pure data in theatrical/Dance performance @ SETC this year Some of you might remember last year @ EmillyCarr we demo-ed a 5.1 sound server using pd/pdjimmies/lyon potpourri objects Interfacing with 4 marker less motion capture units [oganic motion] over network with OSC [still then deprecated oscx libraries]
SO I am soliciting working simple patches for OSX/Windows [these are not going to be linux folks per se] that can/could be used in theatrical performance Hopefully the cool and usable patches will be given away on a commemorative usb stick [free] for workshop attendees.
Any ideas or patches would be cool
I wil be showing people how to trigger cues with cameras, devices and other programs in the intro/how-to part Then we will show examples of some pieces that were successful with technology [pure data] patches There may be some isadora in there too.
Using a control surface like my BCF2000 and a number keypad makes operating a pd driven system much more comfortable and familiar for most theatre technicians, so the plotting of the cues fits naturally into the standard lighting and sound plot. Using DMX as an input to pd means that it becomes an even more natural extension of the lighting plot because you can then assign lighting channels to the pd part of the system. Lighting operators are rather familiar with all kinds of visual effects running along with the lighting plot and as long as it is all controlled by the lighting desk then everyone is happier when several video projectors are used to create the space on stage.
Add a spaceball or two to the tactile interfaces and you can start to do some very interesting work with video following the action on stage - say following a dancer as they move through the stage. The old models were very expensive new, but built very robustly and are much better in this context than the new, cheaper versions. They can be bought quite cheaply on ebay, the usb models just before they went cheaper are the best, and work fine on linux with [hid], the older serial ones are more work.
Please send me stuff
The patches I have done using these are not at all simple, and are very specific to each show, so not much use to post.
But here is patch of mine that 'plays' the lighting state using the vocals of two performers who are using a very particular kind of vocalisation. The patch communicates with a lighting desk via midi. The vocalists are using a whole range of noises - half swallowed words, lots of plosives without vowels, various extended vowels etc. We worked together to give them a vocabulary of lighting states and transitions to go with these sounds, so they could play the space around them like they might play a musical instrument.
We had a couple of mics, and the BCF2000 for fiddling with parameters.
It is very old! It was the first real patch I did - about 8 years ago - there are lots! more things that could be added as far as detecting different sounds go, but I didn't know about them then. And the GOP is the old style, before the big changes to GOP several years ago, so if you edit the GOP bits you will need to rearrange them too, but they are simple enough and the new way is much easier to use.
But because of that, and the fact that I didn't have any library of my own stuff to work with, it is very simple and self contained - and it might be fun to play with in a workshop, especially if people are new to pd, and you have access to a proper lighting setup with a desk that can take cues via midi.
Anyway it is attached as-is ... have a look around at the various scenes we ended up with, some are simple tests but a few made quite nice demos.
Simon
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: tim vets timvets@gmail.com; pd-list pd-list@iem.at Sent: Wednesday, September 28, 2011 12:14 PM Subject: Re: [PD] testtone comments
Hey Jonathan,
Cool, thanks I'll include that. I was thinking, it would nice if the list of credits at the bottom was randomized. Could you add that? Right now its in a pretty arbitrary order and it would be nice to add names without worrying about the order.
Yes, but I found that there is a segfault that pops up for me on Ubuntu Maverick if I clear the subpatches
and save, then close the patch. I can't get gdb working with Pd at the moment and so can't figure out what's causing
the error (though I have suspicions it has to do with data structures...)
.hc
On Sep 28, 2011, at 10:12 AM, Jonathan Wilkes wrote:
Here's a fix for about.pd
(Also widened the window a bit so the entire version string can be read on
systems with larger fonts)
-Jonathan
From: tim vets timvets@gmail.com To: pd-list pd-list@iem.at Sent: Tuesday, September 27, 2011 8:02 AM Subject: Re: [PD] testtone comments
oh and another detail: when selecting "About Pd", I get:
error: [print Tcl Version]: got 2 args instead of at least 0, at most 1 print Tcl Version ... couldn't create error: [print Pd Version]: got 2 args instead of at least 0, at most 1 print Pd Version ... couldn't create
I guess you could make those [print Tcl_Version] and [print Pd_Version] instead.
gr, Tim
2011/9/27 tim vets timvets@gmail.com
Hi, just a small remark,
In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help menu. At least not in my installation of 0.42.5-extended... gr, Tim
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
<about.pd>_______________________________________________
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Mistrust authority - promote decentralization. - the hacker ethic
On Sep 28, 2011, at 2:02 PM, Jonathan Wilkes wrote:
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: tim vets timvets@gmail.com; pd-list pd-list@iem.at Sent: Wednesday, September 28, 2011 12:14 PM Subject: Re: [PD] testtone comments
Hey Jonathan,
Cool, thanks I'll include that. I was thinking, it would nice if
the list of credits at the bottom was randomized. Could you add
that? Right now its in a pretty arbitrary order and it would be
nice to add names without worrying about the order.Yes, but I found that there is a segfault that pops up for me on
Ubuntu Maverick if I clear the subpatchesand save, then close the patch. I can't get gdb working with Pd at
the moment and so can't figure out what's causingthe error (though I have suspicions it has to do with data
structures...)
You'll want to build Pd with -g in CFLAGS and remove -fomit-frame- pointer. That should give you much better results with gdb.
.hc
.hc
On Sep 28, 2011, at 10:12 AM, Jonathan Wilkes wrote:
Here's a fix for about.pd
(Also widened the window a bit so the entire version string can be
read onsystems with larger fonts)
-Jonathan
From: tim vets timvets@gmail.com To: pd-list pd-list@iem.at Sent: Tuesday, September 27, 2011 8:02 AM Subject: Re: [PD] testtone comments
oh and another detail: when selecting "About Pd", I get:
error: [print Tcl Version]: got 2 args instead of at least 0, at
most 1 print Tcl Version ... couldn't create error: [print Pd Version]: got 2 args instead of at least 0, at
most 1 print Pd Version ... couldn't createI guess you could make those [print Tcl_Version] and [print
Pd_Version] instead.gr, Tim
2011/9/27 tim vets timvets@gmail.com
Hi, just a small remark,
In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help
menu. At least not in my installation of 0.42.5-extended... gr, Tim
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
<about.pd>_______________________________________________
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Mistrust authority - promote decentralization. - the hacker ethic
"Free software means you control what your computer does. Non-free
software means someone else controls that, and to some extent controls
you." - Richard M. Stallman
Le 2011-09-28 à 14:19:00, Hans-Christoph Steiner a écrit :
You'll want to build Pd with -g in CFLAGS and remove -fomit-frame-pointer. That should give you much better results with gdb.
It's also about -fno-inline, although in practice, I compile with -O0 instead.
However, if you use a -O flag that implies -fomit-frame-pointer, you will need to add -fno-omit-frame-pointer to disable it explicitly.
But you just made me think that it wouldn't be bad that I use -O2 or -O3 with those options, so that I would less often need to switch between debug and non-debug, and so that debug mode is less painful when debugging certain high-CPU things.
Is there anything else besides no-omit-frame-pointer and no-inline, that affects the quality of backtraces ?
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
Before I do that, below is a backtrace with a 0.43 nightly build of extended with gdb. Does it help? If not, I'll compile
with the settings you mentioned below.
-Jonathan
Program received signal SIGSEGV, Segmentation fault. pd_typedmess (x=0x821290, s=0x6c39b0, argc=1, argv=0x7fffffffe0d0) at m_class.c:708 708 m_class.c: No such file or directory. in m_class.c (gdb) watchdog: signaling pd... watchdog: signaling pd...
(gdb) (gdb) bawatchdog: signaling pd... cktracewatchdog: signaling pd...
#0 pd_typedmess (x=0x821290, s=0x6c39b0, argc=1, argv=0x7fffffffe0d0) at m_class.c:708 #1 0x000000000043c629 in pd_typedmess (x=0x830220, s=<optimized out>, argc=<optimized out>, argv=<optimized out>) at m_class.c:812 #2 0x000000000043b0f1 in bindlist_anything (x=<optimized out>, s=0x6c39b0, argc=1, argv=0x7fffffffe0d0) at m_pd.c:108 #3 0x000000000043c629 in pd_typedmess (x=0x8ef320, s=<optimized out>, argc=<optimized out>, argv=<optimized out>) at m_class.c:812 #4 0x0000000000442511 in binbuf_eval (x=<optimized out>, target=0x8ef320, argc=0, argv=0x0) at m_binbuf.c:767 #5 0x00000000004478f9 in socketreceiver_read (x=0x6d9d10, fd=8) at s_inter.c:551 #6 0x00000000004463b1 in sys_domicrosleep (microsec=<optimized out>, pollem=1) at s_inter.c:191 #7 0x000000000044424d in m_pollingscheduler () at m_sched.c:511 #8 m_mainloop () at m_sched.c:571 #9 0x00007ffff677fead in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #10 0x00000000004170c1 in _start ()
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: tim vets timvets@gmail.com; pd-list pd-list@iem.at Sent: Wednesday, September 28, 2011 2:19 PM Subject: gdb and Pd WAS: [PD] testtone comments
On Sep 28, 2011, at 2:02 PM, Jonathan Wilkes wrote:
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: tim vets timvets@gmail.com; pd-list pd-list@iem.at Sent: Wednesday, September 28, 2011 12:14 PM Subject: Re: [PD] testtone comments
Hey Jonathan,
Cool, thanks I'll include that. I was thinking, it would nice if the list of credits at the bottom was randomized. Could you add that? Right now its in a pretty arbitrary order and it would be nice to add names without worrying about the order.
Yes, but I found that there is a segfault that pops up for me on Ubuntu Maverick if I clear the subpatches
and save, then close the patch. I can't get gdb working with Pd at the moment and so can't figure out what's causing
the error (though I have suspicions it has to do with data structures...)
You'll want to build Pd with -g in CFLAGS and remove -fomit-frame-pointer. That should give you much better results with gdb.
.hc
.hc
On Sep 28, 2011, at 10:12 AM, Jonathan Wilkes wrote:
Here's a fix for about.pd
(Also widened the window a bit so the entire version string can be read on
systems with larger fonts)
-Jonathan
From: tim vets timvets@gmail.com To: pd-list pd-list@iem.at Sent: Tuesday, September 27, 2011 8:02 AM Subject: Re: [PD] testtone comments
oh and another detail: when selecting "About Pd", I get:
error: [print Tcl Version]: got 2 args instead of at least 0, at most 1 print Tcl Version ... couldn't create error: [print Pd Version]: got 2 args instead of at least 0, at most 1 print Pd Version ... couldn't create
I guess you could make those [print Tcl_Version] and [print Pd_Version] instead.
gr, Tim
2011/9/27 tim vets timvets@gmail.com
Hi, just a small remark,
In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help menu. At least not in my installation of 0.42.5-extended... gr, Tim
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
<about.pd>_______________________________________________
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Mistrust authority - promote decentralization. - the hacker ethic
"Free software means you control what your computer does. Non-free software means someone else controls that, and to some extent controls you." - Richard M. Stallman
I have not been following this thread at all, but for what it's worth in my experience these kinds of seemingly illogical errors usually arise from memory corruption (typically because something has not been properly allocated).
Ivica Ico Bukvic, D.M.A Composition, Music Technology Director, DISIS Interactive Sound & Intermedia Studio Director, L2Ork Linux Laptop Orchestra Assistant Director, CCTAD Virginia Tech Department of Music Blacksburg, VA 24061-0240 (540) 231-6139 (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net
Jonathan Wilkes jancsika@yahoo.com wrote:
Before I do that, below is a backtrace with a 0.43 nightly build of extended with gdb. Does it help? If not, I'll compile
with the settings you mentioned below.
-Jonathan
Program received signal SIGSEGV, Segmentation fault. pd_typedmess (x=0x821290, s=0x6c39b0, argc=1, argv=0x7fffffffe0d0) at m_class.c:708 708 m_class.c: No such file or directory. in m_class.c (gdb) watchdog: signaling pd... watchdog: signaling pd...
(gdb) (gdb) bawatchdog: signaling pd... cktracewatchdog: signaling pd...
#0 pd_typedmess (x=0x821290, s=0x6c39b0, argc=1, argv=0x7fffffffe0d0) at m_class.c:708 #1 0x000000000043c629 in pd_typedmess (x=0x830220, s=<optimized out>, argc=<optimized out>, argv=<optimized out>) at m_class.c:812 #2 0x000000000043b0f1 in bindlist_anything (x=<optimized out>, s=0x6c39b0, argc=1, argv=0x7fffffffe0d0) at m_pd.c:108 #3 0x000000000043c629 in pd_typedmess (x=0x8ef320, s=<optimized out>, argc=<optimized out>, argv=<optimized out>) at m_class.c:812 #4 0x0000000000442511 in binbuf_eval (x=<optimized out>, target=0x8ef320, argc=0, argv=0x0) at m_binbuf.c:767 #5 0x00000000004478f9 in socketreceiver_read (x=0x6d9d10, fd=8) at s_inter.c:551 #6 0x00000000004463b1 in sys_domicrosleep (microsec=<optimized out>, pollem=1) at s_inter.c:191 #7 0x000000000044424d in m_pollingscheduler () at m_sched.c:511 #8 m_mainloop () at m_sched.c:571 #9 0x00007ffff677fead in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #10 0x00000000004170c1 in _start ()
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: tim vets timvets@gmail.com; pd-list pd-list@iem.at Sent: Wednesday, September 28, 2011 2:19 PM Subject: gdb and Pd WAS: [PD] testtone comments
On Sep 28, 2011, at 2:02 PM, Jonathan Wilkes wrote:
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: tim vets timvets@gmail.com; pd-list pd-list@iem.at Sent: Wednesday, September 28, 2011 12:14 PM Subject: Re: [PD] testtone comments
Hey Jonathan,
Cool, thanks I'll include that. I was thinking, it would nice if the list of credits at the bottom was randomized. Could you add that? Right now its in a pretty arbitrary order and it would be nice to add names without worrying about the order.
Yes, but I found that there is a segfault that pops up for me on Ubuntu Maverick if I clear the subpatches
and save, then close the patch. I can't get gdb working with Pd at the moment and so can't figure out what's causing
the error (though I have suspicions it has to do with data structures...)
You'll want to build Pd with -g in CFLAGS and remove -fomit-frame-pointer. That should give you much better results with gdb.
.hc
.hc
On Sep 28, 2011, at 10:12 AM, Jonathan Wilkes wrote:
Here's a fix for about.pd
(Also widened the window a bit so the entire version string can be read on
systems with larger fonts)
-Jonathan
From: tim vets timvets@gmail.com To: pd-list pd-list@iem.at Sent: Tuesday, September 27, 2011 8:02 AM Subject: Re: [PD] testtone comments
oh and another detail: when selecting "About Pd", I get:
error: [print Tcl Version]: got 2 args instead of at least 0, at most 1 print Tcl Version ... couldn't create error: [print Pd Version]: got 2 args instead of at least 0, at most 1 print Pd Version ... couldn't create
I guess you could make those [print Tcl_Version] and [print Pd_Version] instead.
gr, Tim
2011/9/27 tim vets timvets@gmail.com
Hi, just a small remark,
In testtone.pd it says: " To see Pd's DOCUMENTATION, select "getting started" in the Help menu. " It may have been there in the past, but now there is no such thing as "getting started" in the Help menu. At least not in my installation of 0.42.5-extended... gr, Tim
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
<about.pd>_____________________________________________
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Mistrust authority - promote decentralization. - the hacker ethic
"Free software means you control what your computer does. Non-free software means someone else controls that, and to some extent controls you." - Richard M. Stallman
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Le 2011-11-15 à 22:03:00, Ivica Ico Bukvic a écrit :
I have not been following this thread at all, but for what it's worth in my experience these kinds of seemingly illogical errors usually arise from memory corruption (typically because something has not been properly allocated).
That's why I go on and on about Valgrind and its magical abilities to find causes instead of consequences.
But I should also remark that code is easier to debug when it's not optimised :
#1 0x000000000043c629 in pd_typedmess (x=0x830220, s=<optimized out>, argc=<optimized out>, argv=<optimized out>) at m_class.c:812
as you can see, we're losing information, because the executable does stuff in a way that gdb doesn't understand, and some info is missing about how gdb could be reading it, when it's readable at all. Some variables disappear entirely, some only pretend to.
But more importantly, some function calls disappear, either because they are merged (due to any options named «inline»), or because it's faster to skip doing certain things that are required for producing good backtraces («omit-frame-pointer» also means some function calls become hidden).
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
On Nov 16, 2011, at 2:18 AM, Mathieu Bouchard wrote:
Le 2011-11-15 à 22:03:00, Ivica Ico Bukvic a écrit :
I have not been following this thread at all, but for what it's worth in my experience these kinds of seemingly illogical errors usually arise from memory corruption (typically because something has not been properly allocated).
That's why I go on and on about Valgrind and its magical abilities to find causes instead of consequences.
But I should also remark that code is easier to debug when it's not optimised :
#1 0x000000000043c629 in pd_typedmess (x=0x830220, s=<optimized out>, argc=<optimized out>, argv=<optimized out>) at m_class.c:812
as you can see, we're losing information, because the executable does stuff in a way that gdb doesn't understand, and some info is missing about how gdb could be reading it, when it's readable at all. Some variables disappear entirely, some only pretend to.
But more importantly, some function calls disappear, either because they are merged (due to any options named «inline»), or because it's faster to skip doing certain things that are required for producing good backtraces («omit-frame-pointer» also means some function calls become hidden).
To this end, I recently did some work on the Pd-extended build system to make sure that everything gets built with -g -fno-omit-frame-pointer. With those two, I have found that you can get good info while still having the (other) optimizations in. Debugging with the optimizations is also important since that's how most people actually use pd.
.hc
Using ReBirth is like trying to play an 808 with a long stick. -David Zicarelli
Le 2011-11-16 à 09:46:00, Hans-Christoph Steiner a écrit :
To this end, I recently did some work on the Pd-extended build system to make sure that everything gets built with -g -fno-omit-frame-pointer.
Compiling with -fno-inline is quite important too.
With those two, I have found that you can get good info while still having the (other) optimizations in. Debugging with the optimizations is also important since that's how most people actually use pd.
It's also that otherwise, the debugging can become really slow, and in some case, breaking the realtime constraints also means the app starts doing other frames.
IMHO, I found that it's better to do the choice of -O per C file, instead of assuming that changing whole-project settings is fine. For example, if you have some modules that do heavy number crunching and rarely have bugs, make sure it always gets compiled with -O3 -fomit-frame-pointer etc., and then maybe you can compile the rest of the app/lib with -fno-inline -fno-omit-frame-pointer and maybe it would give faster execution *and* better debugging than trying uniform settings that eat half of the backtrace in inlining.
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
Le 2011-11-16 à 10:46:00, Mathieu Bouchard a écrit :
Le 2011-11-16 à 09:46:00, Hans-Christoph Steiner a écrit :
It's also that otherwise, the debugging can become really slow, and in some case, breaking the realtime constraints also means the app starts doing other frames.
Damn. More coffee !
Breaking the realtime constraints also means that the app can have different behaviours such as skipping frames. So it won't be processing the same thing. In GridFlow/Linux, the normal behaviour is to never skip frames, doing everything in slow motion, so if everything relies on the logical clock, much everything will be the same, but in Gem, I think there's a lot of frameskipping using the realtime clock (?).
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
On Wed, Nov 16, 2011 at 09:46:18AM -0500, Hans-Christoph Steiner wrote:
To this end, I recently did some work on the Pd-extended build system to make sure that everything gets built with -g -fno-omit-frame-pointer. With those two, I have found that you can get good info while still having the (other) optimizations in. Debugging with the optimizations is also important since that's how most people actually use pd.
Certainly, compiling with those flags aids debugging with gdb and optimizations enabled.
Nevertheless, I have to say that while I've used Valgrind to debug countless memory glitches, I have only tracked the problem down to an optimization-related compiler bug once. Memory corruption bugs and leaks seem to originate much more often with the programmer than the compiler. :)
To fully exploit Valgrind and its ability to identify ordinary C programmer error, it's convenient (though not required) to build with optimization off and -fno-inline-functions so as to make building suppressions files easier. That's not going to hide bugs like double-frees, buffer overruns, etc, and most of the time, that's what at the root of the problem.
I would also like to second Matju -- it is much more useful to know the moment the invalid write occured than it is to know what happened at the moment the corrupted memory caused the crash. Heap memory corruption in particular is a spooky-action-at-a-distance phenomenon[1] -- there is usually no obvious cause-and-effect relationship between the bad write and its eventual consequences, because overwriting the heap's bookkeeping records causes stuff to go haywire in really weird ways at unpredictable moments. It is much easier to debug starting from the cause that Valgrind identifies rather than starting from the effect that gdb identifies.
Marvin Humphrey
[1] http://en.wikipedia.org/wiki/Action_at_a_distance_%28computer_science%29
On Nov 16, 2011, at 11:03 AM, Marvin Humphrey wrote:
On Wed, Nov 16, 2011 at 09:46:18AM -0500, Hans-Christoph Steiner wrote:
To this end, I recently did some work on the Pd-extended build system to make sure that everything gets built with -g -fno-omit-frame-pointer. With those two, I have found that you can get good info while still having the (other) optimizations in. Debugging with the optimizations is also important since that's how most people actually use pd.
Certainly, compiling with those flags aids debugging with gdb and optimizations enabled.
Nevertheless, I have to say that while I've used Valgrind to debug countless memory glitches, I have only tracked the problem down to an optimization-related compiler bug once. Memory corruption bugs and leaks seem to originate much more often with the programmer than the compiler. :)
To fully exploit Valgrind and its ability to identify ordinary C programmer error, it's convenient (though not required) to build with optimization off and -fno-inline-functions so as to make building suppressions files easier. That's not going to hide bugs like double-frees, buffer overruns, etc, and most of the time, that's what at the root of the problem.
I would also like to second Matju -- it is much more useful to know the moment the invalid write occured than it is to know what happened at the moment the corrupted memory caused the crash. Heap memory corruption in particular is a spooky-action-at-a-distance phenomenon[1] -- there is usually no obvious cause-and-effect relationship between the bad write and its eventual consequences, because overwriting the heap's bookkeeping records causes stuff to go haywire in really weird ways at unpredictable moments. It is much easier to debug starting from the cause that Valgrind identifies rather than starting from the effect that gdb identifies.
Marvin Humphrey
[1] http://en.wikipedia.org/wiki/Action_at_a_distance_%28computer_science%29
Ok, I added -fno-inline-functions and streamlined the global debug flags. Tomorrow's builds should be ready for full valgrind action!
Here's the commit: http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revi...
.hc
"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore
Below is a valgrind log-- I just kept opening and closing about.pd and it never actually crashed. The "conditional jump" stuff
happened when I clicked the big green [bng] and started the ds animation.
-Jonathan
----- Original Message -----
From: Hans-Christoph Steiner hans@at.or.at To: Marvin Humphrey marvin@rectangular.com Cc: pd-list pd-list@iem.at Sent: Wednesday, November 16, 2011 11:58 AM Subject: Re: [PD] gdb and Pd WAS: testtone comments
On Nov 16, 2011, at 11:03 AM, Marvin Humphrey wrote:
On Wed, Nov 16, 2011 at 09:46:18AM -0500, Hans-Christoph Steiner wrote:
To this end, I recently did some work on the Pd-extended build system
to
make sure that everything gets built with -g -fno-omit-frame-pointer.
With
those two, I have found that you can get good info while still having
the
(other) optimizations in. Debugging with the optimizations is also important since that's how most people actually use pd.
Certainly, compiling with those flags aids debugging with gdb and optimizations enabled.
Nevertheless, I have to say that while I've used Valgrind to debug
countless
memory glitches, I have only tracked the problem down to an optimization-related compiler bug once. Memory corruption bugs and leaks
seem
to originate much more often with the programmer than the compiler. :)
To fully exploit Valgrind and its ability to identify ordinary C programmer error, it's convenient (though not required) to build with optimization
off
and -fno-inline-functions so as to make building suppressions files easier. That's not going to hide bugs like double-frees, buffer overruns, etc,
and
most of the time, that's what at the root of the problem.
I would also like to second Matju -- it is much more useful to know the
moment
the invalid write occured than it is to know what happened at the moment
the
corrupted memory caused the crash. Heap memory corruption in particular is
a
spooky-action-at-a-distance phenomenon[1] -- there is usually no obvious cause-and-effect relationship between the bad write and its eventual consequences, because overwriting the heap's bookkeeping records causes
stuff
to go haywire in really weird ways at unpredictable moments. It is much easier to debug starting from the cause that Valgrind identifies rather
than
starting from the effect that gdb identifies.
Marvin Humphrey
[1]
http://en.wikipedia.org/wiki/Action_at_a_distance_%28computer_science%29
Ok, I added -fno-inline-functions and streamlined the global debug flags. Tomorrow's builds should be ready for full valgrind action!
Here's the commit: http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revi...
.hc
"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
So can I just use Valgrind with my current nightly build, or do I still need to recompile with the options Hans mentioned?
-Jonathan
----- Original Message -----
From: Mathieu Bouchard matju@artengine.ca To: Ivica Ico Bukvic ico@vt.edu Cc: Jonathan Wilkes jancsika@yahoo.com; Hans-Christoph Steiner hans@at.or.at; pd-list pd-list@iem.at Sent: Wednesday, November 16, 2011 2:18 AM Subject: Re: [PD] gdb and Pd WAS: testtone comments
Le 2011-11-15 à 22:03:00, Ivica Ico Bukvic a écrit :
I have not been following this thread at all, but for what it's worth
in my experience these kinds of seemingly illogical errors usually arise from memory corruption (typically because something has not been properly allocated).
That's why I go on and on about Valgrind and its magical abilities to find causes instead of consequences.
But I should also remark that code is easier to debug when it's not optimised :
#1 0x000000000043c629 in pd_typedmess (x=0x830220, s=<optimized
out>, argc=<optimized out>, argv=<optimized out>) at m_class.c:812
as you can see, we're losing information, because the executable does stuff in a way that gdb doesn't understand, and some info is missing about how gdb could be reading it, when it's readable at all. Some variables disappear entirely, some only pretend to.
But more importantly, some function calls disappear, either because they are merged (due to any options named «inline»), or because it's faster to skip doing certain things that are required for producing good backtraces («omit-frame-pointer» also means some function calls become hidden).
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
On Wed, Nov 16, 2011 at 07:28:34AM -0800, Jonathan Wilkes wrote:
So can I just use Valgrind with my current nightly build, or do I still need to recompile with the options Hans mentioned?
You don't need to recompile.
If at some point we create a Valgrind suppressions file for Pd, it will help to compile with -fno-inline-functions. But that's not required -- it just cuts down on the noisy false positives.
Marvin Humphrey
Le 2011-11-16 à 07:36:00, Marvin Humphrey a écrit :
If at some point we create a Valgrind suppressions file for Pd,
The suppressions-file I use is in the source tree of GridFlow.
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
Le 2011-11-16 à 07:28:00, Jonathan Wilkes a écrit :
So can I just use Valgrind with my current nightly build, or do I still need to recompile with the options Hans mentioned?
Depends on whether anyone is able to use the crippled log. If the bug is obvious or fairly findable to someone, you don't always need to seek for the best possible log, but if you're not being lucky, or you expect to not be lucky, then it might be better to aim for a better log.
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC