Csound Csound-dev Csound-tekno Search About

[Cs-dev] regression bug(s) in macro/include system

Date2012-01-05 01:28
FromIain Duncan
Subject[Cs-dev] regression bug(s) in macro/include system
AttachmentsNone  None  
It seems like maybe in recent versions of csound the macro system has changed, or some macro limits have snuck in, or something. ( NB, all tests have been using the old parser ). I was having weird macro limit issues with Csound 5.13, it was just conking out after a certain number of macro defs and refusing to accept anymore. I switched to csound 5.15.0 from the snapshot, build *without* new parser, and now am getting a different set of macro errors. I do now with absolute certainty that these files worked in 2005, with 4.13, 4.14, and 5.0.

What I'm getting rid now is an undefined macro error, from an included file using the macros. Most odd is terminal output:

Macro definition for X______________________________________INCLUDING_PATCH_MACROS____________________________
Macro definition for X_________________________________________LOADING_PATCH_SYSTEM_MACROS_____________________
Macro definition for INSTR_PATCH_SIZE
Macro definition for MIXER_PATCH_SIZE
Macro definition for INSTR_LIB_SIZE
Macro definition for MIXER_LIB_SIZE
Macro definition for INSTR_PATCH_BUF
Macro definition for INSTR_PATCH_DATA
Macro definition for INSTR_PATCH_RAMP
Macro definition for INSTR_PATCH_DATA_LIB
Macro definition for INSTR_PATCH_RAMP_LIB
Macro definition for MIXER_PATCH_BUF
Macro definition for MIXER_PATCH_DATA
Macro definition for MIXER_PATCH_RAMP
Macro definition for MIXER_PATCH_DATA_LIB
Macro definition for MIXER_PATCH_RAMP_LIB
Macro definition for X_________________________________REACHED_END_OF_PATCH_SYSTEM_MACROS____________________
score error: Undefined macro: 'INSTR_PATCH_SIZE'
section 1: at position 28
Csound tidy up: Segmentation fault


You can see that the macro has been defined. The including and using code looks like this:

#define X______________________________________INCLUDING_PATCH_MACROS____________________________ # 0 #
#include "macros/flow01_patch_macros"

f3001 0 $INSTR_PATCH_SIZE -2 0
f3002 0 $INSTR_PATCH_SIZE -2 0
f3003 0 $INSTR_PATCH_SIZE -2 0
f3004 0 $INSTR_PATCH_SIZE -2 0
....

The error goes away if I insert the macro def for INSTR_PATCH_SIZE right into this file. ( but of course chockes on the next one.) FWIW, the file quoted is not the top level score file, but is in turn included from the top level score file.

Anyone have any idea what's up with the macro system?

thanks
Iain


Date2012-01-05 09:39
FromVictor Lazzarini
SubjectRe: [Cs-dev] regression bug(s) in macro/include system
Note that 5.0 was pre-release then, so it does not count (we first released csound5 in 2006). But if this worked on 4, then backwards compatibility kicks in.
Can you prepare a minimal CSD demonstrating the issue? We will then try to fix this.

Victor
On 5 Jan 2012, at 01:28, Iain Duncan wrote:

> It seems like maybe in recent versions of csound the macro system has changed, or some macro limits have snuck in, or something. ( NB, all tests have been using the old parser ). I was having weird macro limit issues with Csound 5.13, it was just conking out after a certain number of macro defs and refusing to accept anymore. I switched to csound 5.15.0 from the snapshot, build *without* new parser, and now am getting a different set of macro errors. I do now with absolute certainty that these files worked in 2005, with 4.13, 4.14, and 5.0.
> 
> What I'm getting rid now is an undefined macro error, from an included file using the macros. Most odd is terminal output:
> 
> Macro definition for X______________________________________INCLUDING_PATCH_MACROS____________________________
> Macro definition for X_________________________________________LOADING_PATCH_SYSTEM_MACROS_____________________
> Macro definition for INSTR_PATCH_SIZE
> Macro definition for MIXER_PATCH_SIZE
> Macro definition for INSTR_LIB_SIZE
> Macro definition for MIXER_LIB_SIZE
> Macro definition for INSTR_PATCH_BUF
> Macro definition for INSTR_PATCH_DATA
> Macro definition for INSTR_PATCH_RAMP
> Macro definition for INSTR_PATCH_DATA_LIB
> Macro definition for INSTR_PATCH_RAMP_LIB
> Macro definition for MIXER_PATCH_BUF
> Macro definition for MIXER_PATCH_DATA
> Macro definition for MIXER_PATCH_RAMP
> Macro definition for MIXER_PATCH_DATA_LIB
> Macro definition for MIXER_PATCH_RAMP_LIB
> Macro definition for X_________________________________REACHED_END_OF_PATCH_SYSTEM_MACROS____________________
> score error: Undefined macro: 'INSTR_PATCH_SIZE'
> section 1: at position 28
> Csound tidy up: Segmentation fault
> 
> 
> You can see that the macro has been defined. The including and using code looks like this:
> 
> #define X______________________________________INCLUDING_PATCH_MACROS____________________________ # 0 #
> #include "macros/flow01_patch_macros"
> 
> f3001	0	$INSTR_PATCH_SIZE	-2	0
> f3002	0	$INSTR_PATCH_SIZE	-2	0
> f3003	0	$INSTR_PATCH_SIZE	-2	0
> f3004	0	$INSTR_PATCH_SIZE	-2	0
> ....
> 
> The error goes away if I insert the macro def for INSTR_PATCH_SIZE right into this file. ( but of course chockes on the next one.) FWIW, the file quoted is not the top level score file, but is in turn included from the top level score file.
> 
> Anyone have any idea what's up with the macro system?
> 
> thanks
> Iain
> 
> ------------------------------------------------------------------------------
> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
> infrastructure or vast IT resources to deliver seamless, secure access to
> virtual desktops. With this all-in-one solution, easily deploy virtual 
> desktops for less than the cost of PCs and save 60% on VDI infrastructure 
> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox_______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie




------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2012-01-05 11:02
FromTito Latini
SubjectRe: [Cs-dev] regression bug(s) in macro/include system
AttachmentsNone  

Date2012-01-05 12:53
FromTito Latini
SubjectRe: [Cs-dev] regression bug(s) in macro/include system
AttachmentsNone