I used sleep() as you can see in the modified version of getParameterMap() at the end of this message.
I got the issue and here is the trace. What I call "original thread" is the one that was the first to call Requuest.getParameterMap() Correct me if I am wrong but it seems to me that the 2 threads are from Tomcat, not from our application. Gael java.lang.IllegalStateException: Original thread = Thread[http-80-3,5,main] Original stack trace = java.lang.Thread.dumpThreads() java.lang.Thread.getStackTrace() org.apache.catalina.connector.Request.getParameterMap()(Request.java:102 3) org.apache.catalina.connector.RequestFacade.getParameterMap()(RequestFac ade.java:411) org.apache.catalina.core.ApplicationHttpRequest.parseParameters()(Applic ationHttpRequest.java:727) org.apache.catalina.core.ApplicationHttpRequest.getParameter()(Applicati onHttpRequest.java:352) com.hp.swift.portal.state.HttpEventContextObject.getParameter()(HttpEven tContextObject.java:64) com.hp.cii.radix.user.web.home.Home2Context.doUpdateAlertSummary()(Home2 Context.java:709) com.hp.cii.radix.user.web.home.Home2Context.doDisplayAlertSummary()(Home 2Context.java:789) sun.reflect.NativeMethodAccessorImpl.invoke0() sun.reflect.NativeMethodAccessorImpl.invoke() sun.reflect.DelegatingMethodAccessorImpl.invoke() java.lang.reflect.Method.invoke() com.hp.swift.util.MethodInvoker.invoke()(MethodInvoker.java:52) com.hp.swift.state.core.StateContextAction.execute()(StateContextAction. java:51) com.hp.swift.state.core.Transition.executeAction()(Transition.java:124) com.hp.swift.state.core.StateMachineController.fireTransition()(StateMac hineController.java:1013) com.hp.swift.state.core.StateMachineController.doHandle()(StateMachineCo ntroller.java:788) com.hp.swift.state.core.StateMachineController.handle()(StateMachineCont roller.java:520) com.hp.swift.portal.servlet.SmvController.doHandleRequest()(SmvControlle r.java:393) com.hp.swift.portal.servlet.SmvController.doGet()(SmvController.java:235 ) javax.servlet.http.HttpServlet.service()(HttpServlet.java:689) javax.servlet.http.HttpServlet.service()(HttpServlet.java:802) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter()(Appli cationFilterChain.java:252) org.apache.catalina.core.ApplicationFilterChain.doFilter()(ApplicationFi lterChain.java:173) org.apache.catalina.core.ApplicationDispatcher.invoke()(ApplicationDispa tcher.java:672) org.apache.catalina.core.ApplicationDispatcher.processRequest()(Applicat ionDispatcher.java:463) org.apache.catalina.core.ApplicationDispatcher.doForward()(ApplicationDi spatcher.java:359) org.apache.catalina.core.ApplicationDispatcher.forward()(ApplicationDisp atcher.java:301) com.hp.swift.proxy.ProxySessionController.forwardRequest()(ProxySessionC ontroller.java:57) com.hp.swift.portal.servlet.SessionController$1.run()(SessionController. java:164) com.hp.swift.security.manager.LightSecurityManager.doAsPrivileged()(Ligh tSecurityManager.java:272) com.hp.swift.security.manager.SecurityChecker.doAsPrivileged()(SecurityC hecker.java:187) com.hp.swift.portal.servlet.SessionController.forwardRequestAs()(Session Controller.java:159) com.hp.swift.portal.servlet.SessionController.doHttp()(SessionController .java:134) com.hp.swift.portal.servlet.SessionController.doGet()(SessionController. java:110) javax.servlet.http.HttpServlet.service()(HttpServlet.java:689) com.hp.swift.portal.init.FirstLevelInitableServlet.service()(FirstLevelI nitableServlet.java:154) javax.servlet.http.HttpServlet.service()(HttpServlet.java:802) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter()(Appli cationFilterChain.java:252) org.apache.catalina.core.ApplicationFilterChain.doFilter()(ApplicationFi lterChain.java:173) com.hp.swift.portal.servlet.HttpTracingFilter.doFilter()(HttpTracingFilt er.java:94) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter()(Appli cationFilterChain.java:202) org.apache.catalina.core.ApplicationFilterChain.doFilter()(ApplicationFi lterChain.java:173) com.hp.swift.portal.servlet.SecurityFilter.doFilter()(SecurityFilter.jav a:61) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter()(Appli cationFilterChain.java:202) org.apache.catalina.core.ApplicationFilterChain.doFilter()(ApplicationFi lterChain.java:173) org.apache.catalina.core.StandardWrapperValve.invoke()(StandardWrapperVa lve.java:213) org.apache.catalina.core.StandardContextValve.invoke()(StandardContextVa lve.java:178) org.apache.catalina.core.StandardHostValve.invoke()(StandardHostValve.ja va:126) org.apache.catalina.valves.ErrorReportValve.invoke()(ErrorReportValve.ja va:105) org.apache.catalina.core.StandardEngineValve.invoke()(StandardEngineValv e.java:107) org.apache.catalina.connector.CoyoteAdapter.service()(CoyoteAdapter.java :148) org.apache.coyote.http11.Http11AprProcessor.process()(Http11AprProcessor .java:833) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.proce ss()(Http11AprProtocol.java:639) org.apache.tomcat.util.net.AprEndpoint$Worker.run()(AprEndpoint.java:128 5) java.lang.Thread.run() Current thread = Thread[http-80-6,5,main] Current Stack trace at org.apache.catalina.connector.Request.getParameterMap(Request.java:1029) at org.apache.catalina.connector.RequestFacade.getParameterMap(RequestFacad e.java:411) at org.apache.catalina.core.ApplicationHttpRequest.parseParameters(Applicat ionHttpRequest.java:727) at org.apache.catalina.core.ApplicationHttpRequest.getParameter(Application HttpRequest.java:352) at com.hp.swift.portal.state.HttpEventContextObject.getParameter(HttpEventC ontextObject.java:64) at com.hp.cii.radix.user.web.home.Home2Context.doUpdateCallSummary(Home2Con text.java:309) at com.hp.cii.radix.user.web.home.Home2Context.doDisplayCallSummary(Home2Co ntext.java:417) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.hp.swift.util.MethodInvoker.invoke(MethodInvoker.java:52) at com.hp.swift.state.core.StateContextAction.execute(StateContextAction.ja va:51) at com.hp.swift.state.core.Transition.executeAction(Transition.java:124) at com.hp.swift.state.core.StateMachineController.fireTransition(StateMachi neController.java:1013) at com.hp.swift.state.core.StateMachineController.doHandle(StateMachineCont roller.java:788) at com.hp.swift.state.core.StateMachineController.handle(StateMachineContro ller.java:520) at com.hp.swift.portal.servlet.SmvController.doHandleRequest(SmvController. java:393) at com.hp.swift.portal.servlet.SmvController.doGet(SmvController.java:235) 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(Applica tionFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatc her.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applicatio nDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDisp atcher.java:359) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispat cher.java:301) at com.hp.swift.proxy.ProxySessionController.forwardRequest(ProxySessionCon troller.java:57) at com.hp.swift.portal.servlet.SessionController$1.run(SessionController.ja va:164) at com.hp.swift.security.manager.LightSecurityManager.doAsPrivileged(LightS ecurityManager.java:272) at com.hp.swift.security.manager.SecurityChecker.doAsPrivileged(SecurityChe cker.java:187) at com.hp.swift.portal.servlet.SessionController.forwardRequestAs(SessionCo ntroller.java:159) at com.hp.swift.portal.servlet.SessionController.doHttp(SessionController.j ava:134) at com.hp.swift.portal.servlet.SessionController.doGet(SessionController.ja va:110) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at com.hp.swift.portal.init.FirstLevelInitableServlet.service(FirstLevelIni tableServlet.java:154) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at com.hp.swift.portal.servlet.HttpTracingFilter.doFilter(HttpTracingFilter .java:94) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at com.hp.swift.portal.servlet.SecurityFilter.doFilter(SecurityFilter.java: 61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1 48) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.j ava:833) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.proce ss(Http11AprProtocol.java:639) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285) at java.lang.Thread.run(Unknown Source) ----------------------------------------------- public Map getParameterMap() { synchronized(parameterMap) { Thread currentThread = Thread.currentThread(); if (pmapThread == null) { // Store context of first caller thread pmapThread = currentThread; pmapStackTrace = currentThread.getStackTrace(); } else { if (currentThread != pmapThread) { String msg = "Original thread = " + pmapThread + "\nOriginal stack trace = " + stack2string(pmapStackTrace) + "\nCurrent thread = " + currentThread; throw new IllegalStateException(msg); } } } if (parameterMap.isLocked()) return parameterMap; // make some time delay - and the thread should yield the CPU try { Thread.sleep(1000); } catch (InterruptedException e) { // ignore } Enumeration enumeration = getParameterNames(); while (enumeration.hasMoreElements()) { String name = enumeration.nextElement().toString(); String[] values = getParameterValues(name); parameterMap.put(name, values); } parameterMap.setLocked(true); return parameterMap; } --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]