Hello,

  while updating our OSGi-based software to Jena 3.* we experience some tricky 
errors.
 The following 3 test scenarios were run on a Ubuntu Linux 12.04, 64bit, Java 
1.8.0.

Test 1

- Using standard Karaf 3.0.5
- Jena-OSGi built from Git including new patches for: 
https://github.com/apache/jena/pull/126
- Jena-OSGi deployed in unmodified state containing the embedded Xerces 2.11 
dependency
- There is a Xerces 2.11 version placed in "$Karaf/lib/endorsed". A related 
error was reported:

   https://github.com/sgtp/SemScape/issues/6

  but Xerces is mandatory for Karaf 3.0.5, it won't start otherwise.

2016-03-15 14:02:02,140 | ERROR | qlUpdateService) | impl                       
      | 120 - eu.link
smart.metadata.impl - 0.0.1.SNAPSHOT | [SparqlQueryManager(8)] The activate 
method has thrown an exce
ption
java.lang.VerifyError: (class: org/apache/xerces/impl/dv/xs/AbstractDateTimeDV, method: <clinit> signature: ()V) Bad type in putfield/putstatic
        at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.<clinit>(Unknown 
Source)[:]
        at 
org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.createBuiltInTypes(Unknown 
Source)[:]
        at org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.<clinit>(Unknown 
Source)[:]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method)[:1.8.0_05]
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)[:1.8.0_05]
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.8.0_05]
        at 
java.lang.reflect.Constructor.newInstance(Constructor.java:408)[:1.8.0_05]
        at java.lang.Class.newInstance(Class.java:433)[:1.8.0_05]
        at org.apache.xerces.impl.dv.ObjectFactory.newInstance(Unknown 
Source)[:]
        at org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(Unknown 
Source)[:]
        at org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(Unknown 
Source)[:]
        at 
org.apache.jena.datatypes.xsd.XSDDatatype.<init>(XSDDatatype.java:238)
        at 
org.apache.jena.datatypes.xsd.XSDDatatype.<init>(XSDDatatype.java:250)
        at org.apache.jena.datatypes.xsd.impl.XSDFloat.<init>(XSDFloat.java:49)
        at 
org.apache.jena.datatypes.xsd.XSDDatatype.<clinit>(XSDDatatype.java:62)
        at org.apache.jena.sparql.graph.NodeConst.<clinit>(NodeConst.java:39)
        at org.apache.jena.sparql.lang.ParserBase.<init>(ParserBase.java:63)
        at 
org.apache.jena.sparql.lang.SPARQLParserBase.<init>(SPARQLParserBase.java:49)

Leads to:

2016-03-15 14:02:02,162 | ERROR | qlUpdateService) | impl | 120 - eu.linksmart.metadata.impl - 0.0.1.SNAPSHOT | [SparqlQueryManager(8)] The activate method has thrown an exception
java.lang.NoClassDefFoundError: Could not initialize class 
org.apache.jena.sparql.graph.NodeConst
        at org.apache.jena.sparql.lang.ParserBase.<init>(ParserBase.java:63)
        at 
org.apache.jena.sparql.lang.SPARQLParserBase.<init>(SPARQLParserBase.java:49)
        at 
org.apache.jena.sparql.lang.sparql_11.SPARQLParser11Base.<init>(SPARQLParser11Base.java:22)
        at 
org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.<init>(SPARQLParser11.java:4974)
        at 
org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:92)
        at 
org.apache.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:52)
        at org.apache.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:34)
        at org.apache.jena.query.QueryFactory.parse(QueryFactory.java:147)


Test 2

- Removed Xerces from Jena-OSGi bundle
- Added Import-package directive for those packages in Jena-OSGi
- Apparently there is no problem with missing packages, the only permanent 
error:

2016-03-15 14:21:40,382 | ERROR | qlUpdateService) | impl | 120 - eu.linksmart.metadata.impl - 0.0.1.SNAPSHOT | [SparqlQueryManager(8)] The activate method has thrown an exception
java.lang.NullPointerException
        at org.apache.jena.query.ARQ.isTrue(ARQ.java:620)
        at org.apache.jena.sparql.lang.ParserBase.<init>(ParserBase.java:307)
        at 
org.apache.jena.sparql.lang.SPARQLParserBase.<init>(SPARQLParserBase.java:49)
        at 
org.apache.jena.sparql.lang.sparql_11.SPARQLParser11Base.<init>(SPARQLParser11Base.java:22)
        at 
org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.<init>(SPARQLParser11.java:4974)
        at 
org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:92)
        at 
org.apache.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:52)
        at org.apache.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:34)
        at org.apache.jena.query.QueryFactory.parse(QueryFactory.java:147)
        at org.apache.jena.query.QueryFactory.create(QueryFactory.java:79)
        at org.apache.jena.query.QueryFactory.create(QueryFactory.java:52)
        at org.apache.jena.query.QueryFactory.create(QueryFactory.java:40)

Test 3  
        
- Using Karaf 4.0.4
- It seems o.k. with this version to remove Xerces 2.11 from 
"$Karaf/lib/endorsed"
- Same error, ARQ does not seem to be configured correctly:

[SparqlQueryManager(4)] The activate method has thrown an exception
java.lang.NullPointerException
        at org.apache.jena.query.ARQ.isTrue(ARQ.java:620)
        at org.apache.jena.sparql.lang.ParserBase.<init>(ParserBase.java:307)
        at 
org.apache.jena.sparql.lang.SPARQLParserBase.<init>(SPARQLParserBase.java:49)
        at 
org.apache.jena.sparql.lang.sparql_11.SPARQLParser11Base.<init>(SPARQLParser11Base.java:22)
        at 
org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.<init>(SPARQLParser11.java:4974)
        at 
org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:92)
        at 
org.apache.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:52)
        at org.apache.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:34)
        at org.apache.jena.query.QueryFactory.parse(QueryFactory.java:147)
        at org.apache.jena.query.QueryFactory.create(QueryFactory.java:79)
        at org.apache.jena.query.QueryFactory.create(QueryFactory.java:52)
        at org.apache.jena.query.QueryFactory.create(QueryFactory.java:40)
        at 
eu.linksmart.metadata.service.impl.sparql.SparqlQueryServiceImpl.createQuery(SparqlQueryServiceImpl.java:109)


  Your help is highly appreciated!
   Best regards
  Jaro


--
Jaroslav Pullmann
Fraunhofer Institute for Applied Information Technology FIT
Web Compliance Center: http://imergo.com/ · http://imergo.de/
Schloss Birlinghoven, D-53757 Sankt Augustin, Germany
Phone: +49-2241-142623 · Fax: +49-2241-142065

Reply via email to