Cabbage Logo
Back to Cabbage Site

Array names - Cabbage crash

I just updated Cabbage to 2.5.29 and I’m getting crashes on a previously functional code. The crash happens when I scroll down to the “bad” part. The problem seems to be related to array names. It seems like using underscores limits the maximum name length?

A minimal example - see comments.

<Cabbage> bounds(0, 0, 0, 0)
form caption("test") size(190, 100) pluginId("tttt")
</Cabbage>
<CsoundSynthesizer>
<CsOptions>
</CsOptions>
<CsInstruments>
; no crash
gi_reflecte_pitch_classes_196x7[] fillarray 0, 3, 5, 6, 8, 10, 11, 0, 1, 4, 6, 7, 9, 11, 0, 2, 4, 5, 6, 9, 11, 0, 2, 3, 4, 7, 9, 10, 0, 2, 3, 5, 7, 8, 9, 0, 1, 3, 5, 6, 7, 10, 0, 1, 2, 5, 7, 8, 10, 0, 4, 6, 7, 9, 10, 11, 0, 1, 5, 7, 8, 10, 11, 0, 1, 2, 6, 8, 9, 11, 0, 2, 3, 4, 5, 9, 11, 0, 2, 3, 5, 6, 7, 8, 0, 1, 2, 3, 7, 9, 10, 0, 1, 3, 4, 5, 6, 10, 0, 3, 4, 6, 8, 9, 11, 0, 2, 3, 6, 7, 9, 11, 0, 2, 4, 5, 7, 8, 11, 0, 1, 4, 5, 7, 9, 10, 0, 2, 3, 5, 6, 9, 10, 0, 1, 3, 4, 7, 8, 10, 0, 1, 3, 5, 6, 8, 9, 0, 3, 5, 6, 8, 9, 11, 0, 2, 3, 6, 8, 9, 11, 0, 1, 4, 6, 7, 9, 10, 0, 2, 3, 5, 6, 9, 11, 0, 1, 3, 4, 7, 9, 10, 0, 2, 3, 5, 6, 8, 9, 0, 1, 3, 4, 6, 7, 10, 0, 2, 5, 7, 8, 10, 11, 0, 3, 5, 6, 8, 9, 10, 0, 1, 3, 6, 8, 9, 11, 0, 2, 3, 4, 6, 9, 11, 0, 2, 3, 5, 6, 7, 9, 0, 1, 2, 4, 7, 9, 10, 0, 1, 3, 4, 5, 7, 10, 0, 4, 5, 6, 9, 10, 11, 0, 3, 4, 5, 6, 10, 11, 0, 1, 5, 6, 7, 10, 11, 0, 1, 2, 6, 7, 8, 11, 0, 1, 4, 5, 6, 7, 11, 0, 1, 2, 3, 7, 8, 9, 0, 1, 2, 5, 6, 7, 8, 0, 3, 4, 7, 9, 10, 11, 0, 1, 4, 5, 8, 10, 11, 0, 3, 5, 6, 7, 8, 11, 0, 1, 4, 6, 7, 8, 9, 0, 1, 2, 5, 6, 9, 11, 0, 2, 3, 4, 5, 8, 9, 0, 1, 2, 3, 6, 7, 10, 0, 2, 4, 6, 7, 9, 11, 0, 2, 4, 5, 7, 9, 11, 0, 2, 4, 5, 7, 9, 10, 0, 2, 3, 5, 7, 9, 10, 0, 2, 3, 5, 7, 8, 10, 0, 1, 3, 5, 7, 8, 10, 0, 1, 3, 5, 6, 8, 10, 0, 2, 4, 6, 8, 9, 11, 0, 2, 4, 6, 7, 9, 10, 0, 2, 3, 5, 7, 9, 11, 0, 2, 4, 5, 7, 8, 10, 0, 1, 3, 5, 7, 9, 10, 0, 2, 3, 5, 6, 8, 10, 0, 1, 3, 4, 6, 8, 10, 0, 2, 4, 6, 8, 10, 11, 0, 2, 4, 6, 8, 9, 10, 0, 2, 4, 6, 7, 8, 10, 0, 1, 3, 5, 7, 9, 11, 0, 2, 4, 5, 6, 8, 10, 0, 2, 3, 4, 6, 8, 10, 0, 1, 2, 4, 6, 8, 10, 0, 3, 4, 6, 7, 10, 11, 0, 3, 4, 5, 8, 9, 11, 0, 2, 3, 6, 7, 8, 11, 0, 1, 4, 5, 7, 8, 11, 0, 1, 4, 5, 6, 9, 10, 0, 1, 3, 4, 7, 8, 9, 0, 1, 2, 5, 6, 8, 9, 0, 3, 5, 7, 8, 9, 11, 0, 2, 3, 6, 8, 10, 11, 0, 1, 4, 6, 8, 9, 10, 0, 1, 3, 4, 7, 9, 11, 0, 2, 4, 5, 6, 8, 9, 0, 2, 3, 4, 6, 7, 10, 0, 1, 2, 4, 5, 8, 10, 0, 2, 4, 7, 9, 10, 11, 0, 2, 5, 7, 8, 9, 10, 0, 1, 3, 5, 8, 10, 11, 0, 3, 5, 6, 7, 8, 10, 0, 1, 2, 4, 6, 9, 11, 0, 2, 3, 4, 5, 7, 9, 0, 1, 2, 3, 5, 7, 10, 0, 3, 4, 6, 9, 10, 11, 0, 1, 4, 5, 7, 10, 11, 0, 2, 5, 6, 7, 8, 11, 0, 3, 4, 5, 6, 9, 10, 0, 1, 3, 6, 7, 8, 9, 0, 1, 2, 5, 6, 8, 11, 0, 1, 2, 3, 6, 7, 9, 0, 4, 5, 6, 8, 10, 11, 0, 2, 4, 5, 6, 10, 11, 0, 1, 5, 6, 7, 9, 11, 0, 2, 3, 4, 8, 9, 10, 0, 1, 2, 6, 7, 8, 10, 0, 1, 3, 5, 6, 7, 11, 0, 1, 2, 4, 6, 7, 8, 0, 3, 5, 8, 9, 10, 11, 0, 1, 4, 6, 9, 10, 11, 0, 1, 2, 5, 7, 10, 11, 0, 2, 5, 6, 7, 8, 9, 0, 3, 4, 5, 6, 7, 10, 0, 1, 2, 3, 6, 8, 11, 0, 1, 2, 3, 4, 7, 9, 0, 3, 6, 7, 8, 10, 11, 0, 1, 4, 7, 8, 9, 11, 0, 2, 3, 4, 7, 10, 11, 0, 3, 4, 5, 7, 8, 9, 0, 1, 2, 5, 8, 9, 10, 0, 1, 3, 4, 5, 8, 11, 0, 1, 2, 4, 5, 6, 9, 0, 3, 4, 8, 9, 10, 11, 0, 1, 4, 5, 9, 10, 11, 0, 4, 5, 6, 7, 8, 11, 0, 1, 2, 5, 6, 10, 11, 0, 1, 5, 6, 7, 8, 9, 0, 1, 2, 3, 6, 7, 11, 0, 1, 2, 3, 4, 7, 8, 0, 2, 5, 6, 7, 10, 11, 0, 3, 4, 5, 7, 10, 11, 0, 3, 4, 5, 8, 9, 10, 0, 1, 3, 6, 7, 8, 11, 0, 1, 4, 5, 6, 8, 11, 0, 1, 2, 5, 6, 7, 9, 0, 1, 2, 4, 7, 8, 9, 0, 2, 4, 5, 8, 10, 11, 0, 3, 5, 6, 7, 9, 11, 0, 2, 3, 6, 8, 9, 10, 0, 1, 4, 6, 7, 8, 10, 0, 1, 3, 5, 6, 9, 11, 0, 2, 3, 4, 6, 8, 9, 0, 1, 2, 4, 6, 7, 10, 0, 2, 4, 6, 9, 10, 11, 0, 2, 4, 7, 8, 9, 10, 0, 1, 3, 5, 7, 10, 11, 0, 2, 5, 6, 7, 8, 10, 0, 3, 4, 5, 6, 8, 10, 0, 1, 2, 4, 6, 8, 11, 0, 1, 2, 3, 5, 7, 9, 0, 3, 4, 7, 8, 9, 11, 0, 2, 3, 6, 7, 10, 11, 0, 3, 4, 5, 7, 8, 11, 0, 1, 4, 5, 8, 9, 10, 0, 1, 3, 4, 7, 8, 11, 0, 1, 4, 5, 6, 8, 9, 0, 1, 2, 4, 5, 8, 9, 0, 4, 5, 6, 8, 9, 11, 0, 2, 3, 7, 8, 9, 11, 0, 2, 3, 5, 6, 10, 11, 0, 1, 5, 6, 7, 9, 10, 0, 1, 3, 4, 8, 9, 10, 0, 1, 3, 4, 6, 7, 11, 0, 1, 2, 4, 5, 7, 8, 0, 3, 6, 7, 8, 9, 11, 0, 2, 3, 6, 9, 10, 11, 0, 1, 4, 7, 8, 9, 10, 0, 1, 3, 4, 7, 10, 11, 0, 3, 4, 5, 6, 8, 9, 0, 1, 2, 4, 5, 8, 11, 0, 1, 2, 3, 5, 6, 9, 0, 2, 5, 8, 9, 10, 11, 0, 3, 6, 7, 8, 9, 10, 0, 1, 3, 6, 9, 10, 11, 0, 3, 4, 5, 6, 7, 9, 0, 1, 2, 4, 7, 10, 11, 0, 1, 2, 3, 5, 8, 11, 0, 1, 2, 3, 4, 6, 9, 0, 2, 4, 6, 7, 10, 11, 0, 3, 4, 5, 7, 9, 11, 0, 2, 4, 5, 8, 9, 10, 0, 2, 3, 6, 7, 8, 10, 0, 1, 3, 5, 7, 8, 11, 0, 1, 4, 5, 6, 8, 10, 0, 1, 2, 4, 6, 8, 9, 0, 2, 4, 7, 8, 9, 11, 0, 2, 3, 5, 7, 10, 11, 0, 2, 5, 6, 7, 9, 10, 0, 3, 4, 5, 7, 8, 10, 0, 1, 3, 5, 8, 9, 10, 0, 1, 3, 4, 6, 8, 11, 0, 1, 2, 4, 5, 7, 9, 0, 2, 4, 5, 9, 10, 11, 0, 4, 5, 6, 7, 9, 11, 0, 2, 3, 7, 8, 9, 10, 0, 1, 3, 5, 6, 10, 11, 0, 1, 5, 6, 7, 8, 10, 0, 1, 2, 4, 6, 7, 11, 0, 1, 2, 3, 5, 7, 8
;gi_reflecte_pitch_classes_196x7[] fillarray 0, 1, 2, 3, 4; no crash
;gi_reflected_pitch_classes_one_hundred_ninety_six_times_seven[] fillarray 0, 1, 2, 3, 4 ; no crash
;gi_reflected_pitch_classes_196x7[] fillarray 0, 1, 2, 3, 4;  crash !!!!!
instr 1
endin

</CsInstruments>
<CsScore>
;causes Csound to run for about 7000 years...
f0 z ;starts instrument 1 and runs it for a week
i 1 0 -1;[60*60*24*7]
</CsScore>
</CsoundSynthesizer>

Thanks Samo, I’ll take a look tomorrow. There may well be an issue here with long variable names. My brain is fried from multichannel stuff right now. :exploding_head:

Thanks for the example too, that makes things easier.

This is fixed now. A new build is currently underway.