Default role loading failure after upgrade to version 3.84.0

We are getting the following error after upgrading Nexus from version 3.83.1 to version 3.84.0:

(accessible by logging in as an admin user → Settings → System → Capabilities → Default Role)

image

If you scroll down is there a cause associated with the exception describing what the violated constraint is?

Unfortunately, no.

Here is the full error stacktrace:

javax.validation.ConstraintViolationException: Validation failed; 1 constraints violated

javax.validation.ConstraintViolationException: Validation failed; 1 constraints violated
	at org.sonatype.nexus.validation.ConstraintViolations.maybePropagate(ConstraintViolations.java:67)
	at org.sonatype.nexus.capability.CapabilityDescriptorSupport.validate(CapabilityDescriptorSupport.java:171)
	at org.sonatype.nexus.capability.CapabilityDescriptorSupport.validateConfig(CapabilityDescriptorSupport.java:156)
	at org.sonatype.nexus.capability.CapabilityDescriptorSupport.validate(CapabilityDescriptorSupport.java:126)
	at org.sonatype.nexus.internal.capability.DefaultCapabilityRegistry.load(DefaultCapabilityRegistry.java:553)
	at org.sonatype.nexus.internal.capability.DefaultCapabilityRegistry.doStart(DefaultCapabilityRegistry.java:133)
	at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.start_aroundBody0(StateGuardLifecycleSupport.java:69)
	at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport$AjcClosure1.run(StateGuardLifecycleSupport.java:1)
	at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:164)
	at org.sonatype.nexus.common.stateguard.TransitionsAspect.lambda$0(TransitionsAspect.java:57)
	at org.sonatype.nexus.common.stateguard.StateGuard$TransitionImpl.run(StateGuard.java:217)
	at org.sonatype.nexus.common.stateguard.TransitionsAspect.aroundTransitionsMethod(TransitionsAspect.java:55)
	at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.start(StateGuardLifecycleSupport.java:68)
	at org.sonatype.nexus.extender.NexusLifecycleManager.startComponent(NexusLifecycleManager.java:154)
	at org.sonatype.nexus.extender.NexusLifecycleManager.to(NexusLifecycleManager.java:110)
	at org.sonatype.nexus.extender.internal.NexusServletContextListener.moveToPhase(NexusServletContextListener.java:113)
	at org.sonatype.nexus.extender.internal.NexusServletContextListener.contextInitialized(NexusServletContextListener.java:69)
	at org.eclipse.jetty.ee8.nested.ContextHandler.callContextInitialized(ContextHandler.java:786)
	at org.eclipse.jetty.ee8.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:516)
	at org.eclipse.jetty.ee8.nested.ContextHandler.contextInitialized(ContextHandler.java:735)
	at org.eclipse.jetty.ee8.servlet.ServletHandler.initialize(ServletHandler.java:629)
	at org.eclipse.jetty.ee8.servlet.ServletContextHandler.startContext(ServletContextHandler.java:311)
	at org.eclipse.jetty.ee8.webapp.WebAppContext.startWebapp(WebAppContext.java:1195)
	at org.eclipse.jetty.ee8.webapp.WebAppContext.startContext(WebAppContext.java:1165)
	at org.eclipse.jetty.ee8.nested.ContextHandler.doStartInContext(ContextHandler.java:626)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1450)
	at org.eclipse.jetty.ee8.nested.ContextHandler.doStart(ContextHandler.java:615)
	at org.eclipse.jetty.ee8.servlet.ServletContextHandler.doStart(ServletContextHandler.java:243)
	at org.eclipse.jetty.ee8.webapp.WebAppContext.doStart(WebAppContext.java:502)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
	at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491)
	at org.eclipse.jetty.server.handler.ContextHandler.lambda$doStart$0(ContextHandler.java:757)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1456)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:757)
	at org.eclipse.jetty.ee8.nested.ContextHandler$CoreContextHandler.doStart(ContextHandler.java:2290)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120)
	at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491)
	at io.dropwizard.metrics.jetty12.AbstractInstrumentedHandler.doStart(AbstractInstrumentedHandler.java:149)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:641)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120)
	at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491)
	at org.eclipse.jetty.server.Server.doStart(Server.java:582)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at org.sonatype.nexus.bootstrap.entrypoint.jetty.JettyServer$JettyMainThread.run(JettyServer.java:370)

Checking the code there should be a logged warning from ConstraintViolations in the nexus.log when this occurs that should have specifics about what the violation was.

I tried creating, enabling/disabling this capability without errors, the logged message may confirm it but given the only configuration option is the role name perhaps it was removed? If so maybe temporarily re-create a role with the same name which would allow you to update/remove the capability.

@mpiggott
Thanks!
Deleting and re-creating the Default Role capability resolved the issue. :slight_smile:
The exception is no longer encountered.