Re: [PD] vbap 1.0.3.2 fails when sent longer "define_loudspeakers" messages

2013-01-08 Thread Hans-Christoph Steiner

Hey Katya,

Looks like you and me are off the hook for causing this bug ;) I used
svn-bisect to find the commit that introduced this issue:
http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revision=15871

So I I emailed the author of that patch to see if he's got any insight.

Here's Zach's bug report:
https://sourceforge.net/tracker/index.php?func=detail&aid=3599983&group_id=55736&atid=478070

Here's my little build/test script for use with svn-bisect:
svn revert -R . ; make clean; sed -i 's|^#define \(MAX_LS_[A-Z]*\)
[0-9]*|#define \1 200|' vbap.h && make && pd -noprefs -open vbap64-test.pd

.hc

On 01/08/2013 09:19 PM, katja wrote:
> Hello,
> 
> This issue seems somehow related to changing 'float' into Pd's type
> 't_float' about a year ago. I checked a few builds to find out where
> the issue started. Most changes were made 2011-11-16 (by me). The
> 2011-11-25 build does not show the issue yet.
> 
> Apparently I had overlooked a few instances of 'float', and Hans did
> more changes on 2012-01-12. Most of these are in lines which are
> commented out anyway, there is only one change that has effect, and it
> is in line 230 of define_loudspeakers.c. Leaving commented-out lines
> away, it reads:
> 
> t_float azi = 0;
> if(av[pointer].a_type == A_FLOAT) azi = av[pointer].a_w.w_float;
> else { error("define-loudspeakers: direction angle #%d NaN",i+1);
> x->x_ls_read = 0; return; }
> 
> In the 20120216 build, the message 'param  is not a float' pops
> up. However, Pd does not crash (also not when closing the patch). So,
> there may be an extra issue, introduced later. I can't imagine how
> 't_float' could be a problem here, as it is perfectly equivalent to
> 'float', if m_pd.h is included. Without m_pd.h it should not compile,
> but m_pd.h is included via other headers.
> 
> Also on 2012-01-12, a variable 'epsilon' of type t_float was
> introduced in the same file, but this seems less related to the issue.
> 
> Katja
> 
> 
> 
> On Wed, Jan 9, 2013 at 1:02 AM, Hans-Christoph Steiner  wrote:
>>
>> Ah, that's an important tidbit of info!  If that's not in the bug report,
>> please include which version is working.
>>
>> .hc
>>
>> On 01/08/2013 06:53 PM, Zack Settel wrote:
>>> Hi HC- Yeah,  I kind of gave up at a certain point, figuring that I was 
>>> poorly equipped to get to the bottom of that one quickly. I posted a 
>>> ticket.  For now, I suppose I'll grab an earlier version that seems to 
>>> work, and switch back, once the bug gets sorted out.
>>>
>>> cheers,
>>>
>>> Zack
>>>
>>>
>>>
>>>
>>>
>>> On 2013-01-07, at 12:28 PM, Hans-Christoph Steiner wrote:
>>>

 Hey Zach,

 Looks like you've gone deep into it :)  Sounds like those MAX macros are 
 set
 because the code can't currently handle longer lists.  I won't have time to
 look at this for a while.  Could you post a bug report to the bug tracker
 (Help menu --> report bug) with the info in this email?  Also it might be
 worth your while to see if anyone has tried this when using this object in
 Max/MSP.  Its the same code.

 .hc

 On 01/07/2013 09:45 AM, Zack Settel wrote:
> Hi Hans-Christoph,
>
> Thanks for your previous reply before the holidays.
>
> Just to refresh the subject:
>
> using Pd-0.42.5-extended.app, Pd-0.43-3.app, and 
> Pd-0.43.4-extended-20121101
> on OSX 10.6x and 10.7x,
>
> vbap 1.0.3.2 crashes when sent longer "define_loudspeakers" messages
>
>
> the PD console displays: vbap: Loudspeaker setup configured! pd: 
> getbytes() failed -- out of memory vbap: Configure loudspeakers first!
> and the program crashes.
>
>
> (It appears to be failing in the "vbap_matrix" method.  But, perhaps, the 
> data sent to that message is already bad).
>
>
>
>
> Following your suggestion,
>
> I tried doubling both MAX_LS_AMOUNT as well as MAX_LS_SETS.  Now the 
> program does not crash, vbap fails each time:  when sent the 
> define_loudspeakers,   the PD console displays:
>
>
> "vbap loudspeaker-matrices: param 475 is not a float."   (from 
> vbap_matrix method)
>
>
> Things I have noticed:
>
> --The above param number in the error message will be different each time 
> pd is relaunched and a new attempt is made.
> --increasing MAX_LS_AMOUNT and MAX_LS_SETS 10 times introduces 
> intermittency:Some times the same error message above will be 
> displayed,  sometimes it the define_loudspeakers message will succeed, 
> and VBAP will function correctly.
> -- occasionally,  a different error message in the pd console will result:
> "Dimension can be only 2 or 3" (from vbap_matrix method)
>
> --And of course, the problem does not manifest when smaller 
> configurations are used (i.e.  shorter define_loudspeakers messages).
>
>
>
> I wrestled with the problem for a long tim

