Skip to content

java.lang.VerifyError: Bad type on operand stack #24

@coffeeaddict

Description

@coffeeaddict

When trying to use this in a ruby-verticle like so:

require 'vertx'

psql_config = {
  address: "db-psql",
  connection: "PostgreSQL",
  maxPoolSize: 5,
  username: "recipebook",
  password: "$uper$ecret",
  database: "recipebooks",
}

Vertx.deploy_module("io.vertx~mod-mysql-postgresql~0.2.0", psql_config)
Vertx.deploy_verticle("server.rb", {}, 4)

where server.rb looks like:

require 'vertx'
require 'pp'

include Vertx

rm = RouteMatcher.new

rm.get('/recipes') do |req|
  EventBus.send("db-psql", { action: :select, table: :recipes }.to_json) do |reply|
    Vertx.logger.info reply.pretty_inspect
    req.response.end(reply.body.to_json)
  end
end

rm.get('/recipes/:id') do |req|
  req.response.status_code(404).end({ error: 'no such book'}.to_json);
end

HttpServer.new.request_handler(rm).listen(8080)

it throws this error:

Unexpected exception in Ruby verticle 
java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    io/vertx/asyncsql/Starter.reportFailure(Ljava/lang/Throwable;)V @2: invokestatic
  Reason:
    Type 'io/vertx/asyncsql/Starter' (current frame, stack[0]) is not assignable to 'org/vertx/scala/core/VertxExecutionContext'
  Current Frame:
    bci: @2
    flags: { }
    locals: { 'io/vertx/asyncsql/Starter', 'java/lang/Throwable' }
    stack: { 'io/vertx/asyncsql/Starter', 'java/lang/Throwable' }
  Bytecode:
    0000000: 2a2b b800 72b1                         

    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)
    at java.lang.Class.getConstructor0(Class.java:2803)
    at java.lang.Class.newInstance(Class.java:345)
    at org.vertx.scala.lang.ClassLoaders$$anonfun$newInstance$1.apply(ClassLoaders.scala:38)
    at scala.util.Try$.apply(Try.scala:161)
    at org.vertx.scala.lang.ClassLoaders$.newInstance(ClassLoaders.scala:36)
    at org.vertx.scala.platform.impl.ScalaVerticleFactory.createVerticle(ScalaVerticleFactory.scala:69)
    at org.vertx.java.platform.impl.DefaultPlatformManager$18.run(DefaultPlatformManager.java:1269)
    at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:170)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:348)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
    at java.lang.Thread.run(Thread.java:744)

What is wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions