santuario-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 36921] - (Websphere/Solaris) referecing org.apache.xpath.compiler.FunctionTable.m_functions throws java.lang.IllegalAccessError
Date Thu, 13 Oct 2005 17:24:16 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36921>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36921





------- Additional Comments From rwong@ariba.com  2005-10-13 19:24 -------
Hi,
I tried xmlsec-1.2.97, running my tests on Windows XP SUn jdk 1.4.2_02. The 
following is a puzzle which I hope you can help me with. Since this is not 
released yet, there is no release notes. Are there other docs I can look at? 
For example, are there new dependencies on other 3rd party lib?

(a) I ran into a ClassNotFoundException:

Caused by: java.lang.ClassNotFoundException: 
org/apache/xml/security/transforms/implementations/FuncHere
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:141)
	at org.apache.xpath.compiler.FuncLoader.getFunction
(FuncLoader.java:146)
	... 54 more
---------
java.lang.ClassNotFoundException: 
org/apache/xml/security/transforms/implementations/FuncHere
	at java.lang.Class.forName0(Native Meth[Loaded 
com.jclark.xsl.tr.SheetImpl$TemplateParser]
[Loaded com.jclark.xsl.tr.SheetImpl$AttributeSetParser]
od)
	at java.lang.Class.forName(Class.java:141)
	at org.apache.xpath.compiler.FuncLoader.getFunction
(FuncLoader.java:146)
	at org.apache.xpath.compiler.FunctionTable.getFunction
(FunctionTable.java:273)
	at org.apache.xpath.compiler.Compiler.compileFunction
(Compiler.java:1055)
	at org.apache.xpath.compiler.Compiler.compile(Compiler.java:208)
	at org.apache.xpath.axes.FilterExprWalker.init
(FilterExprd:/ariba2/buyer/release/main/3.68.1+/Walker.java:117)
	at org.apache.xpath.axes.WalkerFactory.loadWalkers
(WalkerFactory.java:152)
	at org.apache.xpath.axes.WalkingIterator.<init>
(WalkingIterator.java:45)
	at org.apache.xpath.axes.WalkingIteratorSorted.<init>
(WalkingIteratorSorted.java:110)
	at org.apache.xpath.axes.WalkerFactory.newDTMIterator
(WalkerFactory.java:320)
	at org.apache.xpath.compiler.Compiler.locationPath(Compiler.java:670)
	at org.apache.xpath.compiler.Compiler.compile(Compiler.java:210)
	at org.apache.xpath.compiler.Compiler.compile(Compiler.java:156)
	at org.apache.xpath.XPath.<init>(XPath.java:209)
	at org.apache.xml.security.utils.CachedXPathFuncHereAPI.createXPath
(Unknown Source)
	at org.apache.xml.security.utils.CachedXPathFuncHereAPI.eval(Unknown 
Source)
	at 
org.apache.xml.security.utils.CachedXPathFuncHereAPI.sd:/ariba2/buyer/release/m
ain/3.68.1+/electNodeList(Unknown Source)
	at 
org.apache.xml.security.transforms.implementations.TransformXPath2Filter.engine
PerformTransform(Unknown Source)
	at 
org.apache.xml.security.transforms.TransformSpi.enginePerformTransform(Unknown 
Source)
	at org.apache.xml.security.transforms.Transform.performTransform
(Unknown Source)
	at org.apache.xml.security.transforms.Transforms.performTransforms
(Unknown Source)
	at 
org.apache.xml.security.signature.Reference.getContentsAfterTransformation
(Unknown Source)
	at 
org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms
(Unknown Source)
	at org.apache.xml.security.signature.Reference.calculateDigest(Unknown 
Source)
	at org.apache.xml.security.signature.Reference.generateDigestValue
(Unknown Source)
	at org.apache.xml.security.signature.Manifest.generateDigestValues
(Unknown Source)
	at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
	at ariba.util.xmlsignature.implementation.XMLSignatureImpl.sign
(XMLSignatureImpl.java:357)

(b) I turned on -verbose:class

Thu Oct 13 09:04:04 PDT 2005 () (test:debug): adding object 
(object=org.apache.xml.security.utils.HelperNodeList@1d49247, id=object-1) to 
object list
[Loaded org.apache.xml.security.utils.CachedXPathAPIHolder]
[Loaded org.apache.xpath.CachedXPathAPI from c:\devtools\j2sdk1.4.2_02
\jre\lib\rt.jar]
[Loaded org.apache.xml.security.utils.CachedXPathFuncHereAPI]
[Loaded org.apache.xml.security.transforms.implementations.FuncHereContext]
[Loaded org.apache.xpath.compiler.FunctionTable from c:\devtools\j2sdk1.4.2_02
\jre\lib\rt.jar]
[Loaded org.apache.xpath.compiler.FuncLoader from c:\devtools\j2sdk1.4.2_02
\jre\lib\rt.jar]
[Loaded org.apache.xpath.functions.Function from c:\devtools\j2sdk1.4.2_02
\jre\lib\rt.jar]
[Loaded org.apache.xml.security.transforms.implementations.FuncHere]
[Loaded org.apache.xpath.compiler.Keywords from c:\devtools\j2sdk1.4.2_02
\jre\lib\rt.jar]
[Loaded java.lang.IllegalAccessError from c:\devtools\j2sdk1.4.2_02
\jre\lib\rt.jar]

The stack trace above was run from a test which started Thu Oct 13 09:04:06, 
so it would have seemed that the classes are loaded at the time the test is 
started.

(c) The other thing that is interesting is that I was able to turn on the 
xmlsecurity logging (we have a wrapper essentially piping the xmlsig log to 
our logger 'xmlsec'), and from the log, I saw these outputs:

Thu Oct 13 09:04:07 PDT 2005 (xmlsec:info:7511): Registering Here function
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): Registered class 
org.apache.xml.security.transforms.implementations.FuncHere for XPath 
function 'here()' function in internal table

Now I looked at the source code for CachedXPathFuncHereAPI, and I looked at 
the verbose:class output (shown here). I thought when CachedXPathFuncHereAPI 
is loaded (as shown by the verbose output), the static method 
fixupFunctionTable is called which is responsible for outputting the above 
logging. So why am I not seeing FuncHere being loaded in the verbose output 
earlier on? And it really looks like FuncHere has not been loaded at that 
time. CachedXPathFuncHereAPI is already loaded ealier on, so why is the static 
method fixupFunctionTable invoked at Thu Oct 13 09:04:07 given that the class 
has already been loaded?

Here's more context of the above logs.

Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): check resolvability by class 
org.apache.xml.security.utils.resolver.ResourceResolver
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): State I can resolve 
reference: ""
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): ResolverFragment with empty 
URI (means complete document)
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): setElement
("ds:Transforms", "file:/d:/ariba2/install/./")
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): setElement
("ds:Transform", "file:/d:/ariba2/install/./")
Thu Oct 13 09:04:07 PDT 2005 (xmlsec:info:7511): Registering Here function
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): Registered class 
org.apache.xml.security.transforms.implementations.FuncHere for XPath 
function 'here()' function in internal table
[Loaded com.jclark.xml.tok.PartialCharException]
[Loaded com.jclark.xml.tok.UTF8Encoding]
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): setElement
("xf:XPath", "file:/d:/ariba2/install/./")
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): Request for URI 
http://www.w3.org/2000/09/xmldsig#sha1
Thu Oct 13 09:04:07 PDT 2005 () (xmlsec:debug): I was asked to create a 
ResourceResolver and got 2
 

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Mime
View raw message