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

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


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

Eduardo Martins updated WFLY-11794:
-----------------------------------
    Description: 
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 users/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. 

  was:
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. 



> 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 users/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