Alexei Scherbakov created IGNITE-6200:
-----------------------------------------

             Summary: org.dom4j.QName can't be serialized
                 Key: IGNITE-6200
                 URL: https://issues.apache.org/jira/browse/IGNITE-6200
             Project: Ignite
          Issue Type: Bug
            Reporter: Alexei Scherbakov


Exception:

{noformat}
class org.apache.ignite.binary.BinaryObjectException: Failed to marshal object 
with optimized marshaller: org.dom4j.QName@364492 [name: test namespace: 
"org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:186)
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134)
        at 
org.apache.ignite.internal.binary.GridBinaryMarshaller.marshal(GridBinaryMarshaller.java:248)
        at 
org.apache.ignite.internal.binary.BinaryMarshaller.marshal0(BinaryMarshaller.java:82)
        at 
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58)
        at 
org.apache.ignite.internal.processors.cache.MarshallerTest.test(MarshallerTest.java:160)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2000)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1915)
        at java.lang.Thread.run(Thread.java:745)
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to serialize 
object: org.dom4j.QName@364492 [name: test namespace: "org.dom4j.Namespace@e20 
[Namespace: prefix qq mapped to URI ""]"]
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:206)
        at 
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58)
        at 
org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:9836)
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:179)
        ... 15 more
Caused by: java.io.IOException: java.io.NotActiveException: Not in 
writeObject() call.
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:324)
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.write(OptimizedClassDescriptor.java:827)
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObject0(OptimizedObjectOutputStream.java:224)
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObjectOverride(OptimizedObjectOutputStream.java:152)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344)
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:201)
        ... 18 more
Caused by: java.io.NotActiveException: Not in writeObject() call.
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.defaultWriteObject(OptimizedObjectOutputStream.java:684)
        at org.dom4j.QName.writeObject(QName.java:239)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:318)
        ... 23 more
{noformat}

Reproducer:

{noformat}
public void test() throws Exception {
        try {
            IgniteEx ex = startGrid(0);

            QName qName = new QName("test", new Namespace("qq", null), "q");

            byte[] marshal = ex.configuration().getMarshaller().marshal(qName);
        } finally {
            stopAllGrids();
        }
    }
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to