A quick glance over your code suggest that the seq faults are caused by float functions that do not return anything.
Try:
fun float foo(){
return 0.0; //remember to return a float
}
The null pointer exceptions are propably caused by using SinOsc @ s[MAX_COMP];
This creates an array of null pointer SinOscs.
Try without the @:
SinOsc s[MAX_COMP];
-Pyry Pakkanen