[URGENT] RTC - Infinite post call loop problem
Hi !
I am developing some participants. I get a error message as follows. * Error message:
The server is not responding or a page navigation occurred before an operation completed.
Check that your server connection is working and that the server is operational,
then try the action again or refresh the page.
I do not know the reason of it, but I guess it is from infinite post call loop. * I found the guess with log. The participant is activated in same state. If user request saving with web page save button, the plugin is called. It is ended with updating a attribute value of same workitem in same state. At that point, there is infinite post call loop. So RTC display message as above in a few minutes. Is there any person who experienced this error in the past ? Help me ! |
2 answers
I reenact this problem in the JKE Banking sample project.
I can also find an infinite loop calling in the console as follows. * We do not use if-clause as follows to save workitem in same state. if(oldState.equals(newState) == false) * Participant source : IWorkItem newWorkItem = (IWorkItem) saveParameter.getNewState(); IWorkItem oldWorkItem = (IWorkItem) saveParameter.getOldState(); String workitemType = newWorkItem.getWorkItemType(); // In story workitem case if(workitemType.equals("com.ibm.team.apt.workItemType.story")){ System.out.println("WORKITEM - " + newWorkItem.getId()); Identifier<IState> newStateId = newWorkItem.getState2(); Identifier<IState> oldStateId = oldWorkItem != null ? oldWorkItem.getState2() : null; String newState = newStateId.getStringIdentifier(); String oldState = oldStateId != null ? oldStateId.getStringIdentifier() : null; System.out.println("oldState=" + newState); System.out.println("newState=" + oldState); IWorkItem wiCopy = (IWorkItem) getService(IWorkItemServer.class) .getAuditableCommon() .resolveAuditable(newWorkItem, IWorkItem.FULL_PROFILE, monitor) .getWorkingCopy(); // Set Description wiCopy.setHTMLDescription(XMLString.createFromPlainText("test description ...")); // save workitem Set<String> additionalParams = new HashSet<String>(); additionalParams.add(IExtensionsDefinitions.LSG_AMS_EXTENSION_ID); getService(IWorkItemServer.class).saveWorkItem3(wiCopy, null, null, additionalParams); System.out.println("Setting description is completed ..."); * Log in concole * ccm.log java.lang.StackOverflowError at com.ibm.team.repository.service.internal.diagnostics.ExecutingServiceMonitor.preInvoke(ExecutingServiceMonitor.java:32) at com.ibm.team.repository.service.internal.diagnostics.ExecutingServiceMonitor.preInvoke(ExecutingServiceMonitor.java:1) at com.ibm.team.repository.service.internal.monitoring.ServiceExecutionMonitorRegistry.sendPreInvoke(ServiceExecutionMonitorRegistry.java:101) at com.ibm.team.repository.service.internal.monitoring.ServiceExecutionMonitorRegistry.sendPreInvoke(ServiceExecutionMonitorRegistry.java:1) at com.ibm.team.repository.common.transport.internal.registry.AbstractActivationManagerOwner.handlePreInvoke(AbstractActivationManagerOwner.java:990) at com.ibm.team.repository.common.transport.internal.registry.AbstractActivationManagerOwner.access$5(AbstractActivationManagerOwner.java:988) at com.ibm.team.repository.common.transport.internal.registry.AbstractActivationManagerOwner$1.preInvoke(AbstractActivationManagerOwner.java:579) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.preInvoke(ExportProxyServiceRecord.java:505) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:350) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy52.getProvider(Unknown Source) at com.ibm.team.repository.service.internal.schemagen.PersistentMappingService.getDbProvider(PersistentMappingService.java:318) at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy53.getDbProvider(Unknown Source) at com.ibm.team.repository.service.internal.ComponentMetadataProviderManagerService.getDbProvider(ComponentMetadataProviderManagerService.java:228) at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy59.getDbProvider(Unknown Source) at com.ibm.team.repository.service.internal.query.sqlgen.AbstractSqlGenerator.getDbProvider(AbstractSqlGenerator.java:845) at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.useHashedComparison(PredicateGenerator.java:859) at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addBasicComparison(PredicateGenerator.java:816) at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addPredicate(PredicateGenerator.java:93) at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addBinaryConditional(PredicateGenerator.java:775) at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addPredicate(PredicateGenerator.java:95) at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.toSqlOn(PredicateGenerator.java:75) at com.ibm.team.repository.service.internal.query.sqlgen.WhereClauseGenerator.addFilter(WhereClauseGenerator.java:61) at com.ibm.team.repository.service.internal.query.sqlgen.WhereClauseGenerator.toSqlOn(WhereClauseGenerator.java:37) at com.ibm.team.repository.service.internal.query.sqlgen.QueryGenerator.toSqlOn(QueryGenerator.java:277) at com.ibm.team.repository.service.internal.query.sqlgen.QueryGenerator.toSqlQuery(QueryGenerator.java:57) at com.ibm.team.repository.service.internal.query.sqlgen.SqlQueryGenerator.generate(SqlQueryGenerator.java:71) at com.ibm.team.repository.service.internal.ExecuteDataQuery.doServerQueryData(ExecuteDataQuery.java:84) at com.ibm.team.repository.service.internal.ExecuteDataQuery.doQueryData(ExecuteDataQuery.java:122) at com.ibm.team.repository.service.internal.RdbRepositoryDataMediator.queryData(RdbRepositoryDataMediator.java:900) at com.ibm.team.repository.service.internal.AbstractQueryService.performQuery(AbstractQueryService.java:70) at com.ibm.team.repository.service.internal.QueryService.doExecuteItemQuery(QueryService.java:336) at com.ibm.team.repository.service.internal.QueryService.access$0(QueryService.java:331) at com.ibm.team.repository.service.internal.QueryService$1.run(QueryService.java:178) at com.ibm.team.repository.service.internal.QueryService$1.run(QueryService.java:1) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:339) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:263) at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:110) at sun.reflect.GeneratedMethodAccessor248.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy91.runInTransaction(Unknown Source) at com.ibm.team.repository.service.internal.QueryService.executeItemQuery(QueryService.java:167) at com.ibm.team.repository.service.internal.QueryService.queryItems(QueryService.java:477) at sun.reflect.GeneratedMethodAccessor573.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy138.queryItems(Unknown Source) ... Help me ! |
I got it from the post as follows
https://jazz.net/forum/questions/53983/avoid-participant-propagation Thanks ! |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.
Comments
You may want to look at the application server logs like SystemOut.log or catalina.log and ccm.log for errors. Posting errors from the logs might give better clues. If I have to guess, this error can come due to memory issues as well.
Thank you for comment.