vertx-sync
vertx-sync copied to clipboard
java.lang.IllegalArgumentException: Class name mismatch: io.vertx.ext.sync.Sync
Hi,
I get an unexpected exception, if i use fiber handler in event bus and awaitResult().
getEventBus().consumer(eventName, Sync.fiberHandler((Message<ApiRequest> event) -> {
//...
//execute sql query to list rows of table
List<JsonObject> rows = database.listRows("SELECT * FROM `" + database.getTableName("group_members") + "` WHERE `userID` = '" + userID + "'; ");//this line throws the exception
//...
}
method Database::listRows():
@Override
public List<JsonObject> listRows (String sql) {
ResultSet rs = awaitResult(h -> this.connection.query(sql, h));
//get rows as list
List<JsonObject> rows = rs.getRows();
return rows;
}
Full exception:
Exception in Fiber "fiber-vertx.contextScheduler-10000002" java.lang.IllegalArgumentException: Class name mismatch: io.vertx.ext.sync.Sync, com.jukusoft.erp.core.module.base.service.menu.MenuController$$Lambda$217/1189700020
at co.paralleluniverse.common.util.ExtendedStackTraceElement.<init>(ExtendedStackTraceElement.java:50)
at co.paralleluniverse.common.util.ExtendedStackTraceElement.<init>(ExtendedStackTraceElement.java:39)
at co.paralleluniverse.common.util.ExtendedStackTrace$BasicExtendedStackTraceElement.<init>(ExtendedStackTrace.java:178)
at co.paralleluniverse.common.util.ExtendedStackTraceClassContext.get(ExtendedStackTraceClassContext.java:54)
at co.paralleluniverse.fibers.Fiber.checkInstrumentation(Fiber.java:1634)
at co.paralleluniverse.fibers.Fiber.checkInstrumentation(Fiber.java:1626)
at co.paralleluniverse.fibers.Fiber.verifySuspend(Fiber.java:1599)
at co.paralleluniverse.fibers.Stack.popMethod(Stack.java:153)
at io.vertx.ext.sync.Sync.awaitResult(Sync.java:49)
at com.jukusoft.erp.lib.database.MySQLDatabase.listRows(MySQLDatabase.java:291)
at com.jukusoft.erp.lib.permission.PermissionService.listGroupIDsOfUser(PermissionService.java:139)
at com.jukusoft.erp.lib.permission.PermissionService.listUserPermissionStates(PermissionService.java:168)
at com.jukusoft.erp.lib.permission.PermissionService.listUserPermissions(PermissionService.java:187)
at com.jukusoft.erp.lib.context.AppContextImpl.checkPermission(AppContextImpl.java:144)
at com.jukusoft.erp.core.module.base.service.menu.MenuController.checkPermissions(MenuController.java:184)
at com.jukusoft.erp.core.module.base.service.menu.MenuController.addSubMenusToJson(MenuController.java:135)
at com.jukusoft.erp.core.module.base.service.menu.MenuController.lambda$listMenus$0(MenuController.java:97)
at io.vertx.ext.sync.Sync.lambda$null$19031fba$1(Sync.java:148)
at co.paralleluniverse.strands.SuspendableUtils$VoidSuspendableCallable.run(SuspendableUtils.java:44)
at co.paralleluniverse.strands.SuspendableUtils$VoidSuspendableCallable.run(SuspendableUtils.java:32)
at co.paralleluniverse.fibers.Fiber.run(Fiber.java:1027)
java.lang.IllegalArgumentException
at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
at co.paralleluniverse.common.reflection.ASMUtil.accept(ASMUtil.java:63)
at co.paralleluniverse.common.reflection.ASMUtil.accept(ASMUtil.java:80)
at co.paralleluniverse.common.util.ExtendedStackTrace.getMethod(ExtendedStackTrace.java:96)
at co.paralleluniverse.common.util.ExtendedStackTrace$BasicExtendedStackTraceElement.getMethod(ExtendedStackTrace.java:188)
at co.paralleluniverse.fibers.instrument.SuspendableHelper.lookupMethod(SuspendableHelper.java:50)
at co.paralleluniverse.fibers.Fiber.printTraceLine(Fiber.java:1699)
at co.paralleluniverse.fibers.Fiber.checkInstrumentation(Fiber.java:1642)
at co.paralleluniverse.fibers.Fiber.access$100(Fiber.java:79)
at co.paralleluniverse.fibers.Fiber$1.uncaughtException(Fiber.java:119)
at co.paralleluniverse.fibers.Fiber.onException(Fiber.java:1115)
at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788)
at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:95)
at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:86)
at io.vertx.ext.sync.Sync.lambda$getContextScheduler$2(Sync.java:198)
at co.paralleluniverse.fibers.FiberExecutorScheduler.execute(FiberExecutorScheduler.java:77)
at co.paralleluniverse.fibers.RunnableFiberTask.submit(RunnableFiberTask.java:289)
at co.paralleluniverse.fibers.Fiber.start(Fiber.java:1058)
at io.vertx.ext.sync.Sync.lambda$fiberHandler$0(Sync.java:148)
at com.jukusoft.data.repository.MenuRepository.lambda$listMenusByMenuID$0(MenuRepository.java:55)
at com.jukusoft.erp.lib.database.MySQLDatabase.lambda$listRows$5(MySQLDatabase.java:239)
at io.vertx.core.impl.FutureImpl.setHandler(FutureImpl.java:81)
at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:294)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:344)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.IllegalArgumentException
at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
at co.paralleluniverse.common.reflection.ASMUtil.accept(ASMUtil.java:63)
at co.paralleluniverse.common.reflection.ASMUtil.accept(ASMUtil.java:80)
at co.paralleluniverse.common.util.ExtendedStackTrace.getMethod(ExtendedStackTrace.java:96)
at co.paralleluniverse.common.util.ExtendedStackTrace$BasicExtendedStackTraceElement.getMethod(ExtendedStackTrace.java:188)
at co.paralleluniverse.fibers.instrument.SuspendableHelper.lookupMethod(SuspendableHelper.java:50)
at co.paralleluniverse.fibers.Fiber.checkInstrumentation(Fiber.java:1650)
at co.paralleluniverse.fibers.Fiber.access$100(Fiber.java:79)
at co.paralleluniverse.fibers.Fiber$1.uncaughtException(Fiber.java:119)
at co.paralleluniverse.fibers.Fiber.onException(Fiber.java:1115)
at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788)
at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:95)
at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:86)
at io.vertx.ext.sync.Sync.lambda$getContextScheduler$2(Sync.java:198)
at co.paralleluniverse.fibers.FiberExecutorScheduler.execute(FiberExecutorScheduler.java:77)
at co.paralleluniverse.fibers.RunnableFiberTask.submit(RunnableFiberTask.java:289)
at co.paralleluniverse.fibers.Fiber.start(Fiber.java:1058)
at io.vertx.ext.sync.Sync.lambda$fiberHandler$0(Sync.java:148)
at com.jukusoft.data.repository.MenuRepository.lambda$listMenusByMenuID$0(MenuRepository.java:55)
at com.jukusoft.erp.lib.database.MySQLDatabase.lambda$listRows$5(MySQLDatabase.java:239)
at io.vertx.core.impl.FutureImpl.setHandler(FutureImpl.java:81)
at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:294)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:344)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.base/java.lang.Thread.run(Thread.java:844)
WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack:
at co.paralleluniverse.common.util.ExtendedStackTraceElement.co.paralleluniverse.common.util.ExtendedStackTraceElement(java.lang.String,java.lang.String,java.lang.String,int,java.lang.Class,java.lang.reflect.Member,int) (ExtendedStackTraceElement.java:50) **
at co.paralleluniverse.common.util.ExtendedStackTraceElement.<init> (ExtendedStackTraceElement.java:39) **
at co.paralleluniverse.common.util.ExtendedStackTrace$BasicExtendedStackTraceElement.<init> (ExtendedStackTrace.java:178) **
at co.paralleluniverse.common.util.ExtendedStackTraceClassContext.get (ExtendedStackTraceClassContext.java:54) **
at co.paralleluniverse.fibers.Fiber.checkInstrumentation (Fiber.java:1634)
at co.paralleluniverse.fibers.Fiber.checkInstrumentation (Fiber.java:1626)
at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1599)
at co.paralleluniverse.fibers.Stack.popMethod (Stack.java:153)
at io.vertx.ext.sync.Sync.awaitResult (Sync.java:49)
at com.jukusoft.erp.lib.database.MySQLDatabase.listRows (MySQLDatabase.java:291) **
at com.jukusoft.erp.lib.permission.PermissionService.listGroupIDsOfUser (PermissionService.java:139) **
at com.jukusoft.erp.lib.permission.PermissionService.listUserPermissionStates (PermissionService.java:168) **
at com.jukusoft.erp.lib.permission.PermissionService.listUserPermissions (PermissionService.java:187) **
at com.jukusoft.erp.lib.context.AppContextImpl.checkPermission (AppContextImpl.java:144) **
at com.jukusoft.erp.core.module.base.service.menu.MenuController.checkPermissions (MenuController.java:184) **
at com.jukusoft.erp.core.module.base.service.menu.MenuController.addSubMenusToJson (MenuController.java:135) **
at com.jukusoft.erp.core.module.base.service.menu.MenuController.lambda$listMenus$0 (MenuController.java:97) **
at io.vertx.ext.sync.Sync.lambda$null$19031fba$1 (Sync.java:148) (optimized)
at co.paralleluniverse.strands.SuspendableUtils$VoidSuspendableCallable.run (SuspendableUtils.java:44)
at co.paralleluniverse.strands.SuspendableUtils$VoidSuspendableCallable.run (SuspendableUtils.java:32)
at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1027)
at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1022)
What does this exception mean? How can i fix that?
did you use the openjdk to run the code ? replace it with oracle jdk/jre can solve the problem.
@JuKu
@Jianfree No, i am using Oracle JDK 9.
@JuKu vertx-sync use the quasar, but quasar may be not support java9, maybe you can try oracle java8。
@JuKu https://github.com/puniverse/quasar/issues/131
This ist an really big problem, because i need Java 9.
@Jianfree thanks for your answer! :)