You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Ondra Žižka (JIRA)" <xa...@xml.apache.org> on 2010/12/03 20:33:10 UTC
[jira] Created: (XALANJ-2527) NPE during transforation -
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
NPE during transforation - com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
-------------------------------------------------------------------------------------------------
Key: XALANJ-2527
URL: https://issues.apache.org/jira/browse/XALANJ-2527
Project: XalanJ2
Issue Type: Bug
Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
Reporter: Ondra Žižka
This happens in Sun JDK 1.6.0_22, so perhaps it should go to JDK's issue tracker.
STR:
1) Get the attached source, compile it
2) Get the other files
3) Run `java Xslt pom.xml addJBossRepo.xsl pom2.xml`
You'll get the NPE.
ondra@ondra-redhat: ~/work/hbn/runner/EAP-5.1/xslt $ java Xslt pom.xml addJBossRepo.xsl pom2.xml
export JAVA_HOME=/home/ondra/sw/tools/jdk/sun160_17
Error: java.lang.NullPointerException
Error during transformation
javax.xml.transform.TransformerException: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:713)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
at Xslt.transform(Xslt.java:44)
at Xslt.main(Xslt.java:23)
Caused by: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
at com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
at com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
at addJBossRepo.template$dot$3()
at addJBossRepo.applyTemplates()
at addJBossRepo.template$dot$0()
at addJBossRepo.applyTemplates()
at addJBossRepo.applyTemplates()
at addJBossRepo.transform()
at com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
... 3 more
---------
com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
at com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
at com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
at addJBossRepo.template$dot$3()
at addJBossRepo.applyTemplates()
at addJBossRepo.template$dot$0()
at addJBossRepo.applyTemplates()
at addJBossRepo.applyTemplates()
at addJBossRepo.transform()
at com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
at Xslt.transform(Xslt.java:44)
at Xslt.main(Xslt.java:23)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org
Re: [jira] [Commented] (XALANJ-2527) NPE during transforation - com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
Posted by ke...@us.ibm.com.
> AttributeImpl is a helper class in SAX. Its addAttribute() method is
namespace-aware.
Sorry; missed that. Good.
(I've spent too much time educating people about this since DOM2 came out;
it's an automatic playback trigger. Sigh.)
______________________________________
"You build world of steel and stone
I build worlds of words alone
Skilled tradespeople, long years taught:
You shape matter; I shape thought."
(http://www.songworm.com/lyrics/songworm-parody/ShapesofShadow.html)
Re: [jira] [Commented] (XALANJ-2527) NPE during transforation - com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
Posted by Michael Glavassevich <mr...@ca.ibm.com>.
AttributeImpl is a helper class in SAX. Its addAttribute() method is
namespace-aware.
Michael Glavassevich
XML Technologies and WAS Development
IBM Toronto Lab
E-mail: mrglavas@ca.ibm.com
E-mail: mrglavas@apache.org
keshlam@us.ibm.com wrote on 02/15/2012 09:35:23 AM:
> > This issue can happen in JDK 6 if an Attribute is created with SAX
> > AttributeImpl addAttribute() method and a "type" string argument of
>
> Quick reminder: NOBODY should still be using the addAttribute()
> method unless you are explicitly writing DOM 1.0 code. It is not
> interoperable with DOM 2.0. Use addAttributeNS().
>
> (Probably orthogonal to this discussion, but people keep making this
> mistake so it's worth re-emphasizing.)
Re: [jira] [Commented] (XALANJ-2527) NPE during transforation - com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
Posted by ke...@us.ibm.com.
> This issue can happen in JDK 6 if an Attribute is created with SAX
> AttributeImpl addAttribute() method and a "type" string argument of
Quick reminder: NOBODY should still be using the addAttribute() method
unless you are explicitly writing DOM 1.0 code. It is not interoperable
with DOM 2.0. Use addAttributeNS().
(Probably orthogonal to this discussion, but people keep making this
mistake so it's worth re-emphasizing.)
[jira] [Commented] (XALANJ-2527) NPE during transforation -
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
Posted by "Jörg Prante (Commented JIRA)" <xa...@xml.apache.org>.
[ https://issues.apache.org/jira/browse/XALANJ-2527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208442#comment-13208442 ]
Jörg Prante commented on XALANJ-2527:
-------------------------------------
This issue can happen in JDK 6 if an Attribute is created with SAX AttributeImpl addAttribute() method and a "type" string argument of null. In subsequent calls, when expressions like @* are evaluated, the attribute's type is used with getType() but without a null check and NPE will occur.
In JDK 6, there is no sanity check in AttributeImpl to prevent null types for attributes as it seems.
Fix: if no "type" for an attribute can be defined, always pass explicit "CDATA" as an addAttribute() "type" string argument, and override JDK6 TransformerFactory with Xalan 2.7.1 for correct @* attribute evaluation.
> NPE during transforation - com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
> -------------------------------------------------------------------------------------------------
>
> Key: XALANJ-2527
> URL: https://issues.apache.org/jira/browse/XALANJ-2527
> Project: XalanJ2
> Issue Type: Bug
> Security Level: No security risk; visible to anyone(Ordinary problems in Xalan projects. Anybody can view the issue.)
> Components: XSLTC
> Reporter: Ondra Žižka
> Attachments: Xslt.java, addJBossRepo.xsl, pom.xml
>
>
> This happens in Sun JDK 1.6.0, so perhaps it should go to JDK's issue tracker.
> STR:
> 1) Get the attached source, compile it
> 2) Get the other files
> 3) Run `java Xslt pom.xml addJBossRepo.xsl pom2.xml`
> You'll get the NPE.
> ondra@ondra-redhat: ~/work/hbn/runner/EAP-5.1/xslt $ java Xslt pom.xml addJBossRepo.xsl pom2.xml
> export JAVA_HOME=/home/ondra/sw/tools/jdk/sun160_17
> Error: java.lang.NullPointerException
> Error during transformation
> javax.xml.transform.TransformerException: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:713)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
> at Xslt.transform(Xslt.java:44)
> at Xslt.main(Xslt.java:23)
> Caused by: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
> at com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
> at com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
> at addJBossRepo.template$dot$3()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.template$dot$0()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.transform()
> at com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
> ... 3 more
> ---------
> com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
> at com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
> at com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
> at addJBossRepo.template$dot$3()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.template$dot$0()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.transform()
> at com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
> at Xslt.transform(Xslt.java:44)
> at Xslt.main(Xslt.java:23)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org
[jira] [Commented] (XALANJ-2527) NPE during transforation -
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
Posted by "Jörg Prante (Commented JIRA)" <xa...@xml.apache.org>.
[ https://issues.apache.org/jira/browse/XALANJ-2527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208068#comment-13208068 ]
Jörg Prante commented on XALANJ-2527:
-------------------------------------
This is an NPE due to the attribute wildcarding @* in expressions like <xsl:apply-templates select="@*|node()" />
A workaround - not always possible - is to replace @* with a known set of attribute names, like @a1|@a2|...
> NPE during transforation - com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
> -------------------------------------------------------------------------------------------------
>
> Key: XALANJ-2527
> URL: https://issues.apache.org/jira/browse/XALANJ-2527
> Project: XalanJ2
> Issue Type: Bug
> Security Level: No security risk; visible to anyone(Ordinary problems in Xalan projects. Anybody can view the issue.)
> Components: XSLTC
> Reporter: Ondra Žižka
> Attachments: Xslt.java, addJBossRepo.xsl, pom.xml
>
>
> This happens in Sun JDK 1.6.0, so perhaps it should go to JDK's issue tracker.
> STR:
> 1) Get the attached source, compile it
> 2) Get the other files
> 3) Run `java Xslt pom.xml addJBossRepo.xsl pom2.xml`
> You'll get the NPE.
> ondra@ondra-redhat: ~/work/hbn/runner/EAP-5.1/xslt $ java Xslt pom.xml addJBossRepo.xsl pom2.xml
> export JAVA_HOME=/home/ondra/sw/tools/jdk/sun160_17
> Error: java.lang.NullPointerException
> Error during transformation
> javax.xml.transform.TransformerException: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:713)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
> at Xslt.transform(Xslt.java:44)
> at Xslt.main(Xslt.java:23)
> Caused by: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
> at com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
> at com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
> at addJBossRepo.template$dot$3()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.template$dot$0()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.transform()
> at com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
> ... 3 more
> ---------
> com.sun.org.apache.xalan.internal.xsltc.TransletException: java.lang.NullPointerException
> at com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
> at com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
> at addJBossRepo.template$dot$3()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.template$dot$0()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.transform()
> at com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
> at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
> at Xslt.transform(Xslt.java:44)
> at Xslt.main(Xslt.java:23)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org