xslt2 accessor nk ver 3.3.1

Poster Content
nk4um User
Posts: 89
September 13, 2010 14:46classloader issues
To whom may still be interested in this NK 3 issue ;-)

I finally did found out what caused the java.lang.LinkageError:

loader constraint violation: loader (instance of com/ten60/netkernel/module/ModuleClassLoader) previously initiated loading for a different type with name "javax/xml/namespace/QName"

also happens with "javax/xml/namespace/NamespaceContext".

It turns that its problematic if multiple of these classes exist in the dynamic classpath. (I was sure I checked this before, but I must have made errors then.) If you delete them from the following jars in ext-xml-core: (1) xbean.jar and (2) xmlpublic.jar. (You''ll have to open up the ext-xml-core jar to get at those and repackage lateron, also don''t forget to remove the old jars from the lib/expanded directory.)

I found out due to a new set of accessors (sorry, still can''t move on to NK 4 :-( ) I was creating which relied on libraries who also included these java.namespace classes. And it resolved my problems by making sure that they actually only exist in the endorsed xml-apis.jar. (I also tried the other way around, i.e., removing them from the endorsed jar,  but that didn''t help. Probably in that case it gets them from some default location also.)

I assume it also solves the cold restarts where this linkage error would also pop up.

Greetings,

Menzo
nk4um Moderator
Posts: 485
May 16, 2009 22:16NK4 changes to the classloader
It''ll be interesting to see if NK4 sorts this problem out. The only reason for this problem that I can see is that classloading is supposed to be synchronized and part of NK3 classloader wasn''t for performance reasons. This could lead to the case of a classloader saying something wasn''t loaded and then when the load was attempted is was now there. We''ve now tightened this up.

Tony
nk4um User
Posts: 156
May 16, 2009 20:51Problem on Solaris
We consistently get this problem with our code on Solaris after a cold restart - both for my personal NK project and the deltaxml web site.

I''ll try and create a more specific reproduction of the problem.

We''re currently looking at this as we are trying to configure Team City for continuous integration with my NK house billing app.
nk4um User
Posts: 89
April 28, 2009 19:56
Hi Gabriel,

Indeed I''ve seen both problems before ;-)

The first one happens (from time to time/always?) when you do a hot restart of the server. Tony also had a look at it once, but until now we haven''t been able to resolve it. My ''solution'' is currently that I always do a full restart of the server when needed.

The second is as Peter described. You are requesting an XML aspect for an XSLT document that has already been compiled into a Tranformer aspect. That aspect can''t be transrepted back into an XSLT document.

So for now I only see a solution for the second problem, i.e., by linking the XML aspect to the Transformer aspect so a Transformer aspect to XML aspect transreptor can just return that aspect.

The first problem would need a new quest for its actual cause ...

Hope this helps (a bit),

Menzo
nk4um Moderator
Posts: 756
April 28, 2009 18:34Suggestions
Hi Gabriel,

Second problem first.  Looks like you are trying to use a variable as XML that has already been transrepted to an XSLTTransformerAspect - ie it must be a stylesheet?  Can you make a reference to the original source rather than the variable?  If you can show some of the code that would help.

First problem - can you post your module.xml where this script is declared.  It looks like the class is being loaded using another classloader prior to this transreptor trying to use a module classloader.

Menzo is the expert on this xslt2 library - if we''re in luck he might have seen this before ;-)

Cheers,

Peter
nk4um User
Posts: 2
April 28, 2009 17:58
Here''s another error we are getting with a different version of the module on the same nk install...

No Transreptor Found
No suitable transreptor found for conversion from [org.ten60.netkernel.xml.accessor.xslt.XSLTransformerAspect] to [org.ten60.netkernel.xml.representation.IXAspect]

executing instruction
INSTR: xslt2 operand=param operator=ffcpl:/resources/main/rdf/xslt/gen-n3.xslt
in idoc
ffcpl:/resources/main/rdf/gen-n3.idoc


Retry the request.

