Hi,
In one of my Hippo projects I keep running into the error “Comparison method violates its general contract!” at the end of the command “mvn -P cargo.run” on my local machine.
This is resulting in an error 500 with no repository found at vm//: when I try to visit the site at localhost.
Any idea where to start to look for… what might cause this error and how to solve this issue?
Here is the stack I get:
localhost-startStop-1 [RepositoryServlet.init:229] Error while setting up JCR repository:
javax.jcr.RepositoryException: java.lang.IllegalArgumentException: Comparison method violates its general contract!
at org.hippoecm.repository.LocalHippoRepository.initialize(LocalHippoRepository.java:352)
at org.hippoecm.repository.LocalHippoRepository.create(LocalHippoRepository.java:140)
org.apache.catalina.core.StandardContext loadOnStartup
at org.hippoecm.repository.LocalHippoRepository.create(LocalHippoRepository.java:130)
SEVERE: Servlet [Repository] in web application [/cms] threw load() exception
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
javax.servlet.ServletException: RepositoryException: java.lang.IllegalArgumentException: Comparison method violates its general contract!
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.hippoecm.repository.RepositoryServlet.init(RepositoryServlet.java:230)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1227)
at org.hippoecm.repository.HippoRepositoryFactory.getHippoRepository(HippoRepositoryFactory.java:147)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1140)
at org.hippoecm.repository.RepositoryServlet.init(RepositoryServlet.java:189)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1027)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5038)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1227)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5348)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1140)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1027)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5038)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5348)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.lang.Thread.run(Thread.java:748)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!
org.apache.catalina.startup.HostConfig deployWAR
at java.util.TimSort.mergeLo(TimSort.java:777)
at java.util.TimSort.mergeAt(TimSort.java:514)
Deployment of web application archive /Users/edwinb/Workspaces/my-project/target/tomcat8x/webapps/cms.war has finished in 23,850 ms
at java.util.TimSort.mergeCollapse(TimSort.java:441)
org.apache.catalina.startup.HostConfig deployDirectory
at java.util.TimSort.sort(TimSort.java:245)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1462)
at java.util.Collections.sort(Collections.java:177)
Deploying web application directory /Users/edwinb/Workspaces/my-project/target/tomcat8x/webapps/manager
at org.onehippo.repository.bootstrap.InitializationProcessorImpl.doProcessInitializeItems(InitializationProcessorImpl.java:175)
org.apache.catalina.startup.SetContextPropertiesRule begin
at org.onehippo.repository.bootstrap.InitializationProcessorImpl.processInitializeItems(InitializationProcessorImpl.java:93)
[SetContextPropertiesRule]{Context} Setting property ‘disableURLRewriting’ to ‘true’ did not find a matching property.
at org.hippoecm.repository.LocalHippoRepository.contentBootstrap(LocalHippoRepository.java:386)
at org.hippoecm.repository.LocalHippoRepository.initialize(LocalHippoRepository.java:329)
… 24 more
org.apache.jasper.servlet.TldScanner scanJars
At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
org.apache.catalina.startup.HostConfig deployDirectory
Deployment of web application directory /Users/edwinb/Workspaces/my-project/target/tomcat8x/webapps/manager has finished in 1,094 ms
org.apache.catalina.startup.HostConfig deployDirectory
Deploying web application directory /Users/edwinb/Workspaces/my-project/target/tomcat8x/webapps/host-manager
org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property ‘disableURLRewriting’ to ‘true’ did not find a matching property.
org.apache.jasper.servlet.TldScanner scanJars
At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
org.apache.catalina.startup.HostConfig deployDirectory
Deployment of web application directory /Users/edwinb/Workspaces/my-project/target/tomcat8x/webapps/host-manager has finished in 884 ms
org.apache.coyote.AbstractProtocol start
Starting ProtocolHandler [“http-nio-8080”]
org.apache.coyote.AbstractProtocol start
Starting ProtocolHandler [“http-nio-8443”]
org.apache.coyote.AbstractProtocol start
Starting ProtocolHandler [“ajp-nio-8009”]
org.apache.catalina.startup.Catalina start
Server startup in 58168 ms
Tomcat 8.x started on port [8080]