Search code examples
javagoogle-app-enginerestrestlet

java.lang.VerifyError: Bad type on operand stack


I'm not entirely sure what is this Restlet error:

[INFO] java.lang.VerifyError: Bad type on operand stack
[INFO] Exception Details:
[INFO]   Location:
[INFO]     org/restlet/ext/servlet/internal/ServletWarClient.<init>(Lorg/restlet/Context;Ljavax/servlet/ServletContext;)V @95: putfield
[INFO]   Reason:
[INFO]     Type 'org/restlet/ext/servlet/internal/ServletWarClientHelper' (current frame, stack[1]) is not assignable to 'org/restlet/engine/ClientHelper'
[INFO]   Current Frame:
[INFO]     bci: @95
[INFO]     flags: { }
[INFO]     locals: { 'org/restlet/ext/servlet/internal/ServletWarClient', 'org/restlet/Context', 'javax/servlet/ServletContext' }
[INFO]     stack: { 'org/restlet/ext/servlet/internal/ServletWarClient', 'org/restlet/ext/servlet/internal/ServletWarClientHelper' }
[INFO]   Bytecode:
[INFO]     0000000: 2a2b 0312 0b12 0d12 0fb8 0015 b600 1b01
[INFO]     0000010: c000 1d03 121f 120d 120f b800 15b7 0022
[INFO]     0000020: 2a03 120d 120d 120f b800 15b6 0026 0312
[INFO]     0000030: 2812 0d12 0fb8 0015 b200 2e03 1230 120d
[INFO]     0000040: 120f b800 15b9 0034 0200 572a bb00 3659
[INFO]     0000050: 2a2c 0312 3812 0d12 0fb8 0015 b700 3bb5
[INFO]     0000060: 003d b1                                
[INFO] 
[INFO]  at org.restlet.ext.servlet.ServerServlet.createWarClient(ServerServlet.java:756)
[INFO]  at org.restlet.ext.servlet.ServerServlet.createComponent(ServerServlet.java:429)
[INFO]  at org.restlet.ext.servlet.ServerServlet.getComponent(ServerServlet.java:840)
[INFO]  at org.restlet.ext.servlet.ServerServlet.createServer(ServerServlet.java:521)
[INFO]  at org.restlet.ext.servlet.ServerServlet.getServer(ServerServlet.java:943)
[INFO]  at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1112)
[INFO]  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
[INFO]  at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
[INFO]  at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[INFO]  at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[INFO]  at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[INFO]  at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[INFO]  at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[INFO]  at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[INFO]  at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:368)
[INFO]  at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:351)
[INFO]  at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[INFO]  at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
[INFO]  at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
[INFO]  at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
[INFO]  at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
[INFO]  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
[INFO]  at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:97)
[INFO]  at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[INFO]  at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:485)
[INFO]  at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[INFO]  at org.mortbay.jetty.Server.handle(Server.java:326)
[INFO]  at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
[INFO]  at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
[INFO]  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
[INFO]  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
[INFO]  at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
[INFO]  at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
[INFO]  at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
[INFO] 

The complete source I just copied from: https://github.com/xylo04/HelloGaeRestletGradle


Solution

  • The solution was to use org.restlet.gae

        <dependency>
            <groupId>org.restlet.gae</groupId>
            <artifactId>org.restlet</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.restlet.gae</groupId>
            <artifactId>org.restlet.ext.servlet</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.restlet.gae</groupId>
            <artifactId>org.restlet.ext.jackson</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>