A detailed Exception Trace is available, please report this to the system adminstrator or use it to identify the source of the problem.
Detailed Exception Trace
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE jetty://10.63.60.121:48080/taskmanager-message2rdf-n3+message@ffcpl%3A/messagedata-testdata-IIR-0010.txt in urn:org:ten60:netkernel:tpt:http as com.ten60.netkernel.urii.aspect.IAspectBinaryStream]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:132
com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:346
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:118
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
Id:   Unhandled Exception in Accessor
Message:   org.ten60.docxter2.XRLMapper
Request:   [SOURCE active:mapper+operand@ffcpl:/message2rdf-n3+message@ffcpl%3A/messagedata-testdata-IIR-0010.txt+operator@ffcpl:/etc/links.xml in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.aspect.IAspectBinaryStream]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:115
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:dpml+operand@ffcpl%3A/message2rdf-n3+operand@ffcpl%3A/resources/main/message2rdf-n3.idoc+message@ffcpl%3A/messagedata-testdata-IIR-0010.txt+operator@ffcpl%3A/etc/links.xml in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.aspect.IAspectBinaryStream]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.issueSubRequest() line:273
org.ten60.docxter2.GTPUtils.resolveLink() line:115
org.ten60.docxter2.XRLMapper.processRequest() line:85
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:107
Id:   Unhandled exception in DPML
Message:   INSTR: source uri=ffcpl:/rdf-gen-n3 inline=inline
Request:   ffcpl:/resources/main/message2rdf-n3.idoc
Callstack:   
org.ten60.netkernel.dpml.DPMLAccessor.stateException() line:110
org.ten60.netkernel.dpml.DPMLAccessor.requestAsync() line:102
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:source+uri@ffcpl%3A/rdf-gen-n3+inline@var%3Ainline in urn:org:ten60:netkernel:ext:dpml as java.lang.Object]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:132
com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:346
org.ten60.ura.sys.RequestWithArgsAccessor.requestAsync() line:75
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
Id:   com.ten60.netkernel.util.NetKernelException
Message:   Problem in RequestWithArgs
Callstack:   
org.ten60.ura.sys.RequestWithArgsAccessor.requestAsync() line:70
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE ffcpl:/rdf-gen-n3+inline@var%3Ainline in urn:org:ten60:netkernel:ext:sys as com.ten60.netkernel.urii.IURAspect]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:132
com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:346
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:118
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
Id:   Unhandled Exception in Accessor
Message:   org.ten60.docxter2.XRLMapper
Request:   [SOURCE active:mapper+operand@ffcpl:/rdf-gen-n3+inline@var%3Ainline+operator@ffcpl:/etc/links.xml in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.IURAspect]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:115
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:dpml+operand@ffcpl%3A/rdf-gen-n3+operand@ffcpl%3A/resources/main/rdf/gen-n3.idoc+operator@ffcpl%3A/etc/links.xml+inline@var%3Ainline in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.IURAspect]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.issueSubRequest() line:273
org.ten60.docxter2.GTPUtils.resolveLink() line:115
org.ten60.docxter2.XRLMapper.processRequest() line:85
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:107
Id:   Unhandled exception in DPML
Message:   INSTR: xslt2 operand=param operator=ffcpl:/resources/main/rdf/xslt/gen-n3.xslt
Request:   ffcpl:/resources/main/rdf/gen-n3.idoc
Callstack:   
org.ten60.netkernel.dpml.DPMLAccessor.stateException() line:110
org.ten60.netkernel.dpml.DPMLAccessor.requestAsync() line:102
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:xslt2+operand@var%3Ainline+operator@ffcpl%3A/resources/main/rdf/xslt/gen-n3.xslt in urn:org:ten60:netkernel:ext:dpml as java.lang.Object]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:132
com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:346
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:118
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
Id:   Unhandled Exception in Accessor
Message:   org.ten60.ura.xslt2.XSLTAccessor
Request:   [SOURCE active:xslt2+operand@var%3Ainline+operator@ffcpl%3A/resources/main/rdf/xslt/gen-n3.xslt in urn:org:ten60:netkernel:ext:xquery as java.lang.Object]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:115
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
Id:   Exception during request processing
Message:   whilst transrepresenting result
Request:   [SOURCE ffcpl:/resources/main/rdf/xslt/gen-n3.xslt in urn:org:ten60:netkernel:ext:xquery as org.ten60.ura.xslt2.XSLT2TransformerAspect]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.issueSubRequest() line:273
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.sourceAspect() line:362
org.ten60.ura.xslt2.XSLTAccessor.processRequest() line:61
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:107
Id:   Unhandled Exception in Transreptor
Message:   Unhandled exception thrown by class org.ten60.ura.xslt2.XMLToXSLTransformer
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFTransreptorImpl.transrepresent() line:94
com.ten60.netkernel.scheduler.Scheduler.transrepresent() line:573
com.ten60.netkernel.scheduler.Scheduler.stateTransrepresent() line:532
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:262
Id:   Exception during request processing
Message:   whilst transrepresenting result
Request:   [SOURCE literal:uri_system in urn:org:ten60:netkernel:ext:xquery as org.ten60.netkernel.xml.representation.IXAspect]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.issueSubRequest() line:273
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.sourceAspect() line:362
org.ten60.ura.xslt2.XMLToXSLTransformer.transrepresent() line:84
org.ten60.netkernel.layer1.nkf.impl.NKFTransreptorImpl.transrepresent() line:89
Id:   No Transreptor Found
Message:   No suitable transreptor found for conversion from [org.ten60.netkernel.xml.accessor.xslt.XSLTransformerAspect] to [org.ten60.netkernel.xml.representation.IXAspect]
Callstack:   
com.ten60.netkernel.scheduler.Scheduler.stateTransrepresent() line:547
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:262
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
com.ten60.netkernel.scheduler.Scheduler.requestSynch() line:94
nk4um User
Posts: 2
April 28, 2009 17:13xslt2 accessor nk ver 3.3.1
We are having trouble using the xslt2 accessor in netkernel 3.3.1 via DPML as outlined @ http://www.1060research-server-1.co.uk/docs/3.3.0/book/developerreference/doc_ura_xslt2.html.

