
Attachment uploads are currently disabled. This is a temporary situation and will resume as normal in the coming days.
UNSOLVED
C
codemonkey3
9 Posts
0
2481
June 9th, 2015 08:00
Web Services API java.util.ConcurrentModificationException
Hello all, I'm running into an exception periodically using the WATCH4NET web service api. The top level exception reports "can't get valid user", however the cause the of the exception is a current modification on array list sorting. I happens quite often, seems like this area of code is not thread safe. There are multiple threads/users accessing the web services api.
Has anyone seen/experienced this issue? Any feed back would be great!
Version: EMC M&R v6.5u1 - 54340
SEVERE
javax.xml.ws.soap.SOAPFaultException: can't get valid user
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:125)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
at com.sun.proxy.$Proxy83.getDistinctPropertyValues(Unknown Source)
at com.cirba.emcsrm.EmcSrmClient.getDistinctPropertyValues(EmcSrmClient.java:207)
at com.cirba.emcsrm.EmcSrmClient.getPropertyValue(EmcSrmClient.java:466)
at com.cirba.emcsrm.EmcSrmRequestAdministrator.getConfigPropertyValue(EmcSrmRequestAdministrator.java:1221)
at com.cirba.emcsrm.EmcSrmRequestAdministrator.addConfigTableRows(EmcSrmRequestAdministrator.java:969)
at com.cirba.emcsrm.EmcSrmRequestAdministrator.processTableRows(EmcSrmRequestAdministrator.java:926)
at com.cirba.emcsrm.EmcSrmRequestAdministrator.processObject(EmcSrmRequestAdministrator.java:873)
at com.cirba.emcsrm.EmcSrmRequestAdministrator.executeEntity(EmcSrmRequestAdministrator.java:811)
at com.cirba.emcsrm.EmcSrmRequestAdministrator$Entity.run(EmcSrmRequestAdministrator.java:790)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.SecurityException: can't get valid user
at com.watch4net.apg.v2.remote.security.ApplicationUserMapperProvider.getUser(ApplicationUserMapperProvider.java:61)
at com.watch4net.apg.v2.remote.impl.DatabaseAccessor.getUser(DatabaseAccessor.java:110)
at com.watch4net.apg.v2.remote.impl.DatabaseAccessor.getDistinctPropertyValues(DatabaseAccessor.java:168)
at sun.reflect.GeneratedMethodAccessor298.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:258)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)
at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.watch4net.apg.logging.webapp.MDCPopulatingFilter.doFilter(MDCPopulatingFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.watch4net.apg.v2.gui.tomcat.SSLDownloadHeaderFixFilter.doFilter(SourceFile:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
at com.watch4net.apg.v2.gui.tomcat.SessionIdRegenValve.invoke(SourceFile:82)
at com.watch4net.apg.v2.gui.tomcat.LoggingValve.invoke(SourceFile:40)
at com.watch4net.apg.v2.gui.tomcat.EncodingFixValve.invoke(SourceFile:26)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
... 1 more
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList.sort(ArrayList.java:1456)
at java.util.Collections.sort(Collections.java:141)
at com.watch4net.apg.v2.gui.tree.RealNode.sortRealChildren(RealNode.java:192)
at com.watch4net.apg.v2.gui.tree.TreeUtils.sortRealChildren(TreeUtils.java:86)
at com.watch4net.apg.v2.gui.tree.TreeUtils.sortAndResolve(TreeUtils.java:69)
at com.watch4net.apg.v2.gui.user.RootNode.initialize(RootNode.java:193)
at com.watch4net.apg.v2.gui.master.MasterUtils.loadUser(MasterUtils.java:279)
at com.watch4net.apg.v2.gui.master.MasterUtils.loadUser(MasterUtils.java:236)
at com.watch4net.apg.v2.gui.master.MasterUtils.loadUser(MasterUtils.java:190)
at com.watch4net.apg.v2.remote.security.MasterDatabaseAccessorMapper.loadUser(MasterDatabaseAccessorMapper.java:85)
at com.watch4net.apg.v2.remote.security.MasterDatabaseAccessorMapper.getApplicationUser(MasterDatabaseAccessorMapper.java:51)
at com.watch4net.apg.v2.remote.security.ApplicationUserMapperProvider.getUser(ApplicationUserMapperProvider.java:59)
... 46 more
Responses (0)
Solutions (0)
