Author Message
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
I am having this strange problem. My application quits unexpectedly after a specific node (before playing prompts). But it doesn't quit all the time, sometimes it works.
Moreover, when the call hangs up unexpectedly, the application keep doing its normal actions (querying db, calling web service etc).

any suggestion? so, 2-5% customers only get the correct reply/behavior others face a call drop.
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
Do you see any error in the application's trace.log? I am thinking if this is similar to a connection timeout situation as discussed in the following post:

https://devconnect.avaya.com/public/forum/d_forum_3.jsp?t=6452&f=6
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
Hi Wilson, I am sure its not a timeout issue. But what I found is very interesting. My code changes are not reflected. I have added two nodes later, but when generating code/war file, the nodes are vanishing. Once I got the error like the wrapper couldn't find the node to play.

Moreover, for testing, I have hard-coded a caller number, but it continues to get a blank caller number. Thus I cannot trace what is going on !!

My dd version is 5.0.0.17 & app server is running on tomcat 5.5.

Please help me.
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
Hi, I am 90% sure that this is an issue of my DD & tomcat version mismatching. Because, I am having this "Hot Code Replace Failed" warning & getting different result by restarting the tomcat.
My changes are shown in the dd, classes are also generated, but after deploying .war files, I discover that no changes are made.

What to do????
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
If you suspect version mismatching, you should take a look at the app's Web-INF/lib scer<version>.jar and Tomcat's common/lib/scercommon<version>.jar. Make sure the versions are matched on these 2 runtime library files. The DD code is package in another library file in the app's Web-INF/lib. You can inspect the date to see if it's changed.

"Hot Code Replace Failed" means you are changing some code while Tomcat is running.

SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
Dear Wilson, you are right, tomcat was running. Version is also mismatched. but the problem is, earlier I developed one call flow using dd version 5.0.0.11 & copied the scercommon5.0.0.11 in tomcat's lib directory. It worked. But now, I am working with dd 5.0.0.15 & 5.0.0.17. with these versions the earlier mentioned method doesn't work.

The application runs with no error. But when I change anything, export a .war & deploy it to tomcat(5.5), it works like a fuzzy program. The changes are not sure to take effect.

What am I doing wrong? or what can I do?
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
You should inject some log statement in the app to make sure your changes are taking effect. You really need to look inside the trace.log to make sure things go as expected. You should enable the finest level of logging. To do that, in the ddrt.properties file of the data directory have the following properties enabled:

localddtrace=enabled
localapptrace=enabled
showvxml=enabled
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
Hi, I did all the logging in finest part, but it showed nothing special. Actually its the logging how I am sure my changes are not in effect. In some point I got an error like this (the node 'thanks' is the node which is not playing):

javax.servlet.ServletException: Wrapper cannot find servlet class flow.thanks or a class it depends on
   at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1076)
   at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:629)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
   at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1117)
   at com.avaya.sce.runtime.Data.evaluateActions(Data.java:122)
   at flow.responseLog.executeDataActions(responseLog.java:81)
   at com.avaya.sce.runtime.Data.handleRequest(Data.java:77)
   at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:76)
   at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:249)
   at com.avaya.sce.runtime.SCEServlet.doGet(SCEServlet.java:159)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
   at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1117)
   at com.avaya.sce.runtime.SubflowReturn.handleRequest(SubflowReturn.java:120)
   at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:76)
   at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:249)
   at com.avaya.sce.runtime.SCEServlet.doGet(SCEServlet.java:159)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
   at java.lang.Thread.run(Unknown Source)
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
One more thing, I have thanks.java file in application's WEB-INF/src/flow directory, but there is no thanks.class generated in WEB-INF/classes/flow directory. Why is that? I tried every method suggested by the developers' guide but this class is not generated.
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
Have have tried the Project->Clean... menu option? It should help cleaning out all the compiled classes and do a full rebuild.
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
Thanx for your quick and countless response. But my problem persists. I have a phraseset file named ListNumbers, where I have an external audio built by overriding 'hookGetPhrases'. In this same method, I worked my earlier project.

But now, I see an error from the dialogdesigner.log and none of my class files are being auto-generated by the DD.

The error:
23/06/2010 13:04:57 WARN - Caught exception generating Java class for ListNumber.phraseset
java.io.IOException: Error updating fields in Phraseset Java class: ListNumber.java
   at com.avaya.sce.phrasesets.internal.PhrasesetGenerator.generatePhrasesetFile(PhrasesetGenerator.java:194)
   at com.avaya.sce.phrasesets.internal.PhrasesetGenerator.generatePhrasesetClass(PhrasesetGenerator.java:83)
   at com.avaya.sce.phrasesets.internal.Generator.generate(Generator.java:48)
   at com.avaya.ade.common.core.resources.impl.ResourceGeneratorVisitor.visit(ResourceGeneratorVisitor.java:134)
   at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:106)
   at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:58)
   at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81)
   at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
   at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
   at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
   at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126)
   at org.eclipse.core.internal.resources.Resource.accept(Resource.java:68)
   at org.eclipse.core.internal.resources.Resource.accept(Resource.java:104)
   at org.eclipse.core.internal.resources.Resource.accept(Resource.java:88)
   at com.avaya.sce.core.internal.WorkspaceController.generateProjectResources(WorkspaceController.java:365)
   at com.avaya.sce.core.internal.GenerateProject$1.execute(GenerateProject.java:47)
   at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:104)
   at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
   at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:116)
   at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
You are getting IOException when the code generator is trying to create the ListNumber.java file. I can only guess your workspace have been corrupted for some reason. I am wondering if you can try creating a new workspace and import the project. You can create a new workspace by using the Switch workspace context menu option in Eclipse.
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
Hi Wilson, I was trying to follow your instruction, but when I try to import the project in my new workspace, the following errors are generated:

!ENTRY com.avaya.sce.core 4 0 2010-06-24 10:02:43.318
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
   at com.avaya.sce.core.PluggableConnectorConfig.checkConnectorConfigurationForProjects(PluggableConnectorConfig.java:508)
   at com.avaya.sce.core.internal.SpeechProjectOpened.processOpenedProjects(SpeechProjectOpened.java:73)
   at com.avaya.sce.core.internal.BaseProjectOpened.projectsOpened(BaseProjectOpened.java:46)
   at com.avaya.sce.core.internal.ProjectOpenBatchProcessor$1$1.visit(ProjectOpenBatchProcessor.java:104)
   at com.avaya.sce.core.internal.ProjectOpenBatchProcessor$1$1.visit(ProjectOpenBatchProcessor.java:1)
   at com.avaya.ade.common.core.utils.eclipse.Extensions.loadExtensionFromPluginRegistry(Extensions.java:50)
   at com.avaya.sce.core.internal.ProjectOpenBatchProcessor$1.run(ProjectOpenBatchProcessor.java:113)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
   at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
   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 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
SaifulIslam2
Joined: Nov 7, 2009
Messages: 3
Offline
I removed the CTI connector from the old project and imported it, The error vanishes, but while generating this newly imported project, it generates the same error about the ListNumber.java.

??? !! ???
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
OK, I looked into our code more. It actually looks like failing at updating a section of code in the ListNumber.java file. Do you already have this file? If it doesn't have any custom code, you can just remove it and let the code generate run again. If it does have custom code or you are not sure, make a copy of it and paste back the custom code later.
Go to:   
Mobile view