[jboss-dev] smoke-test failures

Ales Justin ales.justin at gmail.com
Fri Aug 8 07:25:01 EDT 2008


It's due to huge serialization by
org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext.

See:

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
     at 
org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext.readExternal(AbstractVFSDeploymentContext.java:390)
     at 
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)

It's the way we do VirtualFile serialization here - a direct 
Serialization of VirtualFile root, meaning whole .ear structure gets 
serializaed.

Where we could only need something like I did for VFSDeployment:

    private void writeObject(ObjectOutputStream out) throws IOException, 
URISyntaxException
    {
       URL url = rootUrl;
       if (url == null)
       {
          VFS vfs = getRoot().getVFS();
          url = vfs.getRoot().toURL();
       }
       String pathName = path;
       if (pathName == null)
          pathName = getRoot().getPathName();

       out.defaultWriteObject();
       ObjectOutputStream.PutField fields = out.putFields();
       fields.put("rootUrl", url);
       fields.put("path", pathName);
       out.writeFields();
    }

    private void readObject(ObjectInputStream in) throws IOException, 
ClassNotFoundException
    {
       in.defaultReadObject();
       ObjectInputStream.GetField fields = in.readFields();
       rootUrl = (URL) fields.get("rootUrl", null);
       path = (String) fields.get("path", null);
    }

It's on my todo list.
But the problem is, that in the case of VFSDeployment this is trivial, 
since it's a single root.
In VFSDeploymentContext we need to change a few List<VirtualFile> to use 
this.

But I think the real problem is, that tests are accessing server side 
stuff - DeploymentContext - where they should really go over 
ProfileService/DeploymentManager.

Scott Stark wrote:
> I'm seeing these seam tests fail as well:
> 
>   <testcase 
> classname="org.jboss.test.deployers.seam.test.SeamNumberguessExampleUnitTestCase" 
> name="testExample" time="8.563">
>     <error message="Java heap space" 
> type="java.lang.OutOfMemoryError">java.lang.OutOfMemoryError: Java heap 
> space
>     at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:95)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContext.copyStreamAndClose(ZipEntryContext.java:1059)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipBytesWrapper.&lt;init&gt;(ZipBytesWrapper.java:56)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipStreamWrapper.&lt;init&gt;(ZipStreamWrapper.java:82)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContext.findEntry(ZipEntryContext.java:328)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContext.createZipSource(ZipEntryContext.java:284)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContext.init(ZipEntryContext.java:214)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContext.&lt;init&gt;(ZipEntryContext.java:145)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContext.&lt;init&gt;(ZipEntryContext.java:130)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContextFactory.getVFS(ZipEntryContextFactory.java:71)
>     at 
> org.jboss.virtual.plugins.context.zip.ZipEntryContextFactory.getVFS(ZipEntryContextFactory.java:57)
>     at 
> org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.readObject(AbstractVirtualFileHandler.java:663)
>     at 
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
>     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
>     at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>     at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>     at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>     at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>     at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>     at 
> org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext.readExternal(AbstractVFSDeploymentContext.java:390)
>     at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
>     at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
> </error>
>   </testcase>
> 
>>> [junit] Running org.jboss.test.deployers.seam.test.SeamNumberguessExampleUnitTestCase
>>> [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 13.875 sec
>>> [junit] Test org.jboss.test.deployers.seam.test.SeamNumberguessExampleUnitTestCase FAILED
>>> [junit] Running org.jboss.test.deployers.seam.test.SeamVFSClassloadingUnitTestCase
>>> [junit] Tests run: 5, Failures: 0, Errors: 3, Time elapsed: 9.532 sec
>>> [junit] Test org.jboss.test.deployers.seam.test.SeamVFSClassloadingUnitTestCase FAILED
>>> ...
>>>     
>>
>> These don't fail on Hudson?
>> http://hudson.jboss.org/hudson/job/JBoss-AS-5.0.x-TestSuite-sun15/lastBuild/testReport/org.jboss.test.deployers.seam.test/
>>
>>
>>   
>>> [junit] Running org.jboss.test.xml.DDValidatorUnitTestCase
>>> [junit] Tests run: 7, Failures: 1, Errors: 0, Time elapsed: 19.297 sec
>>> [junit] Test org.jboss.test.xml.DDValidatorUnitTestCase FAILED
>>>     
>>
>>
>> This is a jboss-web.xml in the clustering tests that is failing
>> schema/dtd validation:
>> http://hudson.jboss.org/hudson/job/JBoss-AS-5.0.x-TestSuite-sun15/lastBuild/testReport/org.jboss.test.xml/DDValidatorUnitTestCase/testJBossWeb/
>>
>>   
>>> _______________________________________________
>>> jboss-development mailing list
>>> jboss-development at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>     
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development



More information about the jboss-development mailing list