org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o startTime - Time cannot be in the past.

Sonatype JIRA | Peter Lynch | 5 years ago
  1. 0

    Many simple form validation errors are logged at WARN level. These are not critical errors and should be logged at DEBUG instead since a user receives a suitable error in the UI in these cases. Example: {noformat} jvm 1 | 2011-06-21 15:03:00 WARN [tp-355848587-20] - org.sonatype.nexus.rest.schedules.ScheduledServicePlexusResource - Configuration error! jvm 1 | org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! jvm 1 | Validation errors follows: jvm 1 | o startTime - Time cannot be in the past. jvm 1 | jvm 1 | at org.sonatype.nexus.rest.schedules.AbstractScheduledServicePlexusResource.validateTime(AbstractScheduledServicePlexusResource.java:390) jvm 1 | at org.sonatype.nexus.rest.schedules.AbstractScheduledServicePlexusResource.getModelSchedule(AbstractScheduledServicePlexusResource.java:463) jvm 1 | at org.sonatype.nexus.rest.schedules.ScheduledServicePlexusResource.put(ScheduledServicePlexusResource.java:170) jvm 1 | at org.sonatype.plexus.rest.resource.RestletResource.storeRepresentation(RestletResource.java:316) jvm 1 | at org.sonatype.nexus.rest.NexusRestletResource.storeRepresentation(NexusRestletResource.java:95) jvm 1 | at org.restlet.resource.Resource.put(Resource.java:706) jvm 1 | at org.restlet.resource.Resource.handlePut(Resource.java:603) jvm 1 | at org.restlet.Finder.handle(Finder.java:359) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Router.handle(Router.java:504) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Router.handle(Router.java:504) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.sonatype.plexus.rest.RetargetableRestlet.doHandle(RetargetableRestlet.java:39) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) jvm 1 | at com.noelios.restlet.application.ApplicationHelper.handle(ApplicationHelper.java:112) jvm 1 | at org.restlet.Application.handle(Application.java:341) jvm 1 | at org.restlet.ext.wadl.WadlApplication.handle(WadlApplication.java:705) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Router.handle(Router.java:504) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at org.restlet.Router.handle(Router.java:504) jvm 1 | at org.restlet.Filter.doHandle(Filter.java:150) jvm 1 | at org.restlet.Filter.handle(Filter.java:195) jvm 1 | at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) jvm 1 | at org.restlet.Component.handle(Component.java:673) jvm 1 | at org.restlet.Server.handle(Server.java:331) jvm 1 | at com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68) jvm 1 | at com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147) jvm 1 | at com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881) jvm 1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) jvm 1 | at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) jvm 1 | at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) jvm 1 | at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) jvm 1 | at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) jvm 1 | at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) jvm 1 | at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) jvm 1 | at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) jvm 1 | at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) jvm 1 | at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) jvm 1 | at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) jvm 1 | at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) jvm 1 | at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) jvm 1 | at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) jvm 1 | at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) jvm 1 | at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) jvm 1 | at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) jvm 1 | at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) jvm 1 | at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) jvm 1 | at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) jvm 1 | at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387) jvm 1 | at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) jvm 1 | at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) jvm 1 | at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) jvm 1 | at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) jvm 1 | at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) jvm 1 | at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) jvm 1 | at org.mortbay.jetty.Server.handle(Server.java:326) jvm 1 | at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) jvm 1 | at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) jvm 1 | at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) jvm 1 | at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) jvm 1 | at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) jvm 1 | at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) jvm 1 | at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) jv {noformat}

    Sonatype JIRA | 5 years ago | Peter Lynch
    org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o startTime - Time cannot be in the past.
  2. 0

    Sorry, was still writing the "lyrics" in notepad ;-) Here we go: Hi, we wrote a _nexus unzip plugin_ which extends AbstractShadowRepository. It's a virtual repository and behaves like a filter on a 'real' repository. You see all contents from it's master repository plus the content of zip files (actually non-recursive). We use repository groups as master repository for our unzip repos: {quote} _from conf/nexus.xml_ : <repository> <id>build.snapshots</id> <name>build.snapshots</name> <providerRole>org.sonatype.nexus.proxy.repository.GroupRepository</providerRole> <providerHint>maven2</providerHint> <localStatus>IN_SERVICE</localStatus> <notFoundCacheTTL>15</notFoundCacheTTL> <userManaged>true</userManaged> <exposed>true</exposed> <browseable>true</browseable> <writePolicy>READ_ONLY</writePolicy> <indexable>true</indexable> <localStorage> <provider>file</provider> </localStorage> <externalConfiguration> <memberRepositories> <memberRepository>deploy.milestones</memberRepository> <memberRepository>deploy.snapshots</memberRepository> <memberRepository>build.milestones.proxy</memberRepository> <memberRepository>build.snapshots.proxy</memberRepository> </memberRepositories> </externalConfiguration> </repository> : : <repository> <id>build.snapshots.unzip</id> <name>build.snapshots.unzip</name> <providerRole>com.sap.nexus.internal.plugin.UnzipRepository</providerRole> <providerHint>com.sap.nexus.plugin.DefaultUnzipRepository</providerHint> <localStatus>IN_SERVICE</localStatus> <notFoundCacheActive>true</notFoundCacheActive> <notFoundCacheTTL>15</notFoundCacheTTL> <userManaged>true</userManaged> <exposed>true</exposed> <browseable>true</browseable> <writePolicy>READ_ONLY</writePolicy> <searchable>true</searchable> <localStorage> <provider>file</provider> </localStorage> <externalConfiguration> <masterRepositoryId>build.snapshots</masterRepositoryId> <synchronizeAtStartup>false</synchronizeAtStartup> <useVirtualVersion>true</useVirtualVersion> </externalConfiguration> </repository> : {quote} Seems like during startup group repositories are added after shadow repositories, so, in fact the masterRepositoryId build.snapshots is not registered when the add for the shadow repository is called: {quote} _From logs/nexus.log_ : 2012-02-23 14:54:34 INFO [7-main-thread-1] - org.sonatype.nexus.proxy.registry.DefaultRepositoryRegistry - Added repository ID='build.snapshots.proxy' (contentClass='maven2', mainFacet='org.sonatype.nexus.proxy.maven.MavenProxyRepository') 2012-02-23 14:54:34 INFO [7-main-thread-1] - org.sonatype.nexus.proxy.registry.DefaultRepositoryRegistry - Added repository ID='deploy.releases' (contentClass='maven2', mainFacet='org.sonatype.nexus.proxy.maven.MavenHostedRepository') 2012-02-23 14:54:35 INFO [7-main-thread-1] - org.sonatype.nexus.proxy.registry.DefaultRepositoryRegistry - Added repository ID='build.releases.proxy' (contentClass='maven2', mainFacet='org.sonatype.nexus.proxy.maven.MavenProxyRepository') 2012-02-23 14:54:35 INFO [7-main-thread-1] - org.sonatype.nexus.proxy.registry.DefaultRepositoryRegistry - Added repository ID='3rd-party.releases.manual-uploads.hosted' (contentClass='maven2', mainFacet='org.sonatype.nexus.proxy.maven.MavenHostedRepository') 2012-02-23 14:54:35 ERROR [7-main-thread-1] - org.sonatype.nexus.DefaultNexus - Could not start Nexus, user configuration exception! org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o shadowOf - ResourceStore of type Repository with id='build.snapshots' not found! at org.sonatype.nexus.proxy.repository.AbstractShadowRepositoryConfigurator.doApplyConfiguration(AbstractShadowRepositoryConfigurator.java:67) ~[nexus-proxy-2.0.jar:na] at com.sap.nexus.internal.plugin.UnzipRepositoryConfigurator.doApplyConfiguration(UnzipRepositoryConfigurator.java:19) ~[na:na] at org.sonatype.nexus.proxy.repository.AbstractRepositoryConfigurator.applyConfiguration(AbstractRepositoryConfigurator.java:60) ~[nexus-proxy-2.0.jar:na] at org.sonatype.nexus.configuration.AbstractConfigurable.doConfigure(AbstractConfigurable.java:232) ~[nexus-configuration-2.0.jar:na] at org.sonatype.nexus.configuration.AbstractConfigurable.configure(AbstractConfigurable.java:168) ~[nexus-configuration-2.0.jar:na] at org.sonatype.nexus.configuration.application.runtime.DefaultApplicationRuntimeConfigurationBuilder.createRepositoryFromModel(DefaultApplicationRuntimeConfigurationBuilder.java:48) ~[nexus-app-2.0.jar:na] at org.sonatype.nexus.configuration.application.DefaultNexusConfiguration.instantiateRepository(DefaultNexusConfiguration.java:601) ~[nexus-app-2.0.jar:na] at org.sonatype.nexus.configuration.application.DefaultNexusConfiguration.createRepositories(DefaultNexusConfiguration.java:567) ~[nexus-app-2.0.jar:na] at org.sonatype.nexus.configuration.application.DefaultNexusConfiguration.createInternals(DefaultNexusConfiguration.java:549) ~[nexus-app-2.0.jar:na] at org.sonatype.nexus.DefaultNexus.startService(DefaultNexus.java:452) [nexus-app-2.0.jar:na] at org.sonatype.nexus.DefaultNexus.start(DefaultNexus.java:414) [nexus-app-2.0.jar:na] : {quote} I noticed that the order of these repositories in nexus.xml is ignored which is o.k. The nature of a shadow repo is that the master repo must be accessible at least when I first try to read content (after the nexus startup). * If I register a list of repositories and I know that there are dependencies between these repositories why does nexus not just choose a 'better' order when adding repos from the configuration? ** via something like _shadowRepository.getMasterRepsitory()_ ** Or the infos from nexus.xml (see tag <masterRepositoryId>). * Or if the dependency cannot be retrieved maybe a kind of queue: did not succeed to add this time, maybe once again after all others? Be aware of circles... * Or simply have shadow repositories generally added after the groups. * Or have a certain shadow repository type which is added after the groups * Or first add all repos without dependency checks and in a second loop do check for all that the dependencies are fulfilled. * Or... Actually one cannot choose a group as master for our virtual UnzipRepo via UI - only proxy and hosted repos. This is maybe only because of the fact that the nexus startup's repo adding implementation can't cope with Shadow Repositories having groups as master? This restriction to non-group repos could then be removed, too. regards, Stephan PS: Btw. I wonder why nexus pro meanwhile does not provide some similar unzip functionality anyway: A special URL which allows to get single files out of a zipped file - if one has the privilege to read the zip file itself: http://nexus:8080/nexus/content/groups/repositoryname/xxx/yyy/1.0.1/yyy-1.0.1.zip => the zip file itself http://nexus:8080/nexus/content/unzip/repositoryname/xxx/yyy/1.0.1/yyy-1.0.1.zip => the zip file itself http://nexus:8080/nexus/content/unzip/repositoryname/xxx/yyy/1.0.1/yyy-1.0.1.zip/ => the root dir inside the zip file http://nexus:8080/nexus/content/unzip/repositoryname/xxx/yyy/1.0.1/yyy-1.0.1.zip/content.xml => the file content.xml from inside the zip

    Sonatype JIRA | 5 years ago | Brian Demers
    org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o shadowOf - ResourceStore of type Repository with id='build.snapshots' not found!
  3. 0

    # Create a new role called TEST and add any single role to it, save # Now to the same role, click the add button to add a new role to TEST. The dialog that is shown contains the role TEST and it can be selected. [REGRESSION: 1.7.2 in the old roles interface, the role you were editing was hidden from the list] # After selecting the role TEST ( and even some other roles ) and clicking Ok, try to save the role TEST. There is no error in the UI and all looks fine. # Refresh the roles ui and select TEST role again. This time you see that TEST does not contain the role TEST or any other of the roles you may have added in the last edit/save cycle. In the logs you see the real reason. {noformat} 2011-06-14 11:36:16 WARN [p-1128916529-54] - org.sonatype.security.rest.roles.RolePlexusResource - Configuration error! org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o roles - Role ID 'TEST' cannot contain itself. at org.sonatype.security.realms.tools.DefaultConfigurationManager.updateRole(DefaultConfigurationManager.java:375) at org.sonatype.security.realms.tools.ResourceMergingConfigurationManager.updateRole(ResourceMergingConfigurationManager.java:417) at org.sonatype.security.authorization.xml.SecurityXmlAuthorizationManager.updateRole(SecurityXmlAuthorizationManager.java:196) at org.sonatype.security.rest.roles.RolePlexusResource.put(RolePlexusResource.java:147) at org.sonatype.plexus.rest.resource.RestletResource.storeRepresentation(RestletResource.java:316) at org.sonatype.nexus.rest.NexusRestletResource.storeRepresentation(NexusRestletResource.java:95) at org.restlet.resource.Resource.put(Resource.java:706) at org.restlet.resource.Resource.handlePut(Resource.java:603) at org.restlet.Finder.handle(Finder.java:359) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.sonatype.plexus.rest.RetargetableRestlet.doHandle(RetargetableRestlet.java:39) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) at com.noelios.restlet.application.ApplicationHelper.handle(ApplicationHelper.java:112) at org.restlet.Application.handle(Application.java:341) at org.restlet.ext.wadl.WadlApplication.handle(WadlApplication.java:705) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) at org.restlet.Component.handle(Component.java:673) at org.restlet.Server.handle(Server.java:331) at com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68) at com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147) at com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) {noformat} Expected: The UI to preferably not show the role being edited in the role selection list. This would maintain previous behavior. Or, provide a suitable error message on save when you try to do this and prevent saving a role containing itself.

    Sonatype JIRA | 5 years ago | Peter Lynch
    org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o roles - Role ID 'TEST' cannot contain itself.
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    # Create a new role called TEST and add any single role to it, save # Now to the same role, click the add button to add a new role to TEST. The dialog that is shown contains the role TEST and it can be selected. [REGRESSION: 1.7.2 in the old roles interface, the role you were editing was hidden from the list] # After selecting the role TEST ( and even some other roles ) and clicking Ok, try to save the role TEST. There is no error in the UI and all looks fine. # Refresh the roles ui and select TEST role again. This time you see that TEST does not contain the role TEST or any other of the roles you may have added in the last edit/save cycle. In the logs you see the real reason. {noformat} 2011-06-14 11:36:16 WARN [p-1128916529-54] - org.sonatype.security.rest.roles.RolePlexusResource - Configuration error! org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o roles - Role ID 'TEST' cannot contain itself. at org.sonatype.security.realms.tools.DefaultConfigurationManager.updateRole(DefaultConfigurationManager.java:375) at org.sonatype.security.realms.tools.ResourceMergingConfigurationManager.updateRole(ResourceMergingConfigurationManager.java:417) at org.sonatype.security.authorization.xml.SecurityXmlAuthorizationManager.updateRole(SecurityXmlAuthorizationManager.java:196) at org.sonatype.security.rest.roles.RolePlexusResource.put(RolePlexusResource.java:147) at org.sonatype.plexus.rest.resource.RestletResource.storeRepresentation(RestletResource.java:316) at org.sonatype.nexus.rest.NexusRestletResource.storeRepresentation(NexusRestletResource.java:95) at org.restlet.resource.Resource.put(Resource.java:706) at org.restlet.resource.Resource.handlePut(Resource.java:603) at org.restlet.Finder.handle(Finder.java:359) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.sonatype.plexus.rest.RetargetableRestlet.doHandle(RetargetableRestlet.java:39) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) at com.noelios.restlet.application.ApplicationHelper.handle(ApplicationHelper.java:112) at org.restlet.Application.handle(Application.java:341) at org.restlet.ext.wadl.WadlApplication.handle(WadlApplication.java:705) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) at org.restlet.Component.handle(Component.java:673) at org.restlet.Server.handle(Server.java:331) at com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68) at com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147) at com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) {noformat} Expected: The UI to preferably not show the role being edited in the role selection list. This would maintain previous behavior. Or, provide a suitable error message on save when you try to do this and prevent saving a role containing itself.

    Sonatype JIRA | 5 years ago | Peter Lynch
    org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o roles - Role ID 'TEST' cannot contain itself.
  6. 0

    Right click on "deployment" user, select "set password". Enter a password and click "OK". {quote} 2011-07-01 13:17:54 WARN [tp-474561994-20] - org.sonatype.security.rest.users.UserSetPasswordPlexusResource - Failed to set password! org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o roles - User ID 'deployment' Invalid role id 'deployment' found. at org.sonatype.security.realms.tools.DefaultConfigurationManager.updateUser(DefaultConfigurationManager.java:403) at org.sonatype.security.realms.tools.ResourceMergingConfigurationManager.updateUser(ResourceMergingConfigurationManager.java:435) at org.sonatype.security.usermanagement.xml.SecurityXmlUserManager.changePassword(SecurityXmlUserManager.java:209) at org.sonatype.security.DefaultSecuritySystem.changePassword(DefaultSecuritySystem.java:690) at org.sonatype.security.rest.users.UserSetPasswordPlexusResource.post(UserSetPasswordPlexusResource.java:97) at org.sonatype.plexus.rest.resource.RestletResource.acceptRepresentation(RestletResource.java:272) at org.sonatype.nexus.rest.NexusRestletResource.acceptRepresentation(NexusRestletResource.java:77) at org.restlet.resource.Resource.post(Resource.java:688) at org.restlet.resource.Resource.handlePost(Resource.java:537) at org.restlet.Finder.handle(Finder.java:357) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.sonatype.plexus.rest.RetargetableRestlet.doHandle(RetargetableRestlet.java:39) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) at com.noelios.restlet.application.ApplicationHelper.handle(ApplicationHelper.java:112) at org.restlet.Application.handle(Application.java:341) at org.restlet.ext.wadl.WadlApplication.handle(WadlApplication.java:705) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at org.restlet.Router.handle(Router.java:504) at org.restlet.Filter.doHandle(Filter.java:150) at org.restlet.Filter.handle(Filter.java:195) at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) at org.restlet.Component.handle(Component.java:673) at org.restlet.Server.handle(Server.java:331) at com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68) at com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147) at com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) {quote}

    Sonatype JIRA | 5 years ago | Rich Seddon
    org.sonatype.configuration.validation.InvalidConfigurationException: Configuration is invalid! Validation errors follows: o roles - User ID 'deployment' Invalid role id 'deployment' found.

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.sonatype.configuration.validation.InvalidConfigurationException

      Configuration is invalid! Validation errors follows: o startTime - Time cannot be in the past.

      at org.sonatype.nexus.rest.schedules.AbstractScheduledServicePlexusResource.validateTime()
    2. Nexus Core
      ScheduledServicePlexusResource.put
      1. org.sonatype.nexus.rest.schedules.AbstractScheduledServicePlexusResource.validateTime(AbstractScheduledServicePlexusResource.java:390)
      2. org.sonatype.nexus.rest.schedules.AbstractScheduledServicePlexusResource.getModelSchedule(AbstractScheduledServicePlexusResource.java:463)
      3. org.sonatype.nexus.rest.schedules.ScheduledServicePlexusResource.put(ScheduledServicePlexusResource.java:170)
      3 frames
    3. ${project.groupId}:${project.artifactId}
      RestletResource.storeRepresentation
      1. org.sonatype.plexus.rest.resource.RestletResource.storeRepresentation(RestletResource.java:316)
      1 frame
    4. Nexus Core
      NexusRestletResource.storeRepresentation
      1. org.sonatype.nexus.rest.NexusRestletResource.storeRepresentation(NexusRestletResource.java:95)
      1 frame
    5. org.restlet.resource
      Resource.handlePut
      1. org.restlet.resource.Resource.put(Resource.java:706)
      2. org.restlet.resource.Resource.handlePut(Resource.java:603)
      2 frames
    6. org.restlet
      Filter.doHandle
      1. org.restlet.Finder.handle(Finder.java:359)
      2. org.restlet.Filter.doHandle(Filter.java:150)
      3. org.restlet.Filter.handle(Filter.java:195)
      4. org.restlet.Router.handle(Router.java:504)
      5. org.restlet.Filter.doHandle(Filter.java:150)
      6. org.restlet.Filter.handle(Filter.java:195)
      7. org.restlet.Router.handle(Router.java:504)
      8. org.restlet.Filter.doHandle(Filter.java:150)
      9. org.restlet.Filter.handle(Filter.java:195)
      10. org.restlet.Filter.doHandle(Filter.java:150)
      10 frames
    7. ${project.groupId}:${project.artifactId}
      RetargetableRestlet.doHandle
      1. org.sonatype.plexus.rest.RetargetableRestlet.doHandle(RetargetableRestlet.java:39)
      1 frame
    8. org.restlet
      Filter.doHandle
      1. org.restlet.Filter.handle(Filter.java:195)
      2. org.restlet.Filter.doHandle(Filter.java:150)
      3. org.restlet.Filter.handle(Filter.java:195)
      4. org.restlet.Filter.doHandle(Filter.java:150)
      5. org.restlet.Filter.handle(Filter.java:195)
      6. org.restlet.Filter.doHandle(Filter.java:150)
      6 frames
    9. com.noelios.restlet
      StatusFilter.doHandle
      1. com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130)
      1 frame
    10. org.restlet
      Filter.handle
      1. org.restlet.Filter.handle(Filter.java:195)
      2. org.restlet.Filter.doHandle(Filter.java:150)
      3. org.restlet.Filter.handle(Filter.java:195)
      3 frames
    11. com.noelios.restlet
      ApplicationHelper.handle
      1. com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124)
      2. com.noelios.restlet.application.ApplicationHelper.handle(ApplicationHelper.java:112)
      2 frames
    12. org.restlet
      Application.handle
      1. org.restlet.Application.handle(Application.java:341)
      1 frame
    13. org.restlet.ext
      WadlApplication.handle
      1. org.restlet.ext.wadl.WadlApplication.handle(WadlApplication.java:705)
      1 frame
    14. org.restlet
      Filter.handle
      1. org.restlet.Filter.doHandle(Filter.java:150)
      2. org.restlet.Filter.handle(Filter.java:195)
      3. org.restlet.Router.handle(Router.java:504)
      4. org.restlet.Filter.doHandle(Filter.java:150)
      5. org.restlet.Filter.handle(Filter.java:195)
      6. org.restlet.Router.handle(Router.java:504)
      7. org.restlet.Filter.doHandle(Filter.java:150)
      8. org.restlet.Filter.handle(Filter.java:195)
      8 frames
    15. com.noelios.restlet
      ChainHelper.handle
      1. com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124)
      1 frame
    16. org.restlet
      Server.handle
      1. org.restlet.Component.handle(Component.java:673)
      2. org.restlet.Server.handle(Server.java:331)
      2 frames
    17. com.noelios.restlet
      ServerServlet.service
      1. com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68)
      2. com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147)
      3. com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881)
      3 frames
    18. JavaServlet
      HttpServlet.service
      1. javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      1 frame
    19. Jetty Server
      ServletHandler$CachedChain.doFilter
      1. org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
      2. org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
      2 frames
    20. Shiro
      OncePerRequestFilter.doFilter
      1. org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
      2. org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
      3. org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
      4. org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
      5. org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
      6. org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
      7. org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
      8. org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
      9. org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
      10. org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359)
      11. org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275)
      12. org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
      13. org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
      14. org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344)
      15. org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272)
      16. org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
      16 frames
    21. Jetty Server
      SelectChannelEndPoint.run
      1. org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
      2. org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
      3. org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      4. org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      5. org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
      6. org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
      7. org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
      8. org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      9. org.mortbay.jetty.Server.handle(Server.java:326)
      10. org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
      11. org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
      12. org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
      13. org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
      14. org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      15. org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
      15 frames
    22. Jetty Util
      QueuedThreadPool$PoolThread.run
      1. org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
      1 frame