It's all about the answers!

Ask a question

RTC 4.0 corrupt user db? Internal error "fetching children"!


Thomas Birkl (324) | asked Dec 18 '12, 7:05 a.m.

Hi there,

since two days my 10-user RTC installation seems to be corrupt.
History:
I added two new users last Friday. This Monday I assigned a Developer License
to both of them and added them to one existing project.
I also wanted to remove some superfluous users from RTC and archived them.

Since then I'm having massive problems. I cannot modify the teamlist anymore.
Actually I cannot change anything of any project on the server (no matter what uid or after restarting).
I cannot expand project properties form the Eclipse client anymore or modify work items.
Usually I'm getting "Missing required license". But licenses seem to be available.
I even added the license key again.
Sometimes I even cannot get user properties anymore (no uid display, no licenes, no user picture, ...)

I tried to restore archived users, but the page just flickers once and nothing changes.
I'm wondering why my archived user is still listed as project member. However, when I try to remove
him, I get the error mentioned above.

When I try to expand a project from the Eclipse client I get the following error:
An internal error occurred during: "Fetching children".
Array index out of range: 0

I have the impressions that some kind of corruption happened when I archived users.
My problem is not how can I get out off this corruption?
Does it make sense to upgrade to RTC 4.0.1? I'm running 4.0 on SLES11.

Any advice would be appreciated
thanks!


The stack below I guess came up for one of my problems above. Unfortunately I'm not able to reproduce it right now.

An unspecified server error has occurred.hide details
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.RestCommunicationException
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.createExceptionFromResponse(CrossServerHttpClient.java:544)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.checkResponse(CrossServerHttpClient.java:467)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.send(CrossServerHttpClient.java:441)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.send(CrossServerHttpClient.java:335)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.send(CrossServerHttpClient.java:453)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClient.send(CrossServerHttpClient.java:304)
com.ibm.team.repository.service.compatibility.util.http.CrossServerHttpClientService.sendAndDeserialize(CrossServerHttpClientService.java:78)
sun.reflect.GeneratedMethodAccessor636.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy695.sendAndDeserialize(Unknown Source)
com.ibm.team.repository.service.compatibility.AbstractCompatibilityService.send(AbstractCompatibilityService.java:48)
com.ibm.team.repository.service.compatibility.user.registry.CompatibilityExternalUserRegistryService.isExternalRegistryWriteable(CompatibilityExternalUserRegistryService.java:227)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy723.isExternalRegistryWriteable(Unknown Source)
com.ibm.team.repository.service.jts.internal.userregistry.ExternalUserRegistryServiceDelegator.isExternalRegistryWriteable(ExternalUserRegistryServiceDelegator.java:181)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy1054.isExternalRegistryWriteable(Unknown Source)
com.ibm.team.repository.service.internal.AdminRestService.getUserRegistryInfo(AdminRestService.java:595)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy1074.getUserRegistryInfo(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:531)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2058)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1878)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1754)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:133)
com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:154)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:336)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:736)

Accepted answer


permanent link
Karl Weinert (2.0k52736) | answered Dec 19 '12, 10:52 a.m.
JAZZ DEVELOPER
The ccm_user is a functional user that gets created automatically during setup and should not be archived.
The warning when viewing their account is normal and will show up for any of the functional users such as the jts_user and lpa_user.
Thomas Birkl selected this answer as the correct answer

2 other answers



permanent link
Thomas Birkl (324) | answered Dec 19 '12, 5:18 a.m.

Ok, this is weird.
After two days having the problem, it's gone now!?

I'm still the opinion, that the user DB was somehow corrupt.
E.g. I did not see the the images stored with each user since the last days.
I did not see newly created users. I did not see in the team list that a user was archived (which I see today again). I was also not able to restore archived users.

What did I do? I moved myself (temporary) into the JazzAdmins role (which I never had before).
However, this did not make a difference. I removed the role again and now everything works fine again.
Maybe some coorruption was fixed by this action???

Meanwhile I could successfully restore archived users, change project teams or change work items.
Strange....


permanent link
Thomas Birkl (324) | answered Dec 19 '12, 9:01 a.m.

UPDATE:It seems I've found the reason

There is one active user and if I click on that user I see the following warning on the top:
This user was not found in the directory service. This user will not be able to login unless they have an account in the directory service.ID CRJAZ1532I
If I archive this user then my problems start and I cannot change project settings or work items anymore.
Everything fails with a message "Missing required license".
Obviously this is causing some kind of corruption.
Invalid user

Your answer


Register or to post 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.