[ https://issues.apache.org/struts/browse/STR-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40664 ] Chris Book commented on STR-3000: --------------------------------- Yes, I am using the 1.2 method. I've upgraded to 1.3 but I haven't made any configuration changes. If the new method is preferred, then I will make the switch. Sure, people inject all kinds of bad parameters into my website URLs. I have a site that gets a fair amount of traffic and there's all kinds of crazy browsers and scripts and spiders out there. Normal people with normal browsers would never run into this issue. But at the same time I don't want my log to be flooded with stack traces because I can't catch the exception within struts. You can't really make assumptions about what kind of data will come in on the query string. I agree that the bug can be closed as invalid if the preferred 1.3 configuration method will result in these exceptions being caught by my exception handlers. > IllegalArgumentException not handled while processing query string > ------------------------------------------------------------------ > > Key: STR-3000 > URL: https://issues.apache.org/struts/browse/STR-3000 > Project: Struts 1 > Issue Type: Bug > Components: Core > Affects Versions: 1.2.9, 1.3.5 > Environment: Using jakarta-tomcat 5.0.28 and java1.4.2. > Reporter: Chris Book > Fix For: 1.4.0 > > > The following exception is routinely in my tomcat logs. I'm not sure of the exact query string that causes the property parsing to crash, but this exception is unhandled. Regardless, struts shouldn't allow this exception to get down to the tomcat layer. > I've set this as 'major' because it seems to cause tomcat to eventually stop responding to requests. I upgraded from 1.2.9 to 1.3.5 hoping this would be fixed but it crashes with both versions. > 2007-01-28 12:10:04 StandardWrapperValve[action]: Servlet.service() for servlet action threw exception > java.lang.IllegalArgumentException: Invalid mapped property ' U (feat' > at org.apache.commons.beanutils.PropertyUtilsBean.getMappedProperty(PropertyUtilsBean.java:476) > at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:662) > at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715) > at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884) > at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) > at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298) > at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:451) > at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:794) > at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:191) > at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858) > at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) > at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) > at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300) > at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374) > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743) > at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675) > at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866) > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) > at java.lang.Thread.run(Thread.java:534) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.