This looked interesting. It might narrow the problem down to a specific part of the page.
Helpful hint: use the "id" attribute on your controls. Otherwise you get a useless randomly generated ID back in the error messages and it's much harder to locate the offending element.
I also started using Facelets, since one of their selling points was better
JSF error messages. A nice bonus was it finally made Tiles useful to me!
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.