quasar-0.7.5 does not seem to work with vertx 3.2.1

214 views
Skip to first unread message

Jian Liu

unread,
May 24, 2016, 1:16:48 PM5/24/16
to quasar-pulsar-user
After upgrading quasar-0.7.3 to 0.7.5, we noticed the following instrumentation failure (worked using 0.7.3). We are using vertx-3.2.1 (core, sync, web). It is a bit strange that this happens during verticle deployment, why instrumentation is required during deployment (i.e. startup)? Any help is appreciated.

[quasar] ERROR: while transforming io/vertx/core/impl/OrderedExecutorFactory$OrderedExecutor: Unable to instrument io/vertx/core/impl/OrderedExecutorFactory$OrderedExecutor#lambda$new$265()V because of synchronization
co.paralleluniverse.fibers.instrument.UnableToInstrumentException: Unable to instrument io/vertx/core/impl/OrderedExecutorFactory$OrderedExecutor#lambda$new$265()V because of synchronization
at co.paralleluniverse.fibers.instrument.InstrumentMethod.dumpCodeBlock(InstrumentMethod.java:720)
at co.paralleluniverse.fibers.instrument.InstrumentMethod.accept(InstrumentMethod.java:415)
at co.paralleluniverse.fibers.instrument.InstrumentClass.visitEnd(InstrumentClass.java:265)
at co.paralleluniverse.asm.ClassReader.accept(Unknown Source)
at co.paralleluniverse.asm.ClassReader.accept(Unknown Source)
at co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:120)
at co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:88)
at co.paralleluniverse.fibers.instrument.JavaAgent$Transformer.transform(JavaAgent.java:187)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at io.vertx.core.impl.OrderedExecutorFactory.getExecutor(OrderedExecutorFactory.java:53)
at io.vertx.core.impl.VertxImpl.createEventLoopContext(VertxImpl.java:331)
at io.vertx.core.impl.VertxImpl.getOrCreateContext(VertxImpl.java:297)
at io.vertx.core.impl.DeploymentManager.deployVerticle(DeploymentManager.java:82)
at io.vertx.core.impl.VertxImpl.deployVerticle(VertxImpl.java:527)
at io.vertx.core.impl.VertxImpl.deployVerticle(VertxImpl.java:515)
...

Fabio Tudone

unread,
May 24, 2016, 8:37:37 PM5/24/16
to quasar-pulsar-user
Hi, it looks like it's the same message as here (see this comment for insight) and it's a consequence of a fixed issue that was affecting vert.x sync.

That message should really be harmless: can you confirm everything works as expected even with 0.7.5? It happens at startup because instrumentation is performed when classes are first loaded.

We opened a PR that has already been merged by the vert.x team and that will eliminate that annoying message.

-- Fabio

Reply all
Reply to author
Forward
0 new messages