Below you''ll find the error we are getting.  Any assistance would be greatly appreciated.

Gabriel

java.lang.LinkageError
loader constraint violation: loader (instance of com/ten60/netkernel/module/ModuleClassLoader) previously initiated loading for a different type with name "javax/xml/namespace/NamespaceContext"

executing instruction
INSTR: xslt2 operand=param operator=ffcpl:/resources/main/rdf/xslt/gen-n3.xslt
in idoc
ffcpl:/resources/main/rdf/gen-n3.idoc


Retry the request.

A detailed Exception Trace is available, please report this to the system adminstrator or use it to identify the source of the problem.
Detailed Exception Trace
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE jetty://10.63.60.121:48080/taskmanager-message2rdf-n3+message@ffcpl%3A/messagedata-testdata-IIR-0010.txt in urn:org:ten60:netkernel:tpt:http as com.ten60.netkernel.urii.aspect.IAspectBinaryStream]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:132
com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:346
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:118
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
Id:   Unhandled Exception in Accessor
Message:   org.ten60.docxter2.XRLMapper
Request:   [SOURCE active:mapper+operand@ffcpl:/message2rdf-n3+message@ffcpl%3A/messagedata-testdata-IIR-0010.txt+operator@ffcpl:/etc/links.xml in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.aspect.IAspectBinaryStream]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:115
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:dpml+operand@ffcpl%3A/message2rdf-n3+operand@ffcpl%3A/resources/main/message2rdf-n3.idoc+message@ffcpl%3A/messagedata-testdata-IIR-0010.txt+operator@ffcpl%3A/etc/links.xml in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.aspect.IAspectBinaryStream]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.issueSubRequest() line:273
org.ten60.docxter2.GTPUtils.resolveLink() line:115
org.ten60.docxter2.XRLMapper.processRequest() line:85
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:107
Id:   Unhandled exception in DPML
Message:   INSTR: source uri=ffcpl:/rdf-gen-n3 inline=inline
Request:   ffcpl:/resources/main/message2rdf-n3.idoc
Callstack:   
org.ten60.netkernel.dpml.DPMLAccessor.stateException() line:110
org.ten60.netkernel.dpml.DPMLAccessor.requestAsync() line:102
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:source+uri@ffcpl%3A/rdf-gen-n3+inline@var%3Ainline in urn:org:ten60:netkernel:ext:dpml as java.lang.Object]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:132
com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:346
org.ten60.ura.sys.RequestWithArgsAccessor.requestAsync() line:75
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
Id:   com.ten60.netkernel.util.NetKernelException
Message:   Problem in RequestWithArgs
Callstack:   
org.ten60.ura.sys.RequestWithArgsAccessor.requestAsync() line:70
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE ffcpl:/rdf-gen-n3+inline@var%3Ainline in urn:org:ten60:netkernel:ext:sys as com.ten60.netkernel.urii.IURAspect]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:132
com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:346
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:118
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
Id:   Unhandled Exception in Accessor
Message:   org.ten60.docxter2.XRLMapper
Request:   [SOURCE active:mapper+operand@ffcpl:/rdf-gen-n3+inline@var%3Ainline+operator@ffcpl:/etc/links.xml in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.IURAspect]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:115
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
Id:   Exception during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:dpml+operand@ffcpl%3A/rdf-gen-n3+operand@ffcpl%3A/resources/main/rdf/gen-n3.idoc+operator@ffcpl%3A/etc/links.xml+inline@var%3Ainline in urn:org:ten60:netkernel:ext:xrl as com.ten60.netkernel.urii.IURAspect]
Callstack:   
org.ten60.netkernel.layer1.nkf.impl.NKFHelperImpl.issueSubRequest() line:273
org.ten60.docxter2.GTPUtils.resolveLink() line:115
org.ten60.docxter2.XRLMapper.processRequest() line:85
org.ten60.netkernel.layer1.nkf.impl.NKFAccessorImpl.requestAsync() line:107
Id:   Unhandled exception in DPML
Message:   INSTR: xslt2 operand=param operator=ffcpl:/resources/main/rdf/xslt/gen-n3.xslt
Request:   ffcpl:/resources/main/rdf/gen-n3.idoc
Callstack:   
org.ten60.netkernel.dpml.DPMLAccessor.stateException() line:110
org.ten60.netkernel.dpml.DPMLAccessor.requestAsync() line:102
com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:439
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:253
Id:   Error during request processing
Message:   whilst waiting for result...
Request:   [SOURCE active:xslt2+operand@var%3Ainline+operator@ffcpl%3A/resources/main/rdf/xslt/gen-n3.xslt in urn:org:ten60:netkernel:ext:dpml as java.lang.Object]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:137
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:290
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
com.ten60.netkernel.scheduler.Scheduler.requestSynch() line:94
Id:   Error during request processing
Message:   whilst transrepresenting result
Request:   [TRANSREPRESENT var:inline in urn:org:ten60:netkernel:ext:xquery as org.ten60.ura.xslt2.TinyTreeAspect]
Callstack:   
com.ten60.netkernel.scheduler.RequestState.setException() line:137
com.ten60.netkernel.scheduler.Scheduler.processRequest() line:290
com.ten60.netkernel.scheduler.Scheduler.innerRequestAsynch() line:148
com.ten60.netkernel.scheduler.Scheduler.requestSynch() line:94
Id:   java.lang.LinkageError
Message:   loader constraint violation: loader (instance of com/ten60/netkernel/module/ModuleClassLoader) previously initiated loading for a different type with name "javax/xml/namespace/NamespaceContext"
Callstack:   
net.sf.saxon.xpath.XPathEvaluator.<init>() line:75
org.ten60.ura.xslt2.XML2TinyTree.transrepresent() line:77
org.ten60.netkernel.layer1.nkf.impl.NKFTransreptorImpl.transrepresent() line:89
com.ten60.netkernel.scheduler.Scheduler.transrepresent() line:573