I've seen that error while hacking on the overall JSF integration into AS. It means that it can't find the JSF impl.
I looked at the Mojarra code for this and found this scary comment:
// double check the current value. Another thread
// may have completed the initialization by the time
// this thread entered this block
factoryOrList = factories.get(factoryName);
So maybe there is an improper implementation of the double-checked locking idiom?
Is there any way you can reproduce this consistently?
Stan