The multi-threaded JSP compilation introduced in 8.5.33 with Bug 53492 can create race conditions that lead to invalid web.xml (fragments) to be generated. Since access of output streams in `generateWebMapping` is not thread-safe, this can cause mappings to be interleaved, like in this (real-life) example: > <servlet-mapping> > <servlet-name>org.apache.jsp.WEB_002dINF.jsp.admin.seoKeywordsCmsTable_jsp > <servlet-mapping> > <servlet-name></servlet-name> > <url-pattern>org.apache.jsp.WEB_002dINF.jsp.admin.seo.seokeywordtable_jsp</servlet-name> > <url-pattern>/WEB-INF/jsp/admin/seo/seoKeywordsCmsTable.jsp/WEB-INF/jsp/admin/seo/seokeywordtable.jsp</url-pattern> > </servlet-mapping> ></url-pattern> > </servlet-mapping> Obviously, this causes an error on startup.
Created attachment 36122 [details] Patch to synchronize multi-threaded access to output streams Attached patch should be sufficient to prevent chunks getting mixed up.
Thanks for the patch. Fixed in: - trunk for 9.0.12 onwards - 8.5.x for 8.5.34 onwards - 7.0.x for 7.0.91 onwards
*** Bug 62677 has been marked as a duplicate of this bug. ***