Support Article
Frequent java.lang.IllegalArgumentException in Logs
SA-3507
Summary
"java.lang.IllegalArgumentException: Illegal characters detected in the path " error is observed in the logs
Error Messages
2014-10-30 11:00:06,157 [ WebContainer : 7] [!STANDARD)] [ ] ( priv.storage.StorageUtils) ERROR - Unable to serve file
java.lang.IllegalArgumentException: Illegal characters detected in the path "/StaticContent/common/5004c59f74192a820954e3b9ae0d5f7d/4urvtogorrwswwqbotn9il2fwdi*/webwb/desktopimages/pxloginbackground.jpg". You may not use ", ?, *, <, >, |, :
at com.pega.pegarules.priv.storage.StorageUtils.normalizeRelativePath(StorageUtils.java:215)
at com.pega.pegarules.storage.FileStorageManager.getFile(FileStorageManager.java:308)
at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.priv.storage.StorageUtils.getFile(StorageUtils.java:103)
at com.pega.pegarules.pub.util.PRFile.<init>(PRFile.java:87)
at com.pega.pegarules.web.staticcontent.StaticContentClient.serveFiles(StaticContentClient.java:1038)
at com.pega.pegarules.web.staticcontent.StaticContentClient.retrieveFile(StaticContentClient.java:635)
at com.pega.pegarules.web.impl.WebStandardImpl.runStaticContentRequest(WebStandardImpl.java:1020)
at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:261)
at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:349)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:390)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:439)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:118)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doGet(WebStandardBoot.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3704)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)
Root Cause
The root cause of this problem is a defect in Pegasystems’ code/rules.
ERROR - Unable to serve file
java.lang.IllegalArgumentException: Illegal characters detected in the path "/StaticContent/common/5004c59f74192a820954e3b9ae0d5f7d/4urvtogorrwswwqbotn9il2fwdi*/webwb/desktopimages/pxloginbackground.jpg". You may not use ", ?, *, <, >, |, :
Returning HTML content with bad URL.
Resolution
HFix-8818 resolves the issue.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.