https://bz.apache.org/bugzilla/show_bug.cgi?id=59054

            Bug ID: 59054
           Summary: CrawlerSessionManagerValve is not serializable, and
                    throws exception when passing itself as
                    sessionAttribute
           Product: Tomcat 7
           Version: 7.0.64
          Hardware: All
                OS: All
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: kubas...@o2.pl

During first request to the application when user agent matches crawler pattern
the execution reaches the point where it tries to store itself in
sessionAttribute (s1.setAttribute(this.getClass().getName(), this)). Since
CrawlerSessionManagerValve does not implement Serializable it throws exception:

java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute
org.apache.catalina.valves.CrawlerSessionManagerValve
    at
org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1465)
    at
org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1426)
    at
org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:154)
    at
org.apache.catalina.valves.CrawlerSessionManagerValve.invoke(CrawlerSessionManagerValve.java:190)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
    at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
    at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)



I was able to fix this bug by modyfing source code to implement Serializable
interface.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to