02-17-2023 10:55 AM - edited 02-17-2023 11:04 AM
Hi there, I faced floating problem with com.audium.server.MultipleThreadException in application on Local Var element with piece of JS and I getting error.badfetch.
We have CVP 12.0.
I didn't dive deep, but in jconsole in peak we have around 4,1GB memory use and 250 thread. I think we get problem at this moment.
02/17/2023 17:12:08.124, The error was: Another thread is currently working on this session. This means the original thread took too long to complete what it was doing. To prevent abnormal behaviour the original thread will exit immediately. The call should not be affected.
com.audium.server.MultipleThreadException: Another thread is currently working on this session. This means the original thread took too long to complete what it was doing. To prevent abnormal behaviour the original thread will exit immediately. The call should not be affected.
at com.audium.server.session.ControllerData.isCurrentThreadOwner(ControllerData.java:5323)
at com.audium.server.voiceElement.ActionElementBase.service(ActionElementBase.java:395)
at com.audium.server.controller.Controller.goToAction(Controller.java:4446)
at com.audium.server.controller.Controller.goToElement(Controller.java:4082)
at com.audium.server.controller.Controller.continueCall(Controller.java:3762)
at com.audium.server.controller.Controller.goToElement(Controller.java:4178)
at com.audium.server.controller.Controller.continueCall(Controller.java:3762)
at com.audium.server.controller.Controller.goToElement(Controller.java:4178)
at com.audium.server.controller.Controller.continueCall(Controller.java:3762)
at com.audium.server.controller.Controller.goToElement(Controller.java:4178)
at com.audium.server.controller.Controller.continueCall(Controller.java:3762)
at com.audium.server.controller.Controller.goToElement(Controller.java:4178)
at com.audium.server.controller.Controller.continueCall(Controller.java:3762)
at com.audium.server.controller.Controller.goToElement(Controller.java:4178)
at com.audium.server.controller.Controller.continueCall(Controller.java:3762)
at com.audium.server.controller.Controller.goToElement(Controller.java:4178)
at com.audium.server.controller.Controller.continueCall(Controller.java:3762)
at com.audium.server.controller.Controller.doPost(Controller.java:1175)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:412)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1385)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Does root fetchtimeout is useful on this case?
Does fetchaudio can be set to VVB? (like from ICM with flash:/)
Any other ideas how to give time to JS execution on Local Var?
BR, IA
Solved! Go to Solution.
02-18-2023 07:00 AM
Yes, CSCvx14235 was the one I was thinking of:
Was the description about this Bug Helpful? | (3) |
02-17-2023 11:06 AM
I believe this is a known bug and that there's a patch to fix it.
I don't have access to bugs/patches, but Bill King or Dave Macias could probably tell you more about the patch.
02-17-2023 12:50 PM
02-17-2023 02:45 PM
Hi @janinegraves when you say a known bug, in what sense? Something about LocalVar? A memory exhaustion issue? Something else?
02-18-2023 03:53 AM
This one doesn't ring a bell. I would reach out to TAC and ask them what the recommendation ESes to have on a 12.0 system are. What is it that you're doing when you encounter this error? Does it happen after a period of time or because of call volume?
david
02-18-2023 05:14 AM - edited 02-18-2023 05:17 AM
Hi, thanks for answer.
Yes, it's looking like it's happen on call volume. Seems like LocalVar executes extra time, rather than usually. It's looks weird that community discuss same case for db/ftp/audio element, but not for localvar, although this features introduced since CVP 11.0
Does fetchtimeout on vxml app is useful for this case?
BR, IA
02-18-2023 05:30 AM
You may want to install ES8 (along with the required prerequisite ES before that) in case this is what you're running into. What does your regular log look like?
https://bst.cisco.com/bugsearch/bug/CSCvv90156
https://bst.cisco.com/bugsearch/bug/CSCvx14235
02-18-2023 07:00 AM
Yes, CSCvx14235 was the one I was thinking of:
Was the description about this Bug Helpful? | (3) |
02-18-2023 07:24 AM
Thanks, missing this case when I looking at ES release notes yesterday.
02-18-2023 08:59 AM
My issue looking the same, after 12 seconds of enter in LocalVar we catch error.badfetch by hotevent.
02/17/2023 13:00:30.975,SetValue,enter,
02/17/2023 13:00:42.051,SetValue,element,hotevent,Hotevent_Error_Badfetch
Does fetchtimeout is make any role in this case?
02-18-2023 09:15 AM
Setting fetchtimeout to something like 20s or 30s and setting fetchaudio to a url to play filler audio to the caller just before the slow app elements is always wise. It'll prevent the fetchtimeout. But you should also fix the bug of the set value element taking longer than it should.
03-03-2023 12:30 AM
Thanks, do you know which a default fetchtimeout and fetchaudiodelay on CVP?
I'm installed ES8 situation seems better.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide