quality@glassfish.java.net

Re: ejb-jar.xml: Premature end of file

From: Richard Kolb <rjdkolb_at_gmail.com>
Date: Thu, 10 Dec 2009 16:30:30 +0200

Hi Matthias

Can you provide a sample to recreate this ? Source code and possibly EAR if
it's not to big.
If you can do this I am sure you can open an issue and it can be
investigated quickly.
It will only be addressed in 3.1 though.

I know I am like a broken record. But why not move your project to maven ?
It saved my life I promise :)


If you are unfamiliar with maven I can help you offline :)
Just pop me a mail.

regards
Richard.



2009/12/10 matthias.fraass_at_tricoder.net <matthias.fraass_at_gmail.com>

> I have good and bad news:
>
> Bad news: It doesn't work in b74 (via Update Tool) - that's where I
> found the bug initially!
> Good news: I found some sort of cause: it's the packaging of the
> ejb.jar as a directory, not a JAR.
>
> I downloaded the HelloWorld.EAR from
> http://www.devx.com/ibm/Article/16365. It did deploy fine (ignore that
> JDBC exception) under b71* and b74.
> Then I repackaged the HelloWorld.ear\HelloWorldEJBProject.jar as a
> exploded HelloWorld.ear\HelloWorldEJBProject_jar and changed its entry
> in application.xml accordingly.
> -> b71: deploys fine
> -> b74: Premature end of file :(
>
> Shall I open a bug for this?
>
> Cheers,
>
> Matthias
>
> *Im mixed that up in my first mail - b71 is the last good version, not b70
>
>
> 2009/12/10 Richard Kolb <rjdkolb_at_gmail.com>:
> > Hi Matthias
> >
> > Sounds like a strange one. I think B71 had some strange issues.
> > Can you please try on Build 74 B.
> > http://download.java.net/glassfish/v3/promoted/glassfish-v3-b74b.zip
> >
> > This will get promoted to V3 final in a few hours, So I hope it you are
> > unable to recreate :)
> >
> > Also , are you using maven ?
> > Maven sorts out all these XML files for me :)
> >
> >
> > regards
> > Richard.
> >
> > 2009/12/10 matthias.fraass_at_tricoder.net <matthias.fraass_at_gmail.com>
> >>
> >> Hi folks,
> >>
> >> this is strange:
> >>
> >> from b71 on, we can't deploy our EAR. We're getting a
> >> "org.xml.sax.SAXParseException: Premature end of file" (see full
> >> stacktrace below) for the ejb-jar.xml.
> >> We even stripped the ejb-jar.xml down (see attached).
> >>
> >> It does deploy fine with build b66-b70, but not from b71 on.
> >> We tested this on two different machines.
> >> - JDK 1.6.0_16
> >> - WinXP
> >>
> >> The EAR is packaged like this:
> >> - some.EAR
> >> - META-INF/application.xml
> >> - some_jar (directory)
> >> - META-INF/ejb-jar.xml
> >>
> >> The some_jar directory is declared in application.xml as
> >> <module>
> >> <ejb>some_jar</ejb>
> >> </module>
> >>
> >> I don't know any further from here on.
> >> Does anyone have an idea?
> >>
> >> Could it be the SaxParser trying to download a DTD and fails, as we're
> >> behind a HTTP proxy? But I'd expect a connection timeout then...
> >>
> >> Another strange thing: when I delete the ejb-jar.xml from the EAR, I'm
> >> getting a "Truncated class file" error?!
> >>
> >> I feel dumb.
> >>
> >> Best regards,
> >>
> >> -Matthias
> >>
> >>
> >> Full stack trace:
> >>
> >>
> >>
> [#|2009-12-10T12:12:22.250+0100|SEVERE|glassfishv3.0|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=22;_ThreadName=Thread-1;|DPL8015:
> >> Invalid Deployment Descriptors in Deployment descriptor file
> >> META-INF/ejb-jar.xml in archive [some_jar].
> >> Line 1 Column 1 -- Premature end of file.|#]
> >>
> >>
> >>
> [#|2009-12-10T12:12:22.250+0100|SEVERE|glassfishv3.0|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=22;_ThreadName=Thread-1;|DPL8005:
> >> Deployment Descriptor parsing failure : Premature end of file.|#]
> >>
> >>
> >>
> [#|2009-12-10T12:12:22.250+0100|SEVERE|glassfishv3.0|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=22;_ThreadName=Thread-1;|Exception
> >> while deploying the app
> >> java.io.IOException: org.xml.sax.SAXParseException: Premature end of
> file.
> >> at
> >>
> org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:148)
> >> at
> >>
> org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:78)
> >> at
> >>
> com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:612)
> >> at
> >>
> com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:554)
> >> at
> >>
> com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:262)
> >> at
> >>
> com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
> >> at
> >>
> org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
> >> at
> >>
> com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
> >> at
> >>
> com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
> >> at
> >>
> com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
> >> at
> >>
> com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
> >> at
> >>
> com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
> >> at
> >>
> com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224)
> >> at
> >>
> com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365)
> >> at
> >> com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204)
> >> at
> >>
> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
> >> at
> >>
> com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
> >> at
> >>
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245)
> >> at
> >> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
> >> at
> >> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
> >> at
> >> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
> >> at
> >>
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
> >> at
> >>
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
> >> at
> >>
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
> >> at
> >>
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
> >> at
> >>
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
> >> at
> >>
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
> >> at
> >>
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
> >> at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
> >> at
> >>
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
> >> at
> >>
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
> >> at java.lang.Thread.run(Thread.java:619)
> >> Caused by: org.xml.sax.SAXParseException: Premature end of file.
> >> at
> >>
> com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:304)
> >> at
> >>
> com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:225)
> >> at
> >>
> com.sun.enterprise.deployment.archivist.Archivist.readStandardDeploymentDescriptor(Archivist.java:614)
> >> at
> >>
> com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:366)
> >> at
> >>
> com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:238)
> >> at
> >>
> com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:247)
> >> at
> >>
> com.sun.enterprise.deployment.archivist.ApplicationArchivist.readModulesDescriptors(ApplicationArchivist.java:608)
> >> at
> >>
> com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:244)
> >> at
> >>
> com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:222)
> >> at
> >>
> org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:145)
> >> ... 31 more
> >> Caused by: org.xml.sax.SAXParseException: Premature end of file.
> >> at
> >>
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
> >> at
> >>
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
> >> at
> >>
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
> >> at
> >>
> com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
> >> at
> >>
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1059)
> >> at
> >>
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
> >> at
> >>
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
> >> at
> >>
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
> >> at
> >>
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
> >> at
> >>
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
> >> at
> >>
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
> >> at
> >>
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
> >> at
> >>
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
> >> at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
> >> at
> >>
> com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:298)
> >> ... 40 more
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: quality-unsubscribe_at_glassfish.dev.java.net
> >> For additional commands, e-mail: quality-help_at_glassfish.dev.java.net
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: quality-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: quality-help_at_glassfish.dev.java.net
>
>