[jboss-jira] [JBoss JIRA] (WFLY-11794) Helloworld-classtransformer incompatibility

Eduardo Martins (Jira) issues at jboss.org
Wed Feb 27 17:54:00 EST 2019


     [ https://issues.jboss.org/browse/WFLY-11794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eduardo Martins updated WFLY-11794:
-----------------------------------
    Affects Version/s:     (was: 16.0.0.Beta1)


> Helloworld-classtransformer incompatibility
> -------------------------------------------
>
>                 Key: WFLY-11794
>                 URL: https://issues.jboss.org/browse/WFLY-11794
>             Project: WildFly
>          Issue Type: Bug
>          Components: Quickstarts
>            Reporter: Eduardo Martins
>            Assignee: Eduardo Martins
>            Priority: Major
>
> Changes done at server side, wrt JDK12 compatibility, introduced issues when deploying  quickstart helloworld-classtransformer post WFLY 16 Beta:
> {code}
> 22:37:27,320 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0001: Content added at location /Users/emmartins/jboss/git/as/wildfly/dist-copy/target/wildfly-16.0.0.CR1-SNAPSHOT/standalone/data/content/23/641c0517f5106bee30dbc931cc7fe8784f52d7/content
> 22:37:27,350 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0027: Starting deployment of "helloworld-classfiletransformers.war" (runtime-name: "helloworld-classfiletransformers.war")
> 22:37:28,051 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-4) WFLYSRV0018: Deployment "deployment.helloworld-classfiletransformers.war" is using a private module ("org.javassist") which may be changed or removed in future versions without notice.
> 22:37:28,108 INFO  [hello.server.transformation.HelloByteCodeManipulator] (MSC service thread 1-8) Instrumenting hello.server.ejb.HelloBean
> 22:37:28,166 INFO  [hello.server.transformation.HelloByteCodeManipulator] (MSC service thread 1-8) Successfully instrumented hello.server.ejb.HelloBean
> 22:37:28,206 INFO  [org.jboss.weld.deployer] (MSC service thread 1-8) WFLYWELD0003: Processing weld deployment helloworld-classfiletransformers.war
> 22:37:28,449 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-8) HV000001: Hibernate Validator 6.0.15.Final
> 22:37:28,699 INFO  [org.jboss.as.ejb3.deployment] (MSC service thread 1-8) WFLYEJB0473: JNDI bindings for session bean named 'HelloBean' in deployment unit 'deployment "helloworld-classfiletransformers.war"' are as follows:
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by org.jboss.invocation.proxy.AbstractProxyFactory$1 (jar:file:/Users/emmartins/jboss/git/as/wildfly/dist-copy/target/wildfly-16.0.0.CR1-SNAPSHOT/modules/system/layers/base/org/jboss/invocation/main/jboss-invocation-1.5.2.Final.jar!/) to method java.lang.Object.clone()
> WARNING: Please consider reporting this to the maintainers of org.jboss.invocation.proxy.AbstractProxyFactory$1
> WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> 22:37:29,062 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."helloworld-classfiletransformers.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."helloworld-classfiletransformers.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "helloworld-classfiletransformers.war"
> 	at org.jboss.as.server at 8.0.0.CR1//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:183)
> 	at org.jboss.msc at 1.4.5.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)
> 	at org.jboss.msc at 1.4.5.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)
> 	at org.jboss.msc at 1.4.5.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
> 	at org.jboss.threads at 2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> 	at org.jboss.threads at 2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> 	at org.jboss.threads at 2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> 	at org.jboss.threads at 2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
> 	at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0024: Could not configure component HelloBean
> 	at org.jboss.as.ee at 16.0.0.CR1-SNAPSHOT//org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:106)
> 	at org.jboss.as.server at 8.0.0.CR1//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:176)
> 	... 8 more
> Caused by: java.lang.ClassFormatError: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1
> 	at org.jboss.modules.ModuleClassLoader.defineClassInternal(ModuleClassLoader.java:460)
> 	at org.jboss.modules.ModuleClassLoader.defineClassInternal(ModuleClassLoader.java:480)
> 	at org.jboss.modules.ClassDefiner.defineClass(ClassDefiner.java:144)
> 	at org.jboss.as.server at 8.0.0.CR1//org.jboss.as.server.deployment.ModuleClassFactory.defineClass(ModuleClassFactory.java:56)
> 	at org.jboss.classfilewriter at 1.2.4.Final//org.jboss.classfilewriter.ClassFile.defineInternal(ClassFile.java:299)
> 	at org.jboss.classfilewriter at 1.2.4.Final//org.jboss.classfilewriter.ClassFile.define(ClassFile.java:286)
> 	at org.jboss.invocation at 1.5.2.Final//org.jboss.invocation.proxy.AbstractClassFactory.defineClass(AbstractClassFactory.java:202)
> 	at org.jboss.invocation at 1.5.2.Final//org.jboss.invocation.proxy.AbstractProxyFactory.getCachedMethods(AbstractProxyFactory.java:162)
> 	at org.jboss.as.ejb3 at 16.0.0.CR1-SNAPSHOT//org.jboss.as.ejb3.component.stateless.StatelessComponentDescription$3.configure(StatelessComponentDescription.java:147)
> 	at org.jboss.as.ee at 16.0.0.CR1-SNAPSHOT//org.jboss.as.ee.component.DefaultComponentViewConfigurator.configure(DefaultComponentViewConfigurator.java:91)
> 	at org.jboss.as.ee at 16.0.0.CR1-SNAPSHOT//org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:92)
> 	... 9 more
> Caused by: java.lang.RuntimeException: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1
> 	at deployment.helloworld-classfiletransformers.war//hello.server.transformation.HelloByteCodeManipulator.getCtClass(HelloByteCodeManipulator.java:135)
> 	at deployment.helloworld-classfiletransformers.war//hello.server.transformation.HelloByteCodeManipulator.transform(HelloByteCodeManipulator.java:70)
> 	at deployment.helloworld-classfiletransformers.war//hello.server.transformation.HelloBeanClassFileTransformer.transform(HelloBeanClassFileTransformer.java:57)
> 	at org.jboss.as.server at 8.0.0.CR1//org.jboss.as.server.deployment.module.DelegatingClassFileTransformer.transform(DelegatingClassFileTransformer.java:60)
> 	at org.jboss.modules.JLIClassTransformer.transform(JLIClassTransformer.java:55)
> 	at org.jboss.modules.ModuleClassLoader.defineClassInternal(ModuleClassLoader.java:458)
> 	... 19 more
> Caused by: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1
> 	at org.javassist//javassist.ClassPool.get(ClassPool.java:422)
> 	at deployment.helloworld-classfiletransformers.war//hello.server.transformation.HelloByteCodeManipulator.getCtClass(HelloByteCodeManipulator.java:133)
> 	... 24 more
> 22:37:29,154 INFO  [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-6) ISPN000128: Infinispan version: Infinispan 'Infinity Minus ONE +2' 9.4.8.Final
> 22:37:29,620 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 74) WFLYCLINF0002: Started client-mappings cache from ejb container
> 22:37:29,695 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "helloworld-classfiletransformers.war")]) - failure description: {
>     "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"helloworld-classfiletransformers.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"helloworld-classfiletransformers.war\"
>     Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0024: Could not configure component HelloBean
>     Caused by: java.lang.ClassFormatError: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1
>     Caused by: java.lang.RuntimeException: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1
>     Caused by: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1"},
>     "WFLYCTL0412: Required services that are not installed:" => [
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".beanmanager",
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".WeldStartService"
>     ],
>     "WFLYCTL0180: Services with missing/unavailable dependencies" => [
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"helloworld-classfiletransformers.war\".WeldStartService, jboss.deployment.unit.\"helloworld-classfiletransformers.war\".beanmanager]",
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"helloworld-classfiletransformers.war\".beanmanager]"
>     ]
> }
> 22:37:29,697 ERROR [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0021: Deploy of deployment "helloworld-classfiletransformers.war" was rolled back with the following failure message: 
> {
>     "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"helloworld-classfiletransformers.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"helloworld-classfiletransformers.war\"
>     Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0024: Could not configure component HelloBean
>     Caused by: java.lang.ClassFormatError: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1
>     Caused by: java.lang.RuntimeException: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1
>     Caused by: javassist.NotFoundException: hello.server.ejb.HelloBean$$$view1"},
>     "WFLYCTL0412: Required services that are not installed:" => [
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".beanmanager",
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".WeldStartService"
>     ],
>     "WFLYCTL0180: Services with missing/unavailable dependencies" => [
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"helloworld-classfiletransformers.war\".WeldStartService, jboss.deployment.unit.\"helloworld-classfiletransformers.war\".beanmanager]",
>         "jboss.deployment.unit.\"helloworld-classfiletransformers.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"helloworld-classfiletransformers.war\".beanmanager]"
>     ]
> }
> 22:37:29,727 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment helloworld-classfiletransformers.war (runtime-name: helloworld-classfiletransformers.war) in 29ms
> {code}
> It's not clear the actual QS design is something we want to keep promoting tho:
> * it teaches how to use a private module
> * we use byteman with customers, when intercepting code on the fly
> Assuming incompatibility we should drop the QS from WFLY releases, and we should rethink if we going to fix it, or replace it with a new QS. 



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list