Please review the change (revision 19118) and close or modify. Race condition is reproducible under load.
The load test may issue a send-receive-updates which is context-switched out when a dispose-views is received and processed. When the send-receive-updates wakes up again, the viewRoot is null.
Under real-world conditions, a more likely case is a dispose-views coinciding with a push update.
Use try/finally construct to make sure JSF lifecycle lock is always released.