Hi Dims, If you do a checkout of Xerces2, I think you'll find that patch is applied--at least that's how AttributesImpl looks on my machine. So I guess the problem lies elsewhere.
Cheers, Neil Neil Graham XML Parser Development IBM Toronto Lab Phone: 905-413-3519, T/L 969-3519 E-mail: [EMAIL PROTECTED] Davanum Srinivas <[EMAIL PROTECTED]> on 11/19/2001 04:02:08 PM Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED], [EMAIL PROTECTED] cc: Subject: Re: Status update: Axis w/Xerces2 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 <[EMAIL PROTECTED]> 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