[PD] vbap 1.0.3.2 fails when sent longer "define_loudspeakers" messages

2013-01-08 Thread katja
Hello,

This issue seems somehow related to changing 'float' into Pd's type
't_float' about a year ago. I checked a few builds to find out where
the issue started. Most changes were made 2011-11-16 (by me). The
2011-11-25 build does not show the issue yet.

Apparently I had overlooked a few instances of 'float', and Hans did
more changes on 2012-01-12. Most of these are in lines which are
commented out anyway, there is only one change that has effect, and it
is in line 230 of define_loudspeakers.c. Leaving commented-out lines
away, it reads:

t_float azi = 0;
if(av[pointer].a_type == A_FLOAT) azi = av[pointer].a_w.w_float;
else { error("define-loudspeakers: direction angle #%d NaN",i+1);
x->x_ls_read = 0; return; }

In the 20120216 build, the message 'param  is not a float' pops
up. However, Pd does not crash (also not when closing the patch). So,
there may be an extra issue, introduced later. I can't imagine how
't_float' could be a problem here, as it is perfectly equivalent to
'float', if m_pd.h is included. Without m_pd.h it should not compile,
but m_pd.h is included via other headers.

Also on 2012-01-12, a variable 'epsilon' of type t_float was
introduced in the same file, but this seems less related to the issue.

Katja



On Wed, Jan 9, 2013 at 1:02 AM, Hans-Christoph Steiner  wrote:
>
> Ah, that's an important tidbit of info!  If that's not in the bug report,
> please include which version is working.
>
> .hc
>
> On 01/08/2013 06:53 PM, Zack Settel wrote:
>> Hi HC- Yeah,  I kind of gave up at a certain point, figuring that I was 
>> poorly equipped to get to the bottom of that one quickly. I posted a ticket. 
>>  For now, I suppose I'll grab an earlier version that seems to work, and 
>> switch back, once the bug gets sorted out.
>>
>> cheers,
>>
>> Zack
>>
>>
>>
>>
>>
>> On 2013-01-07, at 12:28 PM, Hans-Christoph Steiner wrote:
>>
>>>
>>> Hey Zach,
>>>
>>> Looks like you've gone deep into it :)  Sounds like those MAX macros are set
>>> because the code can't currently handle longer lists.  I won't have time to
>>> look at this for a while.  Could you post a bug report to the bug tracker
>>> (Help menu --> report bug) with the info in this email?  Also it might be
>>> worth your while to see if anyone has tried this when using this object in
>>> Max/MSP.  Its the same code.
>>>
>>> .hc
>>>
>>> On 01/07/2013 09:45 AM, Zack Settel wrote:
 Hi Hans-Christoph,

 Thanks for your previous reply before the holidays.

 Just to refresh the subject:

 using Pd-0.42.5-extended.app, Pd-0.43-3.app, and 
 Pd-0.43.4-extended-20121101
 on OSX 10.6x and 10.7x,

 vbap 1.0.3.2 crashes when sent longer "define_loudspeakers" messages


 the PD console displays: vbap: Loudspeaker setup configured! pd: 
 getbytes() failed -- out of memory vbap: Configure loudspeakers first!
 and the program crashes.


 (It appears to be failing in the "vbap_matrix" method.  But, perhaps, the 
 data sent to that message is already bad).




 Following your suggestion,

 I tried doubling both MAX_LS_AMOUNT as well as MAX_LS_SETS.  Now the 
 program does not crash, vbap fails each time:  when sent the 
 define_loudspeakers,   the PD console displays:


 "vbap loudspeaker-matrices: param 475 is not a float."   (from vbap_matrix 
 method)


 Things I have noticed:

 --The above param number in the error message will be different each time 
 pd is relaunched and a new attempt is made.
 --increasing MAX_LS_AMOUNT and MAX_LS_SETS 10 times introduces 
 intermittency:Some times the same error message above will be 
 displayed,  sometimes it the define_loudspeakers message will succeed, and 
 VBAP will function correctly.
 -- occasionally,  a different error message in the pd console will result:
 "Dimension can be only 2 or 3" (from vbap_matrix method)

 --And of course, the problem does not manifest when smaller configurations 
 are used (i.e.  shorter define_loudspeakers messages).



 I wrestled with the problem for a long time without getting any further.  
 Maybe you, or someone out there, will have some greater insight into this 
 problem.  Any assistance or additional suggestions would be greatly 
 appreciated, since the problem above comes with the latest pd-extended.


 Below is the the vbap message that provokes the problem:


 define_loudspeakers 3 0 90 -7.5 55 52.5 55 112.5 55 172.5
 55 -127.5 55 -67.5 55 7.5 20 37.5 20 67.5 20 97.5 20 127.5 20 157.5
 20 -172.5 20 -142.5 20 -112.5 20 -82.5 20 -52.5 20 -22.5 20 7.5 -15
 37.5 -15 67.5 -15 97.5 -15 127.5 -15 157.5 -15 -172.5 -15 -142.5 -15
 -112.5 -15 -82.5 -15 -52.5 -15 -22.5 -15


 thanks

 Zack

















 On Dec 22, 2012, at 

