Remote Assist - An error occurred while saving the changes

rwatt
New Contributor II

We are trying to enable Remote Assist, but it's generating an error. "An error occurred while saving the changes. See JAMFSoftwareServer.log for more details."

Examining the log file only shows the following information:

023-12-04 16:33:05,305 [ERROR] [hread-18473] [HTMLResponse ] - An unhandled exception occurred during a save operation
java.lang.StringIndexOutOfBoundsException: begin 0, end 2, length 0
at java.lang.String.checkBoundsBeginEnd(String.java:3319) ~[?:?]
at java.lang.String.substring(String.java:1874) ~[?:?]
at com.jamfsoftware.jss.objects.computer.ComputerHelper.isSelectedOSOrLater(ComputerHelper.java:5053) ~[classes/:?]
at com.jamfsoftware.jss.service.predefinedprofile.install.PredefinedProfileDao.mapRowIfCorrectBuildNumber(PredefinedProfileDao.java:43) ~[classes/:?]
at com.jamfsoftware.jss.service.predefinedprofile.install.PredefinedProfileDao.lambda$findComputersWithoutProfile$0(PredefinedProfileDao.java:32) ~[classes/:?]
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:94) ~[spring-jdbc-5.3.27.jar:5.3.27]
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:61) ~[spring-jdbc-5.3.27.jar:5.3.27]
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:723) ~[spring-jdbc-5.3.27.jar:5.3.27]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:651) ~[spring-jdbc-5.3.27.jar:5.3.27]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713) ~[spring-jdbc-5.3.27.jar:5.3.27]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:744) ~[spring-jdbc-5.3.27.jar:5.3.27]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:757) ~[spring-jdbc-5.3.27.jar:5.3.27]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:810) ~[spring-jdbc-5.3.27.jar:5.3.27]
at com.jamfsoftware.jss.service.predefinedprofile.install.PredefinedProfileDao.findComputersWithoutProfile(PredefinedProfileDao.java:25) ~[classes/:?]
at com.jamfsoftware.jss.service.predefinedprofile.install.AbstractInstallProfileService.send(AbstractInstallProfileService.java:47) ~[classes/:?]
at com.jamfsoftware.jss.service.predefinedprofile.install.JamfRemoteAssistInstallPppcService.send(JamfRemoteAssistInstallPppcService.java:9) ~[classes/:?]
at com.jamfsoftware.jss.objects.computermanagementframework.clientsecurity.ClientSecurityUpdater.updateAutoInstallJamfRemoteAssistPPPCProfile(ClientSecurityUpdater.java:148) ~[classes/:?]
at com.jamfsoftware.jss.objects.computermanagementframework.clientsecurity.ClientSecurityUpdater.updateFromRequest(ClientSecurityUpdater.java:93) ~[classes/:?]
at com.jamfsoftware.jss.objects.computermanagementframework.clientsecurity.ClientSecurityHTMLResponse.readObjectChangesFromRequest(ClientSecurityHTMLResponse.java:74) ~[classes/:?]
at com.jamfsoftware.jss.frontend.HTMLResponse.performSave(HTMLResponse.java:1599) ~[classes/:?]
at com.jamfsoftware.jss.frontend.HTMLResponse.process(HTMLResponse.java:744) ~[classes/:?]
at com.jamfsoftware.jss.frontend.HTMLController.processRequest(HTMLController.java:181) ~[classes/:?]
at com.jamfsoftware.jss.frontend.HTMLController.doPost(HTMLController.java:113) ~[classes/:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:515) ~[servlet-api.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:583) ~[servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:212) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at com.jamfsoftware.jss.sso.filter.SsoFilter.doFilter(SsoFilter.java:62) ~[classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:352) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:117) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:164) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at com.jamfsoftware.jss.frontend.security.LegacySessionAuthToSpringSecurityAdapterFilter.doFilterInternal(LegacySessionAuthToSpringSecurityAdapterFilter.java:51) ~[classes/:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at com.jamfsoftware.jss.session.security.ManagedSessionAuthFilter.doFilterInternal(ManagedSessionAuthFilter.java:69) ~[classes/:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:225) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:190) ~[spring-security-web-5.8.7.jar:5.8.7]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.27.jar:5.3.27]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.superDoFilter(DefaultDelegatingFilterProxy.java:78) ~[classes/:?]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.doFilter(DefaultDelegatingFilterProxy.java:60) ~[classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at com.jamfsoftware.jss.frontend.JSSAccessFilter.doFilter(JSSAccessFilter.java:73) ~[classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) ~[spring-session-core-2.7.2.jar:2.7.2]
at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) ~[spring-session-core-2.7.2.jar:2.7.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.27.jar:5.3.27]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.superDoFilter(DefaultDelegatingFilterProxy.java:78) ~[classes/:?]
at com.jamfsoftware.jss.security.DefaultDelegatingFilterProxy.doFilter(DefaultDelegatingFilterProxy.java:60) ~[classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at com.jamfsoftware.jss.frontend.JSSLoadingFilter.doFilter(JSSLoadingFilter.java:224) ~[classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:115) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[catalina.jar:8.5.95]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[catalina.jar:8.5.95]
at org.apache.catalina.valves.rewrite.RewriteValve.invoke(RewriteValve.java:561) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[catalina.jar:8.5.95]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[catalina.jar:8.5.95]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[catalina.jar:8.5.95]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[catalina.jar:8.5.95]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:617) ~[tomcat-coyote.jar:8.5.95]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-coyote.jar:8.5.95]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:934) ~[tomcat-coyote.jar:8.5.95]
at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1739) ~[tomcat-coyote.jar:8.5.95]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-coyote.jar:8.5.95]
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1283) ~[tomcat-coyote.jar:8.5.95]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:646) ~[tomcat-coyote.jar:8.5.95]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:622) ~[tomcat-coyote.jar:8.5.95]
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:1008) ~[tomcat-coyote.jar:8.5.95]
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:936) ~[tomcat-coyote.jar:8.5.95]
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127) ~[?:?]
at sun.nio.ch.Invoker$2.run(Invoker.java:219) ~[?:?]
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
3 REPLIES 3

lukasz_slodziak
Contributor II
Contributor II

Hey @rwatt, thanks for the report. I had a chat with the engineering team about the issue you encountered and nothing springs to mind immediately. I think the best path forward would be to submit a ticket with the log and some additional details like steps to recreate this and some screenshots. We should be able to help more with the additional information. Thank you!

jamiesmithJAX
New Contributor III

Did you resolve this?  I am seeing this error when I try to enable it today as well.

I have a case open but so far the suggestion to sign back into Cloud Services in Settings and then trying to turn it back on did not work.