[jboss-jira] [JBoss JIRA] Resolved: (JBAS-5178) NullPointerException in VFSUtils.readManifest during WAR deployment
Ales Justin (JIRA)
jira-events at lists.jboss.org
Sat Sep 20 14:09:20 EDT 2008
[ https://jira.jboss.org/jira/browse/JBAS-5178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ales Justin resolved JBAS-5178.
-------------------------------
Resolution: Done
Closing the issue due to no feedback.
Re-open if this is still an issue in 5.0.0.CR2 and later versions.
> NullPointerException in VFSUtils.readManifest during WAR deployment
> -------------------------------------------------------------------
>
> Key: JBAS-5178
> URL: https://jira.jboss.org/jira/browse/JBAS-5178
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Deployers
> Affects Versions: JBossAS-5.0.0.Beta3
> Environment: * Java VM: Java HotSpot(TM) Server VM 1.6.0_03-b05,Sun Microsystems Inc.
> * OS-System: Windows XP 5.1,x86
> Reporter: David Bernstein
> Assignee: Ales Justin
> Attachments: hello1.war, orgmobilist.war
>
>
> I have a very simple WAR file that I'm trying to deploy on JBoss 5.0.0.Beta3.
> I'm using:
> * Java VM: Java HotSpot(TM) Server VM 1.6.0_03-b05,Sun Microsystems Inc.
> * OS-System: Windows XP 5.1,x86
> I am using the -Dsun.lang.ClassLoader.allowArraySyntax=true option for the JVM for Java 6 with JBoss 5 as described in JBAS-4491.
> Intermittently, when I deploy the WAR file, I get a NullPointerException in org.jboss.virtual.VFSUtils.readManifest():
> >>>
> 2008-01-24 18:48:53,624 DEBUG [org.jboss.deployers.plugins.main.MainDeployerImpl] Add deployment: vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war
> 2008-01-24 18:48:53,624 DEBUG [org.jboss.deployers.plugins.main.MainDeployerImpl] Removing previous deployment: vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war
> 2008-01-24 18:48:53,624 DEBUG [org.jboss.deployers.plugins.main.MainDeployerImpl] Scheduling undeployment: vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war parent=null
> 2008-01-24 18:48:53,624 WARN [org.jboss.system.server.profileservice.hotdeploy.HDScanner] Scan failed
> org.jboss.deployers.spi.DeploymentException: Error populating deployment vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war
> at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
> at org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder.populateContext(AbstractStructureBuilder.java:77)
> at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:89)
> at org.jboss.deployers.plugins.main.MainDeployerImpl.determineStructure(MainDeployerImpl.java:743)
> at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:280)
> at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:237)
> at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:270)
> at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at org.jboss.virtual.VFSUtils.readManifest(VFSUtils.java:208)
> at org.jboss.virtual.VFSUtils.getManifest(VFSUtils.java:187)
> at org.jboss.virtual.VFSUtils.addManifestLocations(VFSUtils.java:106)
> at org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder.applyContextInfo(VFSStructureBuilder.java:155)
> at org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder.populateContext(AbstractStructureBuilder.java:73)
> ... 15 more
> <<<
>
> Sometimes it works without complaint. I haven't been able to figure out exactly which conditions tickle this. I had suspicions that it might have to do with whether it was a hot deploy or on the existence of the properties file, but I wasn't able to prove it consistently. It did seem that if there was previously no properties file and I then did a hot deploy with a properties file, then I got the exception. I was able to deploy successfully to 4.2.2.GA. The structure of the WAR is:
> >>>
> META-INF/
> META-INF/MANIFEST.MF
> WEB-INF/
> WEB-INF/web.xml
> WEB-INF/classes/
> WEB-INF/classes/com/
> WEB-INF/classes/com/orgmob/
> WEB-INF/classes/com/orgmob/orgmobilist/
> WEB-INF/classes/com/orgmob/orgmobilist/server/
> WEB-INF/classes/com/orgmob/orgmobilist/orgmob.properties
> WEB-INF/classes/com/orgmob/orgmobilist/server/FooServlet.class
> <<<
> The manifest is:
> >>>
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.7.0
> Created-By: 1.6.0_03-b05 (Sun Microsystems Inc.)
> <<<
> The web.xml file is:
> >>>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
> version="2.5">
>
> <servlet>
> <servlet-name>foo</servlet-name>
> <servlet-class>com.orgmob.orgmobilist.server.FooServlet</servlet-class>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>foo</servlet-name>
> <url-pattern>/foo</url-pattern>
> </servlet-mapping>
> </web-app>
> <<<
> The servlet code is:
> >>>
> package com.orgmob.orgmobilist.server;
> import java.io.IOException;
> import java.io.PrintWriter;
> import javax.servlet.ServletException;
> import javax.servlet.http.HttpServlet;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
> public class FooServlet extends HttpServlet {
>
> private static final long serialVersionUID = 1L;
>
> private void doGetPost(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException {
> String userid = req.getParameter("userid");
> resp.setContentType("text/html");
> resp.setCharacterEncoding("UTF-8");
> PrintWriter pw = resp.getWriter();
> pw.println("<html>");
> pw.println(" <head>");
> pw.println(" <title>foo servlet</title>");
> pw.println(" </head>");
> pw.println(" <body>");
> pw.println(" <p>userid: ");
> pw.println(userid);
> pw.println(" </p>");
> pw.println(" <p>");
> pw.println(" </p>");
> pw.println(" </body>");
> pw.println("</html>");
> pw.flush();
> pw.close();
> resp.setStatus(HttpServletResponse.SC_OK);
> }
>
> @Override
> public void doGet(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException {
> doGetPost(req,resp);
> }
> @Override
> public void doPost(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException {
> doGetPost(req,resp);
> }
> }
> <<<
> The properties file is:
> >>>
> # orgmob
> # Copyright 2007-2008 David B. Bernstein
> # major.minor.patch versioning scheme for orgmob
> orgmob.major.version=0
> orgmob.minor.version=0
> orgmob.patch.version=0
> #
> orgmob.copyright.year=2007-2008
> <<<
> Apologies in advance if there's an obvious problem, a missed bug, or a missed post. I hope I've captured all the relevant information.
> Thanks.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list