I got the exact same problem last week, i have an application that use to run on Oracle Containers for Java (OC4J) but managment decided that we should use Glassfish, the application was running without problems, but i got this exception on one of the reports that contained a subreport, the reason is the subreport PATH, i was appending "/" to the end of the path, like this
parametrosReporte.put("SUBREPORT_DIR",this.getServletContext().getRealPath(this.getServletContext().getInitParameter("reportPath"))+"/");
this worked in OC4J, but not in glassfish, i had to change it to
parametrosReporte.put("SUBREPORT_DIR",this.getServletContext().getRealPath(this.getServletContext().getInitParameter("reportPath"))+System.getProperty("file.separator"));
I hope this works for you, if you havent found another solution
Best Regards