It provides transaction synchronization between Seam and the container (callbacks on the container doing something with the transaction).
The exception isn't familiar to me, but then I don't spend much time with glassfish.
Even if you use POJOs, you still want to use EJB3 transaction sync if you are in a JEE app server.
The exception is not related to glassfish only, we also deployed on weblogic server and the icefaces inputfile failed in same way.
Do you have any pointers or ideas what to change in icefaces upload servlet to make is use seam contexts and things correctly ?
I'm willing to be the testsubject to recompile icefaces and test different approaches.
Currently icefaces file upload works only if backing bean is session scoped and while doing upload, and no seam injection/bijection gets done etc.
Try it on JBoss AS and post the stack trace, I'll see if I can spot anything :)