Re: [PD] vbap 1.0.3.2 fails when sent longer "define_loudspeakers" messages

2013-01-08 Thread Hans-Christoph Steiner

Ah, that's an important tidbit of info!  If that's not in the bug report,
please include which version is working.

.hc

On 01/08/2013 06:53 PM, Zack Settel wrote:
> Hi HC- Yeah,  I kind of gave up at a certain point, figuring that I was 
> poorly equipped to get to the bottom of that one quickly. I posted a ticket.  
> For now, I suppose I'll grab an earlier version that seems to work, and 
> switch back, once the bug gets sorted out.  
> 
> cheers,
> 
> Zack
> 
> 
> 
> 
> 
> On 2013-01-07, at 12:28 PM, Hans-Christoph Steiner wrote:
> 
>>
>> Hey Zach,
>>
>> Looks like you've gone deep into it :)  Sounds like those MAX macros are set
>> because the code can't currently handle longer lists.  I won't have time to
>> look at this for a while.  Could you post a bug report to the bug tracker
>> (Help menu --> report bug) with the info in this email?  Also it might be
>> worth your while to see if anyone has tried this when using this object in
>> Max/MSP.  Its the same code.
>>
>> .hc
>>
>> On 01/07/2013 09:45 AM, Zack Settel wrote:
>>> Hi Hans-Christoph,
>>>
>>> Thanks for your previous reply before the holidays. 
>>>
>>> Just to refresh the subject:
>>>
>>> using Pd-0.42.5-extended.app, Pd-0.43-3.app, and Pd-0.43.4-extended-20121101
>>> on OSX 10.6x and 10.7x,
>>>
>>> vbap 1.0.3.2 crashes when sent longer "define_loudspeakers" messages
>>>
>>>
>>> the PD console displays: vbap: Loudspeaker setup configured! pd: getbytes() 
>>> failed -- out of memory vbap: Configure loudspeakers first!
>>> and the program crashes.
>>>
>>>
>>> (It appears to be failing in the "vbap_matrix" method.  But, perhaps, the 
>>> data sent to that message is already bad).
>>>
>>>
>>>
>>>
>>> Following your suggestion, 
>>>
>>> I tried doubling both MAX_LS_AMOUNT as well as MAX_LS_SETS.  Now the 
>>> program does not crash, vbap fails each time:  when sent the 
>>> define_loudspeakers,   the PD console displays: 
>>>
>>>
>>> "vbap loudspeaker-matrices: param 475 is not a float."   (from vbap_matrix 
>>> method)
>>>
>>>
>>> Things I have noticed:
>>>
>>> --The above param number in the error message will be different each time 
>>> pd is relaunched and a new attempt is made. 
>>> --increasing MAX_LS_AMOUNT and MAX_LS_SETS 10 times introduces 
>>> intermittency:Some times the same error message above will be 
>>> displayed,  sometimes it the define_loudspeakers message will succeed, and 
>>> VBAP will function correctly.
>>> -- occasionally,  a different error message in the pd console will result:
>>> "Dimension can be only 2 or 3" (from vbap_matrix method)
>>>
>>> --And of course, the problem does not manifest when smaller configurations 
>>> are used (i.e.  shorter define_loudspeakers messages).
>>>
>>>
>>>
>>> I wrestled with the problem for a long time without getting any further.  
>>> Maybe you, or someone out there, will have some greater insight into this 
>>> problem.  Any assistance or additional suggestions would be greatly 
>>> appreciated, since the problem above comes with the latest pd-extended.  
>>>
>>>
>>> Below is the the vbap message that provokes the problem:
>>>
>>>
>>> define_loudspeakers 3 0 90 -7.5 55 52.5 55 112.5 55 172.5
>>> 55 -127.5 55 -67.5 55 7.5 20 37.5 20 67.5 20 97.5 20 127.5 20 157.5
>>> 20 -172.5 20 -142.5 20 -112.5 20 -82.5 20 -52.5 20 -22.5 20 7.5 -15
>>> 37.5 -15 67.5 -15 97.5 -15 127.5 -15 157.5 -15 -172.5 -15 -142.5 -15
>>> -112.5 -15 -82.5 -15 -52.5 -15 -22.5 -15
>>>
>>>
>>> thanks
>>>
>>> Zack
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Dec 22, 2012, at 0:55, Hans-Christoph Steiner wrote:
>>>

 Sounds like you are the first to try it with that many speakers!  My guess 
 is that something that allocates memory is hard-coded to a pretty short 
 number.  I've used it a lot for 6 speakers and had no crashes.

 Try changing this in vbap.h:
 #define MAX_LS_AMOUNT 55

 .hc

 On Dec 21, 2012, at 6:41 PM, Zack Settel wrote:

