[Cs-dev] reentrancy problem with the new parser.
Date | 2011-05-29 13:51 |
From | Victor Lazzarini |
Subject | [Cs-dev] reentrancy problem with the new parser. |
It appears that the new parser has some sort of reentrancy problem, causing a crash when we attempt to run a second instance. It is also causing a crash if the same instance is used in a second compilation/ performance. You can test it with this program #include "csound.h" #include |
Date | 2011-05-30 04:05 |
From | Steven Yi |
Subject | Re: [Cs-dev] reentrancy problem with the new parser. |
Hi Victor, I built this on OSX and ran it against a test csd I had around and it seemed to work fine without crashes. I'm assuming it may only occur depending on the CSD? Do you have an example CSD to use or one of the common examples I should try? Steven On Sun, May 29, 2011 at 8:51 AM, Victor Lazzarini |
Date | 2011-05-30 09:54 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] reentrancy problem with the new parser. |
No, it does not depend on the CSD. I wonder if it's a floats version issue, because I tested with floats. Thanks for looking into this. I will look again. Do you have portmidi in your system? Can you try it with a simple MIDI example? I'm curious to see how it does on OSX 10.6. By the way, I also found out that a variation on that code is also crashing, in the old and new parsers. Here it is: #include "csound.h" #include |
Date | 2011-05-30 10:02 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] reentrancy problem with the new parser. |
Attachments | lecture1.csd None None |
Regarding the first program, this is the screendump with -v, showing where it goes wrong. It appears to happen after all input is read and the parsing is going to start. I am attaching the CSD I used. mu-lap-2h2-1:desktop victor$ ./cstest lecture1.csd -odac --new-parser -v PortMIDI real time MIDI plugin for Csound PortAudio real-time audio module for Csound virtual_keyboard real time MIDI plugin for Csound 0dBFS level = 32768.0 Csound version 5.13 (float samples) May 19 2011 libsndfile-1.0.21 UnifiedCSD: lecture1.csd Environment variable 'SADIR' has been set to '/Users/victor/audio;/ Users/victor/Desktop' Environment variable 'SSDIR' has been set to '/Users/victor/audio;/ Users/victor/Desktop' Environment variable 'INCDIR' has been set to '/Users/victor/Desktop' Environment variable 'MFDIR' has been set to '/Users/victor/Desktop' STARTING FILE Creating options Creating orchestra Creating score decode_long new-parser orchname: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- MXAh5q.orc scorename: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- s2aCj8.sco rtaudio: PortAudio module enabled ... using callback interface rtmidi: PortMIDI module enabled ******************** * USING NEW PARSER * ******************** Starting parse Entering state 0 Reading a token: Next token is token S_NL () Shifting token S_NL () Entering state 1 Reducing stack by rule 34 (line 371): $1 = token S_NL () -> $$ = nterm statement () Stack now 0 Entering state 34 Reducing stack by rule 26 (line 311): $1 = nterm statement () -> $$ = nterm topstatement () Stack now 0 Entering state 33 Reducing stack by rule 5 (line 198): $1 = nterm topstatement () -> $$ = nterm rootstatement () Stack now 0 Entering state 30 Reading a token: Next token is token T_SRATE () Shifting token T_SRATE () Entering state 10 Reducing stack by rule 127 (line 590): $1 = token T_SRATE () -> $$ = nterm rident () Stack now 0 30 Entering state 38 Reading a token: Next token is token S_ASSIGN () Shifting token S_ASSIGN () Entering state 92 Reading a token: Next token is token T_INTGR () Shifting token T_INTGR () Entering state 55 Reducing stack by rule 147 (line 616): $1 = token T_INTGR () -> $$ = nterm constant () Stack now 0 30 38 92 Entering state 63 Reducing stack by rule 110 (line 546): $1 = nterm constant () -> $$ = nterm ifac () Stack now 0 30 38 92 Entering state 60 Reading a token: Next token is token S_NL () Reducing stack by rule 108 (line 542): $1 = nterm ifac () -> $$ = nterm iterm () Stack now 0 30 38 92 Entering state 59 Next token is token S_NL () Reducing stack by rule 101 (line 533): $1 = nterm iterm () -> $$ = nterm iexp () Stack now 0 30 38 92 Entering state 58 Next token is token S_NL () Reducing stack by rule 96 (line 526): $1 = nterm iexp () -> $$ = nterm expr () Stack now 0 30 38 92 Entering state 140 Next token is token S_NL () Shifting token S_NL () Entering state 191 Reducing stack by rule 25 (line 300): $1 = nterm rident () $2 = token S_ASSIGN () $3 = nterm expr () $4 = token S_NL () -> $$ = nterm topstatement () Stack now 0 30 Entering state 71 Reducing stack by rule 2 (line 186): $1 = nterm rootstatement () $2 = nterm topstatement () -> $$ = nterm rootstatement () Stack now 0 Entering state 30 Reading a token: Next token is token T_KSMPS () Shifting token T_KSMPS () Entering state 12 Reducing stack by rule 129 (line 592): $1 = token T_KSMPS () -> $$ = nterm rident () Stack now 0 30 Entering state 38 Reading a token: Next token is token S_ASSIGN () Shifting token S_ASSIGN () Entering state 92 Reading a token: Next token is token T_INTGR () Shifting token T_INTGR () Entering state 55 Reducing stack by rule 147 (line 616): $1 = token T_INTGR () -> $$ = nterm constant () Stack now 0 30 38 92 Entering state 63 Reducing stack by rule 110 (line 546): $1 = nterm constant () -> $$ = nterm ifac () Stack now 0 30 38 92 Entering state 60 Reading a token: Next token is token S_NL () Reducing stack by rule 108 (line 542): $1 = nterm ifac () -> $$ = nterm iterm () Stack now 0 30 38 92 Entering state 59 Next token is token S_NL () Reducing stack by rule 101 (line 533): $1 = nterm iterm () -> $$ = nterm iexp () Stack now 0 30 38 92 Entering state 58 Next token is token S_NL () Reducing stack by rule 96 (line 526): $1 = nterm iexp () -> $$ = nterm expr () Stack now 0 30 38 92 Entering state 140 Next token is token S_NL () Shifting token S_NL () Entering state 191 Reducing stack by rule 25 (line 300): $1 = nterm rident () $2 = token S_ASSIGN () $3 = nterm expr () $4 = token S_NL () -> $$ = nterm topstatement () Stack now 0 30 Entering state 71 Reducing stack by rule 2 (line 186): $1 = nterm rootstatement () $2 = nterm topstatement () -> $$ = nterm rootstatement () Stack now 0 Entering state 30 Reading a token: Next token is token T_NCHNLS () Shifting token T_NCHNLS () Entering state 13 Reducing stack by rule 130 (line 593): $1 = token T_NCHNLS () -> $$ = nterm rident () Stack now 0 30 Entering state 38 Reading a token: Next token is token S_ASSIGN () Shifting token S_ASSIGN () Entering state 92 Reading a token: Next token is token T_INTGR () Shifting token T_INTGR () Entering state 55 Reducing stack by rule 147 (line 616): $1 = token T_INTGR () -> $$ = nterm constant () Stack now 0 30 38 92 Entering state 63 Reducing stack by rule 110 (line 546): $1 = nterm constant () -> $$ = nterm ifac () Stack now 0 30 38 92 Entering state 60 Reading a token: Next token is token S_NL () Reducing stack by rule 108 (line 542): $1 = nterm ifac () -> $$ = nterm iterm () Stack now 0 30 38 92 Entering state 59 Next token is token S_NL () Reducing stack by rule 101 (line 533): $1 = nterm iterm () -> $$ = nterm iexp () Stack now 0 30 38 92 Entering state 58 Next token is token S_NL () Reducing stack by rule 96 (line 526): $1 = nterm iexp () -> $$ = nterm expr () Stack now 0 30 38 92 Entering state 140 Next token is token S_NL () Shifting token S_NL () Entering state 191 Reducing stack by rule 25 (line 300): $1 = nterm rident () $2 = token S_ASSIGN () $3 = nterm expr () $4 = token S_NL () -> $$ = nterm topstatement () Stack now 0 30 Entering state 71 Reducing stack by rule 2 (line 186): $1 = nterm rootstatement () $2 = nterm topstatement () -> $$ = nterm rootstatement () Stack now 0 Entering state 30 Reading a token: Next token is token T_0DBFS () Shifting token T_0DBFS () Entering state 15 Reducing stack by rule 132 (line 595): $1 = token T_0DBFS () -> $$ = nterm rident () Stack now 0 30 Entering state 38 Reading a token: Next token is token S_ASSIGN () Shifting token S_ASSIGN () Entering state 92 Reading a token: Next token is token T_INTGR () Shifting token T_INTGR () Entering state 55 Reducing stack by rule 147 (line 616): $1 = token T_INTGR () -> $$ = nterm constant () Stack now 0 30 38 92 Entering state 63 Reducing stack by rule 110 (line 546): $1 = nterm constant () -> $$ = nterm ifac () Stack now 0 30 38 92 Entering state 60 Reading a token: Next token is token S_NL () Reducing stack by rule 108 (line 542): $1 = nterm ifac () -> $$ = nterm iterm () Stack now 0 30 38 92 Entering state 59 Next token is token S_NL () Reducing stack by rule 101 (line 533): $1 = nterm iterm () -> $$ = nterm iexp () Stack now 0 30 38 92 Entering state 58 Next token is token S_NL () Reducing stack by rule 96 (line 526): $1 = nterm iexp () -> $$ = nterm expr () Stack now 0 30 38 92 Entering state 140 Next token is token S_NL () Shifting token S_NL () Entering state 191 Reducing stack by rule 25 (line 300): $1 = nterm rident () $2 = token S_ASSIGN () $3 = nterm expr () $4 = token S_NL () -> $$ = nterm topstatement () Stack now 0 30 Entering state 71 Reducing stack by rule 2 (line 186): $1 = nterm rootstatement () $2 = nterm topstatement () -> $$ = nterm rootstatement () Stack now 0 Entering state 30 Reading a token: Next token is token S_NL () Shifting token S_NL () Entering state 1 Reducing stack by rule 34 (line 371): $1 = token S_NL () -> $$ = nterm statement () Stack now 0 30 Entering state 34 Reducing stack by rule 26 (line 311): $1 = nterm statement () -> $$ = nterm topstatement () Stack now 0 30 Entering state 71 Reducing stack by rule 2 (line 186): $1 = nterm rootstatement () $2 = nterm topstatement () -> $$ = nterm rootstatement () Stack now 0 Entering state 30 Reading a token: Next token is token T_INSTR () Shifting token T_INSTR () Entering state 6 Reading a token: Next token is token T_INTGR () Reducing stack by rule 10 (line 211): -> $$ = nterm @1 () Stack now 0 30 6 Entering state 66 Next token is token T_INTGR () Shifting token T_INTGR () Entering state 134 Reading a token: Next token is token S_NL () Reducing stack by rule 9 (line 207): $1 = token T_INTGR () -> $$ = nterm intlist () Stack now 0 30 6 66 Entering state 135 Next token is token S_NL () Shifting token S_NL () Entering state 188 Reducing stack by rule 11 (line 213): -> $$ = nterm @2 () Stack now 0 30 6 66 135 188 Entering state 216 Reducing stack by rule 24 (line 297): -> $$ = nterm statementlist () Stack now 0 30 6 66 135 188 216 Entering state 227 Reading a token: Next token is token T_IDENT_A () Shifting token T_IDENT_A () Entering state 20 Reducing stack by rule 138 (line 603): $1 = token T_IDENT_A () -> $$ = nterm ident () Stack now 0 30 6 66 135 188 216 227 Entering state 39 Reading a token: Next token is token T_OPCODE () Reducing stack by rule 35 (line 374): $1 = nterm ident () -> $$ = nterm ans () Stack now 0 30 6 66 135 188 216 227 Entering state 35 Next token is token T_OPCODE () Shifting token T_OPCODE () Entering state 73 Reducing stack by rule 157 (line 636): $1 = token T_OPCODE () -> $$ = nterm opcode () Stack now 0 30 6 66 135 188 216 227 35 Entering state 74 Reading a token: Next token is token T_0DBFS () Shifting token T_0DBFS () Entering state 53 Reducing stack by rule 155 (line 624): $1 = token T_0DBFS () -> $$ = nterm constant () Stack now 0 30 6 66 135 188 216 227 35 74 Entering state 63 Reducing stack by rule 110 (line 546): $1 = nterm constant () -> $$ = nterm ifac () Stack now 0 30 6 66 135 188 216 227 35 74 Entering state 60 Reading a token: Next token is token S_NL () Reducing stack by rule 108 (line 542): $1 = nterm ifac () -> $$ = nterm iterm () Stack now 0 30 6 66 135 188 216 227 35 74 Entering state 59 Next token is token S_NL () Reducing stack by rule 101 (line 533): $1 = nterm iterm () -> $$ = nterm iexp () Stack now 0 30 6 66 135 188 216 227 35 74 Entering state 58 Next token is token S_NL () Reducing stack by rule 96 (line 526): $1 = nterm iexp () -> $$ = nterm expr () Stack now 0 30 6 66 135 188 216 227 35 74 Entering state 96 Next token is token S_NL () Reducing stack by rule 69 (line 495): $1 = nterm expr () -> $$ = nterm exprlist () Stack now 0 30 6 66 135 188 216 227 35 74 Entering state 138 Next token is token S_NL () Shifting token S_NL () Entering state 190 Reducing stack by rule 28 (line 331): $1 = nterm ans () $2 = nterm opcode () $3 = nterm exprlist () $4 = token S_NL () -> $$ = nterm statement () Stack now 0 30 6 66 135 188 216 227 Entering state 223 Reducing stack by rule 23 (line 293): $1 = nterm statementlist () $2 = nterm statement () -> $$ = nterm statementlist () Stack now 0 30 6 66 135 188 216 Entering state 227 Reading a token: Next token is token T_OPCODE0 () Shifting token T_OPCODE0 () Entering state 4 Reducing stack by rule 156 (line 627): $1 = token T_OPCODE0 () -> $$ = nterm opcode0 () Stack now 0 30 6 66 135 188 216 227 Entering state 41 Reading a token: Next token is token T_IDENT_A () Shifting token T_IDENT_A () Entering state 20 Reducing stack by rule 138 (line 603): $1 = token T_IDENT_A () -> $$ = nterm ident () Stack now 0 30 6 66 135 188 216 227 41 Entering state 62 Reducing stack by rule 109 (line 545): $1 = nterm ident () -> $$ = nterm ifac () Stack now 0 30 6 66 135 188 216 227 41 Entering state 60 Reading a token: Next token is token S_NL () Reducing stack by rule 108 (line 542): $1 = nterm ifac () -> $$ = nterm iterm () Stack now 0 30 6 66 135 188 216 227 41 Entering state 59 Next token is token S_NL () Reducing stack by rule 101 (line 533): $1 = nterm iterm () -> $$ = nterm iexp () Stack now 0 30 6 66 135 188 216 227 41 Entering state 58 Next token is token S_NL () Reducing stack by rule 96 (line 526): $1 = nterm iexp () -> $$ = nterm expr () Stack now 0 30 6 66 135 188 216 227 41 Entering state 96 Next token is token S_NL () Reducing stack by rule 69 (line 495): $1 = nterm expr () -> $$ = nterm exprlist () Stack now 0 30 6 66 135 188 216 227 41 Entering state 95 Next token is token S_NL () Shifting token S_NL () Entering state 143 Reducing stack by rule 29 (line 344): $1 = nterm opcode0 () $2 = nterm exprlist () $3 = token S_NL () -> $$ = nterm statement () Stack now 0 30 6 66 135 188 216 227 Entering state 223 Reducing stack by rule 23 (line 293): $1 = nterm statementlist () $2 = nterm statement () -> $$ = nterm statementlist () Stack now 0 30 6 66 135 188 216 Entering state 227 Reading a token: Next token is token T_ENDIN () Shifting token T_ENDIN () Entering state 236 Reading a token: Next token is token S_NL () Shifting token S_NL () Entering state 243 Reducing stack by rule 12 (line 210): $1 = token T_INSTR () $2 = nterm @1 () $3 = nterm intlist () $4 = token S_NL () $5 = nterm @2 () $6 = nterm statementlist () $7 = token T_ENDIN () $8 = token S_NL () -> $$ = nterm instrdecl () Stack now 0 30 Entering state 69 Reducing stack by rule 3 (line 190): $1 = nterm rootstatement () $2 = nterm instrdecl () -> $$ = nterm rootstatement () Stack now 0 Entering state 30 Reading a token: END OF INPUT Now at end of input. Reducing stack by rule 1 (line 179): $1 = nterm rootstatement () -> $$ = nterm orcfile () Stack now 0 Entering state 29 Now at end of input. Stack now 0 29 Cleanup: popping nterm orcfile () Parsing successful! treqd i, tfound c xincod = 0 treqd r, tfound r treqd i, tfound c xincod = 0 treqd r, tfound r treqd i, tfound c xincod = 0 treqd r, tfound r SETTING 0DBFS: 1.000000 treqd i, tfound c xincod = 0 treqd r, tfound r treqd o, tfound c treqd o, tfound c treqd v, tfound c treqd x, tfound r xincod = 0 treqd s, tfound a treqd a, tfound a xincod = 1 poolcount = 5, strpool_cnt = 1 pool: 0 44100 32 1 0.5 strpool: "" =.r argndxs: 6 2 =.r argndxs: 8 3 =.r argndxs: 9 4 =.r argndxs: 11 4 rand argndxs: -4 11 5 1 1 out argndxs: -4 argoff array: 0 1 6 1 2 1 8 1 3 11 1 4 1 -4 4 11 5 1 1 -4 Elapsed time at end of orchestra compile: real: 0.029s, CPU: 0.011s sorting score ... ... done Elapsed time at end of score sort: real: 0.059s, CPU: 0.025s Csound version 5.13 (float samples) May 19 2011 Creating search path cache for 'SNAPDIR': Creating search path cache for 'SFDIR;SSDIR;INCDIR': 1: "/Users/victor/Desktop/" 2: "/Users/victor/audio/" Creating search path cache for 'SFDIR': 1: "/Users/victor/audio/" Creating search path cache for 'SADIR': 1: "/Users/victor/Desktop/" 2: "/Users/victor/audio/" Creating search path cache for 'SFDIR;SSDIR': 1: "/Users/victor/Desktop/" 2: "/Users/victor/audio/" esr = 44100.0, ekr = 1378.1, ksmps = 32, nchnls = 1 nchnlsi = -1 0dbfs = 1.0 lclabeg 4, lclsbeg 4 lclabeg 4, lclsbeg 5 0dBFS level = 1.0 instr 0 allocated at 0x348bf8 lclbas 0x348c68, opds 0x348c68 op 54 (=.r) allocated at 0x348c68 argptrs: 0x34878c 0x34877c op 54 (=.r) allocated at 0x348c88 argptrs: 0x348794 0x348780 op 54 (=.r) allocated at 0x348ca8 argptrs: 0x348798 0x348784 op 54 (=.r) allocated at 0x348cc8 argptrs: 0x3487a0 0x348784 orch now loaded audio buffered in 1024 sample-frame blocks PortAudio V19-devel (built Feb 12 2010 09:42:54) PortAudio: available output devices: 0: Built-in Output 1: Aggregate Device 2: mic+audio PortAudio: selected output device 'Built-in Output' writing 2048-byte blks of shorts to dac SECTION 1: new event: 0.0000000000000 0.0000000000000 activating instr 1 at 0 new alloc for instr 1: instr 1 allocated at 0x35d938 lclbas 0x35d9a8, opds 0x35da28 op 278 (rand) allocated at 0x35da28 opadr = 0x17c920 argptrs: 0x35d9a8 0x3487a0 0x348788 0x348778 0x348778 op 305 (out) allocated at 0x35da5c opadr = 0x141100 argptrs: 0x35d9a8 psave beg at 0x35d99c ending at 0x35d9a8 init rand: instr 1 now active: insno instanc nxtinst prvinst nxtact prvact nxtoff actflg offtim 0 0x348bf8 0x0 0x0 0x0 0x0 0x0 1 0.0 1 0x35d938 0x0 0x0 0x0 0x35118 0x0 1 1.0 removed instance of instr 1 deactivated all notes to time 1.000 frstoff = 0x0 B 0.000 .. 1.000 T 1.000 TT 1.000 M: 1.00000 Score finished in csoundPerform(). removed instance of instr 0 inactive allocs returned to freespace end of score. overall amps: 1.00000 overall samples out of range: 0 0 errors in performance Elapsed time at end of performance: real: 1.594s, CPU: 0.202s 44 2048-byte soundblks of shorts written to dac PortMIDI real time MIDI plugin for Csound PortAudio real-time audio module for Csound virtual_keyboard real time MIDI plugin for Csound 0dBFS level = 32768.0 Csound version 5.13 (float samples) May 19 2011 libsndfile-1.0.21 UnifiedCSD: lecture1.csd Environment variable 'SADIR' has been set to '/Users/victor/audio;/ Users/victor/Desktop' Environment variable 'SSDIR' has been set to '/Users/victor/audio;/ Users/victor/Desktop' Environment variable 'INCDIR' has been set to '/Users/victor/Desktop' Environment variable 'MFDIR' has been set to '/Users/victor/Desktop' STARTING FILE Creating options Creating orchestra Creating score decode_long new-parser orchname: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- uBWU1y.orc scorename: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- f1nNc2.sco rtaudio: PortAudio module enabled ... using callback interface rtmidi: PortMIDI module enabled ******************** * USING NEW PARSER * ******************** Starting parse Entering state 0 Reading a token: END OF INPUT Now at end of input. Csound tidy up: Segmentation fault Csound tidy up: Bus error |
Date | 2011-05-30 11:22 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] reentrancy problem with the new parser. |
Of course the parser has a number of staic variables that possibly do not get reset. I mentioned this earlier > Regarding the first program, this is the screendump with -v, showing > where it goes wrong. It appears to > happen after all input is read and the parsing is going to start. I am > attaching the CSD I used. > > mu-lap-2h2-1:desktop victor$ ./cstest lecture1.csd -odac --new-parser -v > PortMIDI real time MIDI plugin for Csound > PortAudio real-time audio module for Csound > virtual_keyboard real time MIDI plugin for Csound > 0dBFS level = 32768.0 > Csound version 5.13 (float samples) May 19 2011 > libsndfile-1.0.21 > UnifiedCSD: lecture1.csd > Environment variable 'SADIR' has been set to '/Users/victor/audio;/ > Users/victor/Desktop' > Environment variable 'SSDIR' has been set to '/Users/victor/audio;/ > Users/victor/Desktop' > Environment variable 'INCDIR' has been set to '/Users/victor/Desktop' > Environment variable 'MFDIR' has been set to '/Users/victor/Desktop' > STARTING FILE > Creating options > Creating orchestra > Creating score > decode_long new-parser > orchname: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- > MXAh5q.orc > scorename: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- > s2aCj8.sco > rtaudio: PortAudio module enabled ... using callback interface > rtmidi: PortMIDI module enabled > ******************** > * USING NEW PARSER * > ******************** > Starting parse > Entering state 0 > Reading a token: Next token is token S_NL () > Shifting token S_NL () > Entering state 1 > Reducing stack by rule 34 (line 371): > $1 = token S_NL () > -> $$ = nterm statement () > Stack now 0 > Entering state 34 > Reducing stack by rule 26 (line 311): > $1 = nterm statement () > -> $$ = nterm topstatement () > Stack now 0 > Entering state 33 > Reducing stack by rule 5 (line 198): > $1 = nterm topstatement () > -> $$ = nterm rootstatement () > Stack now 0 > Entering state 30 > Reading a token: Next token is token T_SRATE () > Shifting token T_SRATE () > Entering state 10 > Reducing stack by rule 127 (line 590): > $1 = token T_SRATE () > -> $$ = nterm rident () > Stack now 0 30 > Entering state 38 > Reading a token: Next token is token S_ASSIGN () > Shifting token S_ASSIGN () > Entering state 92 > Reading a token: Next token is token T_INTGR () > Shifting token T_INTGR () > Entering state 55 > Reducing stack by rule 147 (line 616): > $1 = token T_INTGR () > -> $$ = nterm constant () > Stack now 0 30 38 92 > Entering state 63 > Reducing stack by rule 110 (line 546): > $1 = nterm constant () > -> $$ = nterm ifac () > Stack now 0 30 38 92 > Entering state 60 > Reading a token: Next token is token S_NL () > Reducing stack by rule 108 (line 542): > $1 = nterm ifac () > -> $$ = nterm iterm () > Stack now 0 30 38 92 > Entering state 59 > Next token is token S_NL () > Reducing stack by rule 101 (line 533): > $1 = nterm iterm () > -> $$ = nterm iexp () > Stack now 0 30 38 92 > Entering state 58 > Next token is token S_NL () > Reducing stack by rule 96 (line 526): > $1 = nterm iexp () > -> $$ = nterm expr () > Stack now 0 30 38 92 > Entering state 140 > Next token is token S_NL () > Shifting token S_NL () > Entering state 191 > Reducing stack by rule 25 (line 300): > $1 = nterm rident () > $2 = token S_ASSIGN () > $3 = nterm expr () > $4 = token S_NL () > -> $$ = nterm topstatement () > Stack now 0 30 > Entering state 71 > Reducing stack by rule 2 (line 186): > $1 = nterm rootstatement () > $2 = nterm topstatement () > -> $$ = nterm rootstatement () > Stack now 0 > Entering state 30 > Reading a token: Next token is token T_KSMPS () > Shifting token T_KSMPS () > Entering state 12 > Reducing stack by rule 129 (line 592): > $1 = token T_KSMPS () > -> $$ = nterm rident () > Stack now 0 30 > Entering state 38 > Reading a token: Next token is token S_ASSIGN () > Shifting token S_ASSIGN () > Entering state 92 > Reading a token: Next token is token T_INTGR () > Shifting token T_INTGR () > Entering state 55 > Reducing stack by rule 147 (line 616): > $1 = token T_INTGR () > -> $$ = nterm constant () > Stack now 0 30 38 92 > Entering state 63 > Reducing stack by rule 110 (line 546): > $1 = nterm constant () > -> $$ = nterm ifac () > Stack now 0 30 38 92 > Entering state 60 > Reading a token: Next token is token S_NL () > Reducing stack by rule 108 (line 542): > $1 = nterm ifac () > -> $$ = nterm iterm () > Stack now 0 30 38 92 > Entering state 59 > Next token is token S_NL () > Reducing stack by rule 101 (line 533): > $1 = nterm iterm () > -> $$ = nterm iexp () > Stack now 0 30 38 92 > Entering state 58 > Next token is token S_NL () > Reducing stack by rule 96 (line 526): > $1 = nterm iexp () > -> $$ = nterm expr () > Stack now 0 30 38 92 > Entering state 140 > Next token is token S_NL () > Shifting token S_NL () > Entering state 191 > Reducing stack by rule 25 (line 300): > $1 = nterm rident () > $2 = token S_ASSIGN () > $3 = nterm expr () > $4 = token S_NL () > -> $$ = nterm topstatement () > Stack now 0 30 > Entering state 71 > Reducing stack by rule 2 (line 186): > $1 = nterm rootstatement () > $2 = nterm topstatement () > -> $$ = nterm rootstatement () > Stack now 0 > Entering state 30 > Reading a token: Next token is token T_NCHNLS () > Shifting token T_NCHNLS () > Entering state 13 > Reducing stack by rule 130 (line 593): > $1 = token T_NCHNLS () > -> $$ = nterm rident () > Stack now 0 30 > Entering state 38 > Reading a token: Next token is token S_ASSIGN () > Shifting token S_ASSIGN () > Entering state 92 > Reading a token: Next token is token T_INTGR () > Shifting token T_INTGR () > Entering state 55 > Reducing stack by rule 147 (line 616): > $1 = token T_INTGR () > -> $$ = nterm constant () > Stack now 0 30 38 92 > Entering state 63 > Reducing stack by rule 110 (line 546): > $1 = nterm constant () > -> $$ = nterm ifac () > Stack now 0 30 38 92 > Entering state 60 > Reading a token: Next token is token S_NL () > Reducing stack by rule 108 (line 542): > $1 = nterm ifac () > -> $$ = nterm iterm () > Stack now 0 30 38 92 > Entering state 59 > Next token is token S_NL () > Reducing stack by rule 101 (line 533): > $1 = nterm iterm () > -> $$ = nterm iexp () > Stack now 0 30 38 92 > Entering state 58 > Next token is token S_NL () > Reducing stack by rule 96 (line 526): > $1 = nterm iexp () > -> $$ = nterm expr () > Stack now 0 30 38 92 > Entering state 140 > Next token is token S_NL () > Shifting token S_NL () > Entering state 191 > Reducing stack by rule 25 (line 300): > $1 = nterm rident () > $2 = token S_ASSIGN () > $3 = nterm expr () > $4 = token S_NL () > -> $$ = nterm topstatement () > Stack now 0 30 > Entering state 71 > Reducing stack by rule 2 (line 186): > $1 = nterm rootstatement () > $2 = nterm topstatement () > -> $$ = nterm rootstatement () > Stack now 0 > Entering state 30 > Reading a token: Next token is token T_0DBFS () > Shifting token T_0DBFS () > Entering state 15 > Reducing stack by rule 132 (line 595): > $1 = token T_0DBFS () > -> $$ = nterm rident () > Stack now 0 30 > Entering state 38 > Reading a token: Next token is token S_ASSIGN () > Shifting token S_ASSIGN () > Entering state 92 > Reading a token: Next token is token T_INTGR () > Shifting token T_INTGR () > Entering state 55 > Reducing stack by rule 147 (line 616): > $1 = token T_INTGR () > -> $$ = nterm constant () > Stack now 0 30 38 92 > Entering state 63 > Reducing stack by rule 110 (line 546): > $1 = nterm constant () > -> $$ = nterm ifac () > Stack now 0 30 38 92 > Entering state 60 > Reading a token: Next token is token S_NL () > Reducing stack by rule 108 (line 542): > $1 = nterm ifac () > -> $$ = nterm iterm () > Stack now 0 30 38 92 > Entering state 59 > Next token is token S_NL () > Reducing stack by rule 101 (line 533): > $1 = nterm iterm () > -> $$ = nterm iexp () > Stack now 0 30 38 92 > Entering state 58 > Next token is token S_NL () > Reducing stack by rule 96 (line 526): > $1 = nterm iexp () > -> $$ = nterm expr () > Stack now 0 30 38 92 > Entering state 140 > Next token is token S_NL () > Shifting token S_NL () > Entering state 191 > Reducing stack by rule 25 (line 300): > $1 = nterm rident () > $2 = token S_ASSIGN () > $3 = nterm expr () > $4 = token S_NL () > -> $$ = nterm topstatement () > Stack now 0 30 > Entering state 71 > Reducing stack by rule 2 (line 186): > $1 = nterm rootstatement () > $2 = nterm topstatement () > -> $$ = nterm rootstatement () > Stack now 0 > Entering state 30 > Reading a token: Next token is token S_NL () > Shifting token S_NL () > Entering state 1 > Reducing stack by rule 34 (line 371): > $1 = token S_NL () > -> $$ = nterm statement () > Stack now 0 30 > Entering state 34 > Reducing stack by rule 26 (line 311): > $1 = nterm statement () > -> $$ = nterm topstatement () > Stack now 0 30 > Entering state 71 > Reducing stack by rule 2 (line 186): > $1 = nterm rootstatement () > $2 = nterm topstatement () > -> $$ = nterm rootstatement () > Stack now 0 > Entering state 30 > Reading a token: Next token is token T_INSTR () > Shifting token T_INSTR () > Entering state 6 > Reading a token: Next token is token T_INTGR () > Reducing stack by rule 10 (line 211): > -> $$ = nterm @1 () > Stack now 0 30 6 > Entering state 66 > Next token is token T_INTGR () > Shifting token T_INTGR () > Entering state 134 > Reading a token: Next token is token S_NL () > Reducing stack by rule 9 (line 207): > $1 = token T_INTGR () > -> $$ = nterm intlist () > Stack now 0 30 6 66 > Entering state 135 > Next token is token S_NL () > Shifting token S_NL () > Entering state 188 > Reducing stack by rule 11 (line 213): > -> $$ = nterm @2 () > Stack now 0 30 6 66 135 188 > Entering state 216 > Reducing stack by rule 24 (line 297): > -> $$ = nterm statementlist () > Stack now 0 30 6 66 135 188 216 > Entering state 227 > Reading a token: Next token is token T_IDENT_A () > Shifting token T_IDENT_A () > Entering state 20 > Reducing stack by rule 138 (line 603): > $1 = token T_IDENT_A () > -> $$ = nterm ident () > Stack now 0 30 6 66 135 188 216 227 > Entering state 39 > Reading a token: Next token is token T_OPCODE () > Reducing stack by rule 35 (line 374): > $1 = nterm ident () > -> $$ = nterm ans () > Stack now 0 30 6 66 135 188 216 227 > Entering state 35 > Next token is token T_OPCODE () > Shifting token T_OPCODE () > Entering state 73 > Reducing stack by rule 157 (line 636): > $1 = token T_OPCODE () > -> $$ = nterm opcode () > Stack now 0 30 6 66 135 188 216 227 35 > Entering state 74 > Reading a token: Next token is token T_0DBFS () > Shifting token T_0DBFS () > Entering state 53 > Reducing stack by rule 155 (line 624): > $1 = token T_0DBFS () > -> $$ = nterm constant () > Stack now 0 30 6 66 135 188 216 227 35 74 > Entering state 63 > Reducing stack by rule 110 (line 546): > $1 = nterm constant () > -> $$ = nterm ifac () > Stack now 0 30 6 66 135 188 216 227 35 74 > Entering state 60 > Reading a token: Next token is token S_NL () > Reducing stack by rule 108 (line 542): > $1 = nterm ifac () > -> $$ = nterm iterm () > Stack now 0 30 6 66 135 188 216 227 35 74 > Entering state 59 > Next token is token S_NL () > Reducing stack by rule 101 (line 533): > $1 = nterm iterm () > -> $$ = nterm iexp () > Stack now 0 30 6 66 135 188 216 227 35 74 > Entering state 58 > Next token is token S_NL () > Reducing stack by rule 96 (line 526): > $1 = nterm iexp () > -> $$ = nterm expr () > Stack now 0 30 6 66 135 188 216 227 35 74 > Entering state 96 > Next token is token S_NL () > Reducing stack by rule 69 (line 495): > $1 = nterm expr () > -> $$ = nterm exprlist () > Stack now 0 30 6 66 135 188 216 227 35 74 > Entering state 138 > Next token is token S_NL () > Shifting token S_NL () > Entering state 190 > Reducing stack by rule 28 (line 331): > $1 = nterm ans () > $2 = nterm opcode () > $3 = nterm exprlist () > $4 = token S_NL () > -> $$ = nterm statement () > Stack now 0 30 6 66 135 188 216 227 > Entering state 223 > Reducing stack by rule 23 (line 293): > $1 = nterm statementlist () > $2 = nterm statement () > -> $$ = nterm statementlist () > Stack now 0 30 6 66 135 188 216 > Entering state 227 > Reading a token: Next token is token T_OPCODE0 () > Shifting token T_OPCODE0 () > Entering state 4 > Reducing stack by rule 156 (line 627): > $1 = token T_OPCODE0 () > -> $$ = nterm opcode0 () > Stack now 0 30 6 66 135 188 216 227 > Entering state 41 > Reading a token: Next token is token T_IDENT_A () > Shifting token T_IDENT_A () > Entering state 20 > Reducing stack by rule 138 (line 603): > $1 = token T_IDENT_A () > -> $$ = nterm ident () > Stack now 0 30 6 66 135 188 216 227 41 > Entering state 62 > Reducing stack by rule 109 (line 545): > $1 = nterm ident () > -> $$ = nterm ifac () > Stack now 0 30 6 66 135 188 216 227 41 > Entering state 60 > Reading a token: Next token is token S_NL () > Reducing stack by rule 108 (line 542): > $1 = nterm ifac () > -> $$ = nterm iterm () > Stack now 0 30 6 66 135 188 216 227 41 > Entering state 59 > Next token is token S_NL () > Reducing stack by rule 101 (line 533): > $1 = nterm iterm () > -> $$ = nterm iexp () > Stack now 0 30 6 66 135 188 216 227 41 > Entering state 58 > Next token is token S_NL () > Reducing stack by rule 96 (line 526): > $1 = nterm iexp () > -> $$ = nterm expr () > Stack now 0 30 6 66 135 188 216 227 41 > Entering state 96 > Next token is token S_NL () > Reducing stack by rule 69 (line 495): > $1 = nterm expr () > -> $$ = nterm exprlist () > Stack now 0 30 6 66 135 188 216 227 41 > Entering state 95 > Next token is token S_NL () > Shifting token S_NL () > Entering state 143 > Reducing stack by rule 29 (line 344): > $1 = nterm opcode0 () > $2 = nterm exprlist () > $3 = token S_NL () > -> $$ = nterm statement () > Stack now 0 30 6 66 135 188 216 227 > Entering state 223 > Reducing stack by rule 23 (line 293): > $1 = nterm statementlist () > $2 = nterm statement () > -> $$ = nterm statementlist () > Stack now 0 30 6 66 135 188 216 > Entering state 227 > Reading a token: Next token is token T_ENDIN () > Shifting token T_ENDIN () > Entering state 236 > Reading a token: Next token is token S_NL () > Shifting token S_NL () > Entering state 243 > Reducing stack by rule 12 (line 210): > $1 = token T_INSTR () > $2 = nterm @1 () > $3 = nterm intlist () > $4 = token S_NL () > $5 = nterm @2 () > $6 = nterm statementlist () > $7 = token T_ENDIN () > $8 = token S_NL () > -> $$ = nterm instrdecl () > Stack now 0 30 > Entering state 69 > Reducing stack by rule 3 (line 190): > $1 = nterm rootstatement () > $2 = nterm instrdecl () > -> $$ = nterm rootstatement () > Stack now 0 > Entering state 30 > Reading a token: END OF INPUT > Now at end of input. > Reducing stack by rule 1 (line 179): > $1 = nterm rootstatement () > -> $$ = nterm orcfile () > Stack now 0 > Entering state 29 > Now at end of input. > Stack now 0 29 > Cleanup: popping nterm orcfile () > Parsing successful! > treqd i, tfound c > xincod = 0 > treqd r, tfound r > treqd i, tfound c > xincod = 0 > treqd r, tfound r > treqd i, tfound c > xincod = 0 > treqd r, tfound r > SETTING 0DBFS: 1.000000 > treqd i, tfound c > xincod = 0 > treqd r, tfound r > treqd o, tfound c > treqd o, tfound c > treqd v, tfound c > treqd x, tfound r > xincod = 0 > treqd s, tfound a > treqd a, tfound a > xincod = 1 > poolcount = 5, strpool_cnt = 1 > pool: 0 44100 32 1 0.5 > strpool: "" > =.r argndxs: 6 2 > =.r argndxs: 8 3 > =.r argndxs: 9 4 > =.r argndxs: 11 4 > rand argndxs: -4 11 5 1 1 > out argndxs: -4 > argoff array: > 0 1 6 1 2 1 8 1 3 11 1 4 1 -4 4 11 5 1 1 -4 > Elapsed time at end of orchestra compile: real: 0.029s, CPU: 0.011s > sorting score ... > ... done > Elapsed time at end of score sort: real: 0.059s, CPU: 0.025s > Csound version 5.13 (float samples) May 19 2011 > Creating search path cache for 'SNAPDIR': > Creating search path cache for 'SFDIR;SSDIR;INCDIR': > 1: "/Users/victor/Desktop/" > 2: "/Users/victor/audio/" > Creating search path cache for 'SFDIR': > 1: "/Users/victor/audio/" > Creating search path cache for 'SADIR': > 1: "/Users/victor/Desktop/" > 2: "/Users/victor/audio/" > Creating search path cache for 'SFDIR;SSDIR': > 1: "/Users/victor/Desktop/" > 2: "/Users/victor/audio/" > esr = 44100.0, ekr = 1378.1, ksmps = 32, nchnls = 1 nchnlsi = -1 > 0dbfs = 1.0 > lclabeg 4, lclsbeg 4 > lclabeg 4, lclsbeg 5 > 0dBFS level = 1.0 > instr 0 allocated at 0x348bf8 > lclbas 0x348c68, opds 0x348c68 > op 54 (=.r) allocated at 0x348c68 > argptrs: 0x34878c 0x34877c > op 54 (=.r) allocated at 0x348c88 > argptrs: 0x348794 0x348780 > op 54 (=.r) allocated at 0x348ca8 > argptrs: 0x348798 0x348784 > op 54 (=.r) allocated at 0x348cc8 > argptrs: 0x3487a0 0x348784 > orch now loaded > audio buffered in 1024 sample-frame blocks > PortAudio V19-devel (built Feb 12 2010 09:42:54) > PortAudio: available output devices: > 0: Built-in Output > 1: Aggregate Device > 2: mic+audio > PortAudio: selected output device 'Built-in Output' > writing 2048-byte blks of shorts to dac > SECTION 1: > new event: 0.0000000000000 0.0000000000000 > activating instr 1 at 0 > new alloc for instr 1: > instr 1 allocated at 0x35d938 > lclbas 0x35d9a8, opds 0x35da28 > op 278 (rand) allocated at 0x35da28 > opadr = 0x17c920 > argptrs: 0x35d9a8 0x3487a0 0x348788 0x348778 0x348778 > op 305 (out) allocated at 0x35da5c > opadr = 0x141100 > argptrs: 0x35d9a8 > psave beg at 0x35d99c > ending at 0x35d9a8 > init rand: > instr 1 now active: > insno instanc nxtinst prvinst nxtact prvact nxtoff actflg offtim > 0 0x348bf8 0x0 0x0 0x0 0x0 0x0 1 0.0 > 1 0x35d938 0x0 0x0 0x0 0x35118 0x0 1 1.0 > removed instance of instr 1 > deactivated all notes to time 1.000 > frstoff = 0x0 > B 0.000 .. 1.000 T 1.000 TT 1.000 M: 1.00000 > Score finished in csoundPerform(). > removed instance of instr 0 > inactive allocs returned to freespace > end of score. overall amps: 1.00000 > overall samples out of range: 0 > 0 errors in performance > Elapsed time at end of performance: real: 1.594s, CPU: 0.202s > 44 2048-byte soundblks of shorts written to dac > PortMIDI real time MIDI plugin for Csound > PortAudio real-time audio module for Csound > virtual_keyboard real time MIDI plugin for Csound > 0dBFS level = 32768.0 > Csound version 5.13 (float samples) May 19 2011 > libsndfile-1.0.21 > UnifiedCSD: lecture1.csd > Environment variable 'SADIR' has been set to '/Users/victor/audio;/ > Users/victor/Desktop' > Environment variable 'SSDIR' has been set to '/Users/victor/audio;/ > Users/victor/Desktop' > Environment variable 'INCDIR' has been set to '/Users/victor/Desktop' > Environment variable 'MFDIR' has been set to '/Users/victor/Desktop' > STARTING FILE > Creating options > Creating orchestra > Creating score > decode_long new-parser > orchname: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- > uBWU1y.orc > scorename: /var/folders/5P/5PSrqM3mGnCIxRlBhio0cE+++TM/-Tmp-//csound- > f1nNc2.sco > rtaudio: PortAudio module enabled ... using callback interface > rtmidi: PortMIDI module enabled > ******************** > * USING NEW PARSER * > ******************** > Starting parse > Entering state 0 > Reading a token: END OF INPUT > Now at end of input. > Csound tidy up: Segmentation fault > Csound tidy up: Bus error > > > > ------------------------------------------------------------------------------ > vRanger cuts backup time in half-while increasing security. > With the market-leading solution for virtual backup and recovery, > you get blazing-fast, flexible, and affordable data protection. > Download your free trial now. > http://p.sf.net/sfu/quest-d2dcopy1_______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel > ------------------------------------------------------------------------------ vRanger cuts backup time in half-while increasing security. With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection. Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1 _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2011-05-30 12:54 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] reentrancy problem with the new parser. |
You probably did and I forgot. Victor On 30 May 2011, at 11:22, jpff@cs.bath.ac.uk wrote: > Of course the parser has a number of staic variables that possibly > do not > get reset. I mentioned this earlier > ------------------------------------------------------------------------------ vRanger cuts backup time in half-while increasing security. With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection. Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1 _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |