axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <d...@yahoo.com>
Subject Re: Status update: Axis w/Xerces2
Date Mon, 19 Nov 2001 21:02:08 GMT
Sam,

I think AttributesImpl.java in Xerces2 needs the following patch:
http://cvs.apache.org/viewcvs.cgi/xml-xerces/java/src/org/xml/sax/helpers/AttributesImpl.java.diff?r1=1.3&r2=1.5

Thanks,
dims

--- Sam Ruby <rubys@us.ibm.com> wrote:
> Doing performance measurements w/Xerces1, we are finding that approximately
> 40% of the time is being spent in the parser.  Clearly this represents a
> fertile  opportunity for improvment.  Measuring the same workloads with
> Crimson resulted in a slight degradation.
> 
> I would like to measure Xerces2 and explore both XNI and constructing a
> minimal pipeline which eliminates any unnecessary overhead (e.g., DTD
> validation), but I am still unable to progress past the following problems
> exposed by the unit tests.  Debugging, it looks like the Axis code which
> causes the problem down stream is as follows:
> 
>        public int startElement(String p1, String p2, String p3, org.xml.sax.Attributes
p4) {
>            if (numattrs == attrs.length) {
>                Object[] nattrs = new Object[numattrs * 2];
>                System.arraycopy(attrs, 0, nattrs, 0, numattrs);
>                attrs = nattrs;
>            }
> 
>            attrs[numattrs++] = new AttributesImpl(p4);
>            return events.add(STATE_START_ELEMENT, st.addSymbol(p1), st.addSymbol(p2),
> st.addSymbol(p3), numattrs-1);
>        }
> 
> Later attempts to reference the copied attributes results in:
> 
>      java.lang.NullPointerException
>      at org.xml.sax.helpers.AttributesImpl.getValue(Unknown Source)
>      at
>
org.apache.axis.encoding.DeserializationContext.getTypeFromAttributes(DeserializationContext.java:301)
>      at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:160)
>      at
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:606)
>      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200)
>      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:387)
>      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:115)
>      at org.apache.axis.message.RPCElement.getParam(RPCElement.java:124)
>      at test.encoding.TestSer.doTestData(TestSer.java:87)
>      at test.encoding.TestSer.testDataWithHrefs(TestSer.java:44)
>      at java.lang.reflect.Method.invoke(Native Method)
>      at junit.framework.TestCase.runTest(TestCase.java:157)
>      at junit.framework.TestCase.runBare(TestCase.java:131)
>      at junit.framework.TestResult$1.protect(TestResult.java:106)
>      at junit.framework.TestResult.runProtected(TestResult.java:124)
>      at junit.framework.TestResult.run(TestResult.java:109)
>      at junit.framework.TestCase.run(TestCase.java:122)
>      at junit.framework.TestSuite.runTest(TestSuite.java:173)
>      at junit.framework.TestSuite.run(TestSuite.java:168)
>      at junit.framework.TestSuite.runTest(TestSuite.java:173)
>      at junit.framework.TestSuite.run(TestSuite.java:168)
>      at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:241)
>      at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:419)
> 
> I'll keep debugging, but I thought I would post this here to see if it generates any
thoughts or
> suggestions...
> 
> - Sam Ruby
> 


=====
Davanum Srinivas - http://jguru.com/dims/

__________________________________________________
Do You Yahoo!?
Find the one for you at Yahoo! Personals
http://personals.yahoo.com

Mime
View raw message