quality@glassfish.java.net

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

From: matthias.fraass_at_tricoder.net <matthias.fraass_at_gmail.com>
Date: Thu, 10 Dec 2009 15:18:34 +0100

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