[jboss-jira] [JBoss JIRA] (JBAS-9465) NPE during deployment in org.jboss.weld.util.ApiAbstraction.annotationTypeForName

Alexey Pakseykin (JIRA) issues at jboss.org
Fri Jan 15 03:02:00 EST 2016


    [ https://issues.jboss.org/browse/JBAS-9465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13149151#comment-13149151 ] 

Alexey Pakseykin commented on JBAS-9465:
----------------------------------------

I've just found a workaround for similar issue.

h3. Issue

We use JBoss `6.1.0.Final` for our Maven cargo integration tests in Linux environment.
JBoss is extracted into (my home dir):
/home/uvsmtid/Apps/maven.test.jboss/jboss-6.1.0.Final
Environment variable `JBOSS_HOME` pointed to this location.
File `boot.log` contained no significant/related issues (no ERRORs at all).
On the other hand, file `server.log` started with exactly the same stacktrace:
{{
2016-01-15 15:45:07,635 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (Thread-2) Error installing to Create: name=vfs:///home/uvsmtid/Apps/maven.test.jboss/jboss-6.1.0.Final/server/foundation-test/deploy/FMKArchive-3.1.1.0-SNAPSHOT.ear_WeldBootstrapBean state=Configured: java.lang.NullPointerException
    at org.jboss.weld.util.ApiAbstraction.annotationTypeForName(ApiAbstraction.java:86) [:6.1.0.Final]
    at org.jboss.weld.ejb.EJBApiAbstraction.<init>(EJBApiAbstraction.java:36) [:6.1.0.Final]
    at org.jboss.weld.bootstrap.BeanDeployment.<init>(BeanDeployment.java:100) [:6.1.0.Final]
    at org.jboss.weld.bootstrap.WeldBootstrap$DeploymentVisitor.visit(WeldBootstrap.java:185) [:6.1.0.Final]
...
}}
Then log continues with absolutely sick (unexplainable) long list of deployment issues.

What I realized that the issue was not reproducible anywhere else (continuous integration platform and all other machines for other developers).
I checked side by side everything between my hosts and the other working one:
- Environment variables
- Working directory (clean up ignored files)
- JBoss distribution binaries
- Checksums for all files and made sure no corruption..
*Nothing helped until...*

h3. Workaround
The only thing which was different is that path to my home directory contained a symlink:
{{
ls -ld /home
lrwxrwxrwx. 1 root root 16 Aug 16  2014 /home -> /mnt/backup/home
}}
When I changed `JBOSS_HOME` from this
{{
/home/uvsmtid/Apps/maven.test.jboss/jboss-6.1.0.Final
}}
to this
{{
/mnt/backup/home/uvsmtid/Apps/maven.test.jboss/jboss-6.1.0.Final
}}
problem disappeared!

In other words, JBoss didn't tolerate symlinks within the path specified by `JBOSS_HOME`.


> NPE during deployment in org.jboss.weld.util.ApiAbstraction.annotationTypeForName
> ---------------------------------------------------------------------------------
>
>                 Key: JBAS-9465
>                 URL: https://issues.jboss.org/browse/JBAS-9465
>             Project: Application Server 3  4  5 and 6
>          Issue Type: Bug
>          Components: Weld/CDI
>    Affects Versions: 6.0.0.Final, 6.1.0
>         Environment: Windows 7 64bit
> Java 1.6.0_29 64bit
> Maven Cargo Plugin 1.4 or command line
>            Reporter: Dirk Mahler
>            Assignee: Marius Bogoevici
>
> We are using maven cargo plugin for our integration tests to start/stop JBoss AS 6.1.0.Final and deploying artifacts. The cargo plugin is configured with a installation directory (e.g. C:/development/work/cargo) which is used by cargo to construct a command line to start the AS. On some of our Windows 7 systems we faced the following exception while starting and deploying EAR artifacts containing CDI enabled bean archives with the default JBOSS server configuration:
> 11:11:46,637 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Create: name=vfs:///C:/development/work/cargo/default/deploy/application.ear-2.3.7.3-SNAPSHOT.ear_WeldBootstrapBean state=Configured: java.lang.NullPointerException
>         at org.jboss.weld.util.ApiAbstraction.annotationTypeForName(ApiAbstraction.java:86) [:6.1.0.Final]
>         at org.jboss.weld.ejb.EJBApiAbstraction.<init>(EJBApiAbstraction.java:36) [:6.1.0.Final]
>         at org.jboss.weld.bootstrap.BeanDeployment.<init>(BeanDeployment.java:100) [:6.1.0.Final]
>         at org.jboss.weld.bootstrap.WeldBootstrap$DeploymentVisitor.visit(WeldBootstrap.java:185) [:6.1.0.Final]
>         at org.jboss.weld.bootstrap.WeldBootstrap$DeploymentVisitor.visit(WeldBootstrap.java:197) [:6.1.0.Final]
>         at org.jboss.weld.bootstrap.WeldBootstrap$DeploymentVisitor.visit(WeldBootstrap.java:156) [:6.1.0.Final]
>         at org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:293) [:6.1.0.Final]
>         at org.jboss.weld.integration.deployer.env.helpers.BootstrapBean.initialize(BootstrapBean.java:106) [:6.1.0.Final]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_29]
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_29]
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_29]
>         at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_29]
>         at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:60) [jboss-reflect.jar:2.2.1.SP1]
>         at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:168) [jboss-reflect.jar:2.2.1.SP1]
>         at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) [jboss-reflect.jar:2.2.1.SP1]
>         at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:257) [jboss-ker
> nel.jar:2.2.0.SP2]
>         at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) [jboss-kernel.jar:2.2.0.SP2]
>         at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:125) [jboss-kernel.jar:
> 2.2.0.SP2]
>         at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72) [jboss-kernel.jar:2.2.0.SP
> 2]
>         at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:202) [jboss-kernel.jar:2.2.0.SP2]
>         at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.SP2]
>         at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.
> 2.0.SP2]
>         at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.2.GA]
>         at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.2.GA]
>         at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.2.GA]
>         at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.1.0.Final]
>         at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:143) [:0.2.2]
>         at org.jboss.profileservice.dependency.ProfileDeployAction.deploy(ProfileDeployAction.java:151) [:0.2.2]
>         at org.jboss.profileservice.dependency.ProfileDeployAction.installActionInternal(ProfileDeployAction.java:94) [:0.2.2]
>         at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.SP2]
>         at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.
> 2.0.SP2]
>         at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.SP2]
>         at org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190) [:0.2.2]
>         at org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87) [:0.2.2]
>         at org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215) [:0.2.2]
>         at org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159) [:0.2.2]
>         at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.activate(AbstractProfileServiceBootstrap.java:112) [:0.2.2]
>         at org.jboss.profileservice.resolver.BasicResolverFactory$ProfileResolverFacade.deploy(BasicResolverFactory.java:87) [:0.2.2]
>         at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.start(AbstractProfileServiceBootstrap.java:91) [:0.2.2]
>         at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:132) [:6.1.0.Final]
>         at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.1.0.Final]
>         at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
>         at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
>         at java.lang.Thread.run(Thread.java:662) [:1.6.0_29]
> The reason could be tracked down to the fact that the specified directory must be specified using the correct case as reported by the file system (e.g. C:/development/work/cargo vs. C:/Development/work/cargo).
> The problem also exists if running the AS from the command line (without maven cargo plugin involved):
> C:\development\Java\jdk_1.6.0_29\jre\bin\java.exe -Xmx1200M -XX:MaxPermSize=768M -Xms128m -XX:PermSize=48m -Djboss.bind.address=127.0.0.1 -Dlogging.configuration=file:/C:/development/work/cargo/jboss-as-distribution-6.1.0.Final/jboss-6.1.0.Final/bin/logging.properties -Djboss.common.lib.url=file:/C:/development/work/cargo/jboss-as-distribution-6.1.0.Final/jboss-6.1.0.Final/common/lib/ -Djava.endorsed.dirs=C:\development\work\cargo\jboss-as-distribution-6.1.0.Final\jboss-6.1.0.Final\lib\endorsed -Djboss.home.dir=C:\development\work\cargo\jboss-as-distribution-6.1.0.Final\jboss-6.1.0.Final -Djboss.server.home.dir=C:\development\work/cargo/default -Djboss.server.home.url=file:/C:/development/work/cargo/default/ -Djboss.server.name=default -Djboss.server.lib.url=file:/C:/development/work/cargo/jboss-as-distribution-6.1.0.Final/jboss-6.1.0.Final/server/default/lib/ -Djboss.server.log.threshold=INFO -classpath C:\development\work\cargo\jboss-as-distribution-6.1.0.Final\jboss-6.1.0.Final\bin\run.jar;C:\development\Java\jdk_1.6.0_29\lib\tools.jar org.jboss.Main --host=localhost --configuration=default



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the jboss-jira mailing list