RTC CLI exception in accept command for a big list of change sets
Dear all.
I'm suffering a Java exception in the accept command for a list of 63 change sets
CLI version:
Build Id: RTC-CLIENT-I20161103-1715
Version: 6.0.3
No info in the log rather the stack trace
Any idea ?
this is the command:
lscm accept -r Production -c -t Sygma-Release _eODG0E-yEeiEXK1G2RoYqA _c69W0E98EeiEXK1G2RoYqA _eGFb8FgpEei9B5S9SlbO6Q _sZgTsFgoEei9B5S9SlbO6Q _xg5rUFgoEei9B5S9SlbO6Q _9rXTgFgcEei9B5S9SlbO6Q _sInU0FgkEei9B5S9SlbO6Q _FiPC8Fg6Eei9B5S9SlbO6Q _SjdmIFhREei9B5S9SlbO6Q _FiPC8Fg6Eei9B5S9SlbO6Q _SjdmIFhREei9B5S9SlbO6Q _KDvyMFgtEei9B5S9SlbO6Q _LRqX4FTtEei9B5S9SlbO6Q _l6C70Fm7Eei9B5S9SlbO6Q _7W8BwFnoEei9B5S9SlbO6Q _xT8sEFqnEeiVJ75XolWlVQ _P7hZsFqlEeiVJ75XolWlVQ _Zba2cF_mEei8Jp53Z7hRQg _IvsqkF_nEei8Jp53Z7hRQg _bQsQQFqnEeiVJ75XolWlVQ _000bQGAMEei8Jp53Z7hRQg _HlTgMFqmEeiVJ75XolWlVQ _r51-MFqDEeiVJ75XolWlVQ _V9HKYF5jEeiVJ75XolWlVQ _rK8WwF_nEei8Jp53Z7hRQg _8PPlTl_nEei8Jp53Z7hRQg _ai4hEGAjEei8Jp53Z7hRQg _Dt3rsFqSEeiVJ75XolWlVQ _DB1FEFqSEeiVJ75XolWlVQ _xpIzIGJhEei8Jp53Z7hRQg _Dq4CkGMYEei8Jp53Z7hRQg _tRw2EGMYEei8Jp53Z7hRQg _XvnzYF5vEeiVJ75XolWlVQ _8SI2oF6GEeiVJ75XolWlVQ _FA-VYF6PEeiVJ75XolWlVQ _2YRqkF8mEeiVJ75XolWlVQ _2YklgF8mEeiVJ75XolWlVQ _1Y54QF8mEeiVJ75XolWlVQ _EH6AgF9tEeiVJ75XolWlVQ _8hdNkFm7Eei9B5S9SlbO6Q _f_OjoGMFEei8Jp53Z7hRQg _uL7NMFqREeiVJ75XolWlVQ _7DowIGKMEei8Jp53Z7hRQg _t5ABIF52EeiVJ75XolWlVQ _ufPhwF52EeiVJ75XolWlVQ _xcOwgWPKEei8Jp53Z7hRQg _vFxWQF52EeiVJ75XolWlVQ _vmp1wF52EeiVJ75XolWlVQ _VVt8UGPLEei8Jp53Z7hRQg _7qVqEF52EeiVJ75XolWlVQ _5odR4F52EeiVJ75XolWlVQ _6nGEYF52EeiVJ75XolWlVQ _58irg152EeiVJ75XolWlVQ _8UI1AF52EeiVJ75XolWlVQ _816saV52EeiVJ75XolWlVQ _CCuIcF53EeiVJ75XolWlVQ _5HItgF52EeiVJ75XolWlVQ _4QFwwF52EeiVJ75XolWlVQ _D2nH8F53EeiVJ75XolWlVQ _65PkUF52EeiVJ75XolWlVQ _7LZEQF52EeiVJ75XolWlVQ _EVZ8wF53EeiVJ75XolWlVQ _OKv0wF54EeiVJ75XolWlVQ _GjH5QFncEei9B5S9SlbO6Q _Clh6kF53EeiVJ75XolWlVQ
and this is the exception
Unexpected exception
com.ibm.team.rtc.cli.infrastructure.internal.core.CLIClientException: Internal error
at com.ibm.team.filesystem.cli.core.util.StatusHelper.toCLIClientException(StatusHelper.java:795)
at com.ibm.team.filesystem.cli.core.AbstractSubcommand.run(AbstractSubcommand.java:53)
at com.ibm.team.rtc.cli.infrastructure.internal.core.SubcommandLauncher.run(SubcommandLauncher.java:601)
at com.ibm.team.rtc.cli.infrastructure.internal.core.SubcommandLauncher.doStart(SubcommandLauncher.java:370)
at com.ibm.team.rtc.cli.infrastructure.internal.core.SubcommandLauncher.run(SubcommandLauncher.java:130)
at com.ibm.team.rtc.cli.infrastructure.internal.Application.start(Application.java:41)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
Caused by: java.lang.IllegalArgumentException
at com.ibm.team.scm.client.internal.WorkspaceConnection.checkForDuplicates(WorkspaceConnection.java:2377)
at com.ibm.team.scm.client.internal.WorkspaceConnection.accept(WorkspaceConnection.java:1944)
at com.ibm.team.scm.client.internal.WorkspaceConnection.accept(WorkspaceConnection.java:1929)
at com.ibm.team.filesystem.client.internal.operations.WorkspaceUpdateOperation.performAcceptRequest(WorkspaceUpdateOperation.java:2162)
at com.ibm.team.filesystem.client.internal.operations.WorkspaceUpdateOperation.doAccept(WorkspaceUpdateOperation.java:1219)
at com.ibm.team.filesystem.client.internal.operations.WorkspaceUpdateOperation.access$0(WorkspaceUpdateOperation.java:1192)
at com.ibm.team.filesystem.client.internal.operations.WorkspaceUpdateOperation$1.run(WorkspaceUpdateOperation.java:1091)
at com.ibm.team.filesystem.rcp.core.internal.resources.ResourceSharingManager$1.run(ResourceSharingManager.java:82)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at com.ibm.team.filesystem.rcp.core.internal.resources.ResourceSharingManager.runWithinFileSystemLock(ResourceSharingManager.java:94)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.runWithinFileSystemLock(FileSystemOperation.java:174)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.runWithinFileSystemLock(FileSystemOperation.java:154)
at com.ibm.team.filesystem.client.internal.operations.WorkspaceUpdateOperation.execute(WorkspaceUpdateOperation.java:1102)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.run(FileSystemOperation.java:99)
at com.ibm.team.filesystem.client.internal.rest.util.WorkspaceUpdateUtil.workspaceUpdate(WorkspaceUpdateUtil.java:165)
at com.ibm.team.filesystem.rcp.core.internal.rest.FilesystemRestClient.postWorkspaceUpdate(FilesystemRestClient.java:965)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.ibm.team.filesystem.client.daemon.JSONHandler.handle(JSONHandler.java:322)
at com.ibm.team.filesystem.client.internal.http.HttpConnection.readNextRequest(HttpConnection.java:628)
at com.ibm.team.filesystem.client.internal.http.HttpConnection$1.run(HttpConnection.java:470)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(MarshallerUtil.java:369)
at com.ibm.team.repository.common.serialize.internal.JSONDeserializer.deserializeErrorObj(JSONDeserializer.java:957)
at com.ibm.team.filesystem.client.internal.marshalling.ExceptionHandlingJSONDeserializer.deserializeErrorObj(ExceptionHandlingJSONDeserializer.java:128)
at com.ibm.team.repository.common.serialize.internal.JSONDeserializer.deserializeException(JSONDeserializer.java:933)
at com.ibm.team.filesystem.client.internal.marshalling.EObjectJSONDeserializer.deserializeError(EObjectJSONDeserializer.java:71)
at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.executeRequest(RestInvocationHandler.java:267)
at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.executeAndReturnResult(RestInvocationHandler.java:221)
at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.invokeInternal(RestInvocationHandler.java:368)
at com.ibm.team.filesystem.client.restproxy.RestInvocationHandler.invoke(RestInvocationHandler.java:311)
at com.sun.proxy.$Proxy0.postWorkspaceUpdate(Unknown Source)
at com.ibm.team.filesystem.cli.client.internal.subcommands.AcceptCmd.run(AcceptCmd.java:154)
at com.ibm.team.filesystem.cli.core.AbstractSubcommand.run(AbstractSubcommand.java:51)
... 17 more
Scm:
An error has occurred. See the log file
2 answers
Thanks for the answer Piotr
I did not try yet piping with sort | uniq, in that way it works.
Is a really smart way of detecting duplicates raising an exception !!
I'll give feedback to IBM on the ticket i have already open with them.
Comments
Raising an exception is a pretty standard way to react to invalid input. Maybe the exception should be handled by displaying a more user-friendly error message.
as you said it should be handle and catch, anyway i believe duplicates should be allowed, or at least is how i would do it... as with big inputs like this that contains dependent change sets, it will be pretty usual to see duplicates.