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.<init>(ZipBytesWrapper.java:56)
at
org.jboss.virtual.plugins.context.zip.ZipStreamWrapper.<init>(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.<init>(ZipEntryContext.java:145)
at
org.jboss.virtual.plugins.context.zip.ZipEntryContext.<init>(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/lastBui...
>
>
>
>> [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/lastBui...
>
>
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/jboss-development
>>
------------------------------------------------------------------------
_______________________________________________
jboss-development mailing list
jboss-development(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-development