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: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]