> Hi List,
>
>
> It seems that VBAP v 1.0.3.2 (downloaded sources from 
> puredata.info/downloads/vbap/releases/1.0.3.2)  is crashing when send the 
> define-loudspeakers message.  
>
> When sent:
>
> define_loudspeakers 3 0 90 -7.5 55 52.5 55 112.5 55 172.5
> 55 -127.5 55 -67.5 55 7.5 20 37.5 20 67.5 20 97.5 20 127.5 20 157.5
> 20 -172.5 20 -142.5 20 -112.5 20 -82.5 20 -52.5 20 -22.5 20 7.5 -15
> 37.5 -15 67.5 -15 97.5 -15 127.5 -15 157.5 -15 -172.5 -15 -142.5 -15
> -112.5 -15 -82.5 -15 -52.5 -15 -22.5 -15
>
>
> the length of the list is 64
>
>
> an error appears on the PD console :
>
> vbap loudspeaker-matrices: param 11132 is not a float
> pd: getbytes() failed -- out of memory
> vbap: Configure loudspeakers first!
>
>
>
> context:  pd vanilla  0.43-3
> vbap: 1.0.3.2
>
> mac OSX 10.8.2
>
>
> Note:  does not crash when same message is truncated to a length of 16,
>

Re: [PD] vbap 1.0.3.2 fails when sent longer "define_loudspeakers" messages

2013-01-07 Thread Hans-Christoph Steiner

Hey Zach,

Looks like you've gone deep into it :)  Sounds like those MAX macros are set
because the code can't currently handle longer lists.  I won't have time to
look at this for a while.  Could you post a bug report to the bug tracker
(Help menu --> report bug) with the info in this email?  Also it might be
worth your while to see if anyone has tried this when using this object in
Max/MSP.  Its the same code.

.hc

On 01/07/2013 09:45 AM, Zack Settel wrote:
> Hi Hans-Christoph,
> 
> Thanks for your previous reply before the holidays. 
> 
> Just to refresh the subject:
> 
> using Pd-0.42.5-extended.app, Pd-0.43-3.app, and Pd-0.43.4-extended-20121101
> on OSX 10.6x and 10.7x,
> 
> vbap 1.0.3.2 crashes when sent longer "define_loudspeakers" messages
> 
> 
> the PD console displays: vbap: Loudspeaker setup configured! pd: getbytes() 
> failed -- out of memory vbap: Configure loudspeakers first!
> and the program crashes.
> 
> 
> (It appears to be failing in the "vbap_matrix" method.  But, perhaps, the 
> data sent to that message is already bad).
> 
> 
> 
> 
> Following your suggestion, 
> 
> I tried doubling both MAX_LS_AMOUNT as well as MAX_LS_SETS.  Now the program 
> does not crash, vbap fails each time:  when sent the define_loudspeakers,   
> the PD console displays: 
> 
> 
> "vbap loudspeaker-matrices: param 475 is not a float."   (from vbap_matrix 
> method)
> 
> 
> Things I have noticed:
> 
> --The above param number in the error message will be different each time pd 
> is relaunched and a new attempt is made. 
> --increasing MAX_LS_AMOUNT and MAX_LS_SETS 10 times introduces intermittency: 
>Some times the same error message above will be displayed,  sometimes it 
> the define_loudspeakers message will succeed, and VBAP will function 
> correctly.
> -- occasionally,  a different error message in the pd console will result:
> "Dimension can be only 2 or 3" (from vbap_matrix method)
> 
> --And of course, the problem does not manifest when smaller configurations 
> are used (i.e.  shorter define_loudspeakers messages).
> 
> 
> 
> I wrestled with the problem for a long time without getting any further.  
> Maybe you, or someone out there, will have some greater insight into this 
> problem.  Any assistance or additional suggestions would be greatly 
> appreciated, since the problem above comes with the latest pd-extended.  
> 
> 
> Below is the the vbap message that provokes the problem:
> 
> 
> define_loudspeakers 3 0 90 -7.5 55 52.5 55 112.5 55 172.5
> 55 -127.5 55 -67.5 55 7.5 20 37.5 20 67.5 20 97.5 20 127.5 20 157.5
> 20 -172.5 20 -142.5 20 -112.5 20 -82.5 20 -52.5 20 -22.5 20 7.5 -15
> 37.5 -15 67.5 -15 97.5 -15 127.5 -15 157.5 -15 -172.5 -15 -142.5 -15
> -112.5 -15 -82.5 -15 -52.5 -15 -22.5 -15
> 
> 
> thanks
> 
> Zack
> 
> 
>  
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Dec 22, 2012, at 0:55, Hans-Christoph Steiner wrote:
> 
>>
>> Sounds like you are the first to try it with that many speakers!  My guess 
>> is that something that allocates memory is hard-coded to a pretty short 
>> number.  I've used it a lot for 6 speakers and had no crashes.
>>
>> Try changing this in vbap.h:
>> #define MAX_LS_AMOUNT 55
>>
>> .hc
>>
>> On Dec 21, 2012, at 6:41 PM, Zack Settel wrote:
>>
>>> Hi List,
>>>
>>>
>>> It seems that VBAP v 1.0.3.2 (downloaded sources from 
>>> puredata.info/downloads/vbap/releases/1.0.3.2)  is crashing when send the 
>>> define-loudspeakers message.  
>>>
>>> When sent:
>>>
>>> define_loudspeakers 3 0 90 -7.5 55 52.5 55 112.5 55 172.5
>>> 55 -127.5 55 -67.5 55 7.5 20 37.5 20 67.5 20 97.5 20 127.5 20 157.5
>>> 20 -172.5 20 -142.5 20 -112.5 20 -82.5 20 -52.5 20 -22.5 20 7.5 -15
>>> 37.5 -15 67.5 -15 97.5 -15 127.5 -15 157.5 -15 -172.5 -15 -142.5 -15
>>> -112.5 -15 -82.5 -15 -52.5 -15 -22.5 -15
>>>
>>>
>>> the length of the list is 64
>>>
>>>
>>> an error appears on the PD console :
>>>
>>> vbap loudspeaker-matrices: param 11132 is not a float
>>> pd: getbytes() failed -- out of memory
>>> vbap: Configure loudspeakers first!
>>>
>>>
>>>
>>> context:  pd vanilla  0.43-3
>>> vbap: 1.0.3.2
>>>
>>> mac OSX 10.8.2
>>>
>>>
>>> Note:  does not crash when same message is truncated to a length of 16,
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>> ___
>> Pd-list@iem.at mailing list
>> UNSUBSCRIBE and account-management -> 
>> http://lists.puredata.info/listinfo/pd-list
> 

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list