[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 ! |
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.