Raised https://issues.apache.org/jira/browse/JENA-1258
Proposed fix: https://github.com/apache/jena/pull/189 On 7 November 2016 at 00:29, Stian Soiland-Reyes <[email protected]> wrote: > I'll change my vote to a -0 as an ARQ.init(); is sufficient to fix it > for me. Nevertheless, not the kind of bug I would expect from a patch > update.. > > On 7 November 2016 at 00:25, Stian Soiland-Reyes <[email protected]> wrote: >> My problem seems to be with early access of NodeFactory and then >> org.apache.jena.riot.out.NodeFmtLib, e.g. >> >> @Test >> public void testName() throws Exception { >> Node node = NodeFactory.createLiteral("Hello world", "en"); >> assertEquals("\"Hello world\"@en", NodeFmtLib.str(node)); >> } >> >> Fails with: >> >> java.lang.ExceptionInInitializerError >> at org.apache.jena.riot.out.NodeFmtLib.<clinit>(NodeFmtLib.java:55) >> at org.apache.commons.rdf.jena.TestNodeStuff.testName(TestNodeStuff.java:15) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:498) >> at >> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) >> at >> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) >> at >> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) >> at >> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) >> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) >> at >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) >> at >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) >> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) >> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) >> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) >> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) >> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >> at >> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) >> at >> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) >> Caused by: org.apache.jena.sparql.ARQException: Context key is null >> at org.apache.jena.sparql.util.Context._put(Context.java:102) >> at org.apache.jena.sparql.util.Context.set(Context.java:94) >> at >> org.apache.jena.sparql.function.FunctionRegistry.set(FunctionRegistry.java:74) >> at >> org.apache.jena.sparql.function.FunctionRegistry.init(FunctionRegistry.java:48) >> at org.apache.jena.query.ARQ.init(ARQ.java:592) >> at org.apache.jena.sparql.system.InitARQ.start(InitARQ.java:29) >> at org.apache.jena.system.JenaSystem.lambda$init$2(JenaSystem.java:119) >> at java.util.ArrayList.forEach(ArrayList.java:1249) >> at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:194) >> at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:171) >> at org.apache.jena.system.JenaSystem.init(JenaSystem.java:117) >> at org.apache.jena.sparql.ARQConstants.<clinit>(ARQConstants.java:35) >> ... 25 more >> >> >> >> On 7 November 2016 at 00:05, Stian Soiland-Reyes <[email protected]> wrote: >>> Thanks for putting together a 3.1.1 RC! >>> >>> >>> I'm afraid my vote is: >>> >>> -1 (non-binding) >>> >>> because of broken initializers and confusing LICENSE in source archive. >>> >>> >>> Checked: >>> >>> + GPG signatures >>> + source zip matches git commit; adds only (empty) DEPENDENCIES and >>> dependency-reduced-pom.xml >>> - Hashes - you didn't provide dist svn revision or its sha1 hashes, >>> I'll assume rev 16841 >>> - repository JARs/POMs; broken initializers? >>> - LICENSE; confusing, see below >>> 0 NOTICE; see below >>> +1 binaries/apache-jena-3.1.1.tar.gz riot tested with json-ld >>> +1 binaries/apache-jena-fuseki-2.4.1.tar.gz tested with tdb, json-ld >>> upload and sparql >>> +1 mvn install -DskipTests=true >>> +1 mvn clean install (50 minutes!) >>> -1 outdated jackson >>> -1 wrong semantic versioning >>> >>> >>> I am failing this RC as I was unable to use the build artifacts from >>> Commons RDF 0.3.0-SNAPSHOT (master), which works fine with Jena 3.1.0. >>> >>> This seems to be the case both with jena-osgi or with apache-jena-libs >>> <dependency> >>> >>> To replicate, try do "mvn clean install -l api,simple,jena" in >>> https://github.com/stain/incubator-commonsrdf/tree/jena-3.1.1-rc2 >>> >>> Something wrong with the initializers or an internal dependency >>> missing from a pom.xml somewhere..? I'll see what I can figure out >>> and raise in JIRA. >>> >>> >>> JSON-LD is working, however in jena-parent/pom.xm >>> >>> <!-- Used by jena-osgi and must be in-step with jsonldjava --> >>> <ver.jackson>2.6.3</ver.jackson> >>> >>> but the newer jsonld-java 0.8.4 (claims to) need jackson 2.7.4: >>> https://github.com/jsonld-java/jsonld-java/blob/v0.8.3/pom.xml#L44 >>> >>> This might break under OSGi (but I haven't tested, so not a blocker). >>> >>> >>> >>> >>> >>> >>> T E S T S >>> ------------------------------------------------------- >>> Running org.apache.commons.rdf.jena.TestGraphJena >>> Tests run: 10, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 7.327 >>> sec <<< FAILURE! - in org.apache.commons.rdf.jena.TestGraphJena >>> addBlankNodesFromMultipleGraphs(org.apache.commons.rdf.jena.TestGraphJena) >>> Time elapsed: 6.657 sec <<< ERROR! >>> java.lang.ExceptionInInitializerError >>> Caused by: org.apache.jena.sparql.ARQException: Context key is null >>> >>> whyJavaStreamsMightNotTakeOverFromSparql(org.apache.commons.rdf.jena.TestGraphJena) >>> Time elapsed: 0.041 sec <<< ERROR! >>> java.lang.NoClassDefFoundError >>> Caused by: java.lang.NoClassDefFoundError: Could not initialize class >>> org.apache.jena.riot.out.NodeFmtLib >>> >>> Running org.apache.commons.rdf.jena.TestJenaGraphToCommonsRDFGraph >>> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.336 >>> sec <<< FAILURE! - in >>> org.apache.commons.rdf.jena.TestJenaGraphToCommonsRDFGraph >>> jenaToCommonsRDF(org.apache.commons.rdf.jena.TestJenaGraphToCommonsRDFGraph) >>> Time elapsed: 0.314 sec <<< ERROR! >>> java.lang.NoClassDefFoundError: Could not initialize class >>> org.apache.jena.sparql.ARQConstants >>> at >>> org.apache.commons.rdf.jena.TestJenaGraphToCommonsRDFGraph.jenaToCommonsRDF(TestJenaGraphToCommonsRDFGraph.java:63) >>> >>> >>> By changing to jena-osgi 3.1.1 in >>> https://github.com/apache/incubator-commonsrdf (jena.version in >>> pom.xml) >>> and adding >>> https://repository.apache.org/content/repositories/orgapachejena-1015/ >>> as staging repository. >>> >>> >>> >>> I get the same errors if instead if instead of jena-osgi I try to use: >>> >>> <dependency> >>> <groupId>org.apache.jena</groupId> >>> <artifactId>apache-jena-libs</artifactId> >>> <version>${jena.version}</version> >>> <type>pom</type> >>> </dependency> >>> >>> >>> And again the same error if I use the locally mvn install-ed JARs. >>> >>> >>> Is an internal dependency missing? >>> >>> >>> Not sure if this warning when building jena-osgi is related: >>> >>> >>> [WARNING] Bundle org.apache.jena:jena-osgi:bundle:3.1.1 : Split >>> package, multiple jars provide the same package:org/apache/jena/system >>> Use Import/Export Package directive >>> -split-package:=(merge-first|merge-last|error|first) to get rid of >>> this warning >>> Package found in [Jar:jena-arq, Jar:jena-core] >>> Class path [Jar:., Jar:jena-arq, Jar:jena-core, >>> Jar:xercesImpl, Jar:commons-cli, Jar:jena-base, Jar:collection, >>> Jar:org.apache.servicemix.bundles.xerces, Jar:xml-apis, >>> Jar:jena-shaded-guava, Jar:guava, Jar:jena-tdb, Jar:jena-iri, >>> Jar:httpclient-osgi, Jar:httpcore-osgi, Jar:jsonld-java, >>> Jar:jackson-core, Jar:jackson-databind, Jar:jackson-annotations, >>> Jar:commons-io, Jar:commons-csv, Jar:libthrift, Jar:jcl-over-slf4j, >>> Jar:slf4j-api, Jar:commons-lang3, Jar:org.osgi.core, >>> Jar:slf4j-log4j12, Jar:log4j] >>> [WARNING] Bundle org.apache.jena:jena-osgi:bundle:3.1.1 : Unused >>> Import-Package instructions: [org.apache.xml.*] >>> >>> >>> >>> Another thing, LICENSE file of jena-3.1.1-source-release.zip says >>> >>> >>>> The following files contain code contributed by Plugged In Software: >>>> >>>> src/main/java/org/apache/jena/rdf/arp/ExtendedHandler.java >>>> src/main/java/org/apache/jena/rdf/arp/impl/XMLHandler.java >>>> src/main/java/org/apache/jena/rdf/arp/ARP.java >>> >>> but the correct file paths are presumably these under jena-core/ and >>> in different packages: >>> >>> jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/ExtendedHandler.java >>> jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/impl/XMLHandler.java >>> jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/ARP.java >>> >>> I wonder why these files have BOTH the Apache license and BSD >>> license.. particularly with the confusing "see end of line for BSD >>> license" comment at the top. I presume this means they also include >>> substantial ASF contributions (beyond adding a header) as otherwise >>> the policy normally is to leave the file at its original license? Why >>> is the BSD license at the end? >>> >>> This is not a showstopper for this RC as the files (which have the >>> same filename, just wrong path) also include the BSD license text, >>> just some paths to fix for later. >>> >>> >>> >>> However I am not to keen with the very end of the LICENSE file: >>> >>>> - - - - - - - - - - - - - - - - - - - - - - - >>>> >>>> Copyright (c) 2004-2009 Mort Bay Consulting Pty. Ltd. >>>> >>>> All rights reserved. This program and the accompanying materials >>>> are made available under the terms of the Eclipse Public License v1.0 >>>> and Apache License v2.0 which accompanies this distribution. >>>> >>>> The Eclipse Public License is available at >>>> http://www.eclipse.org/legal/epl-v10.html >>>> The Apache License v2.0 is available at >>>> http://www.opensource.org/licenses/apache2.0.php >>> >>> >>> >>> This sounds wrong to me. What is it that is (c) 2004-2009 Mort Bay? >>> And where is the Eclipse Public License "which accompanies this >>> distribution"? Why is the Apache license linked to at >>> www.opensource.org rather than the text above in the file or the >>> canonical www.apache.org/licenses/LICENSE-2.0? Also if it is here >>> used only under the Apache license, why do we also say that "this >>> program" (Jena?) is under Eclipse Public License, when presumably only >>> some of the files are? >>> >>> >>> Related in NOTICE: >>> >>>> Apache Jena >>>> Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Apache Software Foundation >>>> .. >>>> - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 >>>> Hewlett-Packard Development Company, LP >>> >>> >>> I guess no need to list all the years, 2011-2016 and 2001-2009 would >>> suffice. >>> >>>> This product includes software developed by >>>> PluggedIn Software under a BSD license. >>> >>> Was this originally in NOTICE pre Apache? It should not need to be >>> listed in NOTICE as well - particularly as "includes software" is >>> all-inclusive - if it's just those three files then without noting >>> that, these notice line has to be propagated by downstream even when >>> they are irrelevant. >>> >>> >>> >>> Just another plea for a bit of Semantic Versioning.. http://semver.org/ >>> >>> >>> I ran japicmp on jena-core, which highlights these potential breaking >>> changes from 3.1.0: >>> >>> https://gist.github.com/stain/175df0c62d6cac451d35ab11f90a7ab6 >>> >>> Do we have a changelog for these..? (Ignoring impls) >>> >>> I would have called this version 3.2.0 instead - I remember several >>> times when a "patch" update of Jena has lots of big changes in other >>> code; I guess after 6 months of hard work we can't aim for patch >>> compatibility anymore so it's just fair to go for 3.2.0 even if >>> there's nothing new politically. >>> >>> >>> >>> >>> >>> For archival purposes, these are the sha1sums from dist 16841 which I >>> assume are the ones that are candidates of this vote. >>> >>> 153605cbfc13f399cb362bec59fee1d08b640e67 >>> source/jena-3.1.1-source-release.zip >>> 57a2b65ddcc01d386d09dceaf576188f49c66fe0 binaries/apache-jena-3.1.1.zip >>> 45015ea71a312d92a0b23a454b36aed8ea46e3e2 >>> binaries/apache-jena-fuseki-2.4.1.zip >>> 3adcaf35eb0d9be850cfa2f9e4fae7e5db6ac9b6 >>> binaries/jena-fuseki1-1.4.1-distribution.zip >>> a47ede6aad31cde586f33a0b22389bff91257543 binaries/apache-jena-3.1.1.tar.gz >>> d9d73ef66eaec85af1f7939aaa79bf8546a0a493 >>> binaries/apache-jena-fuseki-2.4.1.tar.gz >>> 70bf6c6ed2534da9b13a979cdeb5caf557552d68 >>> binaries/jena-fuseki1-1.4.1-distribution.tar.gz >>> >>> >>> Build tested on Ubuntu 16.04 x64 with: >>> >>> Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; >>> 2015-11-10T16:41:47+00:00) >>> Maven home: /home/stain/software/maven >>> Java version: 1.8.0_91, vendor: Oracle Corporation >>> Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre >>> Default locale: en_GB, platform encoding: UTF-8 >>> OS name: "linux", version: "4.4.0-45-generic", arch: "amd64", family: "unix" >>> >>> On 4 November 2016 at 22:43, Andy Seaborne <[email protected]> wrote: >>>> >>>> Hi, >>>> >>>> Here is a vote on a release of Jena 3.1.1 >>>> (with Fuseki 2.4.1 and Fuseki 1.4.1). >>>> >>>> This is the second proposed candidate for this release. >>>> >>>> ** My signing key has changed - to verify, use the key in ** >>>> ** https://svn.apache.org/repos/asf/jena/dist/KEYS ** >>>> ** for [email protected]. ** >>>> >>>> * Dependency changes: >>>> >>>> New module: >>>> jena-fuseki2/jena-fuseki-embedded >>>> >>>> Updates: >>>> com.github.jsonld-java:jsonld-java 0.7.0 -> 0.8.3 >>>> >>>> org.apache.httpcomponents:httpClient 4.2.6 -> 4.5.2 >>>> org.apache.httpcomponents:httpCache 4.2.6 -> 4.5.2 >>>> org.apache.httpcomponents:httpCore 4.2.5 -> 4.4.4 >>>> >>>> com.jayway.awaitility:awaitility 1.6.4 -> 1.7.0 >>>> com.spatial4j:spatial4j 0.4.1 -> 0.5 >>>> org.slf4j:* 1.7.20 -> 1.7.21 >>>> commons-codec:commons-codec 1.9 -> 1.10 >>>> org.apache.commons:commons-collections4 4.0 -> 4.1 >>>> org.apache.commons:commons-csv 1.0 -> 1.3 >>>> org.apache.commons:commons-lang3 3.3.2 -> 3.4 >>>> org.apache.thrift:libthrift 0.9.2 -> 0.9.3 >>>> org.apache.mrunit:mrunit 1.0.0 -> 1.1.0 >>>> com.github.rvesse:airline 2.1.0 -> 2.1.1 >>>> >>>> >>>> Key features of the release: >>>> >>>> * Improve JSON-LD output >>>> JENA-1208 - François-Paul Servant >>>> http://jena.staging.apache.org/documentation/io/rdf-output.html#json-ld >>>> >>>> * Completed F&O XPath3 functions >>>> JENA-508 - Alessandro Seganti >>>> >>>> * ComplexPhraseQueryParser >>>> JENA-1180 - Andrew Dolby >>>> >>>> * Additional vocabularies (DCAT, VoID, ROV, ORG) >>>> JENA-1206 - Bart Hanssens >>>> >>>> * Improvement to the Fuseki service script for RHEL/Centos 6. >>>> JENA-1219 - Dan Pritts >>>> >>>> * ORDER BY now cancelable. >>>> >>>> * Txn : a highlevel API for working with transactions >>>> http://jena.staging.apache.org/documentation/txn/txn.html >>>> >>>> * Embedded Fuseki >>>> http://jena.staging.apache.org/documentation/fuseki2/fuseki-embedded.html >>>> >>>> * Property path speed ups (JENA-1195) >>>> >>>> * Upgrade to Apache HttpClient v4.3 API >>>> => auth changes cause API changes. >>>> >>>> >>>> Everyone, not just committers, is invited to test and vote. >>>> >>>> Staging repository: >>>> https://repository.apache.org/content/repositories/orgapachejena-1015/ >>>> >>>> Proposed dist/ area: >>>> https://dist.apache.org/repos/dist/dev/jena/ >>>> >>>> Keys: >>>> https://svn.apache.org/repos/asf/jena/dist/KEYS >>>> ** NB signing key has changed. >>>> >>>> >>>> Git commit (browser URL): >>>> https://git-wip-us.apache.org/repos/asf/jena/commit/f7b3c416 >>>> >>>> Git Commit Hash: >>>> f7b3c416328bba4b8044e4ea8ad80e09ac51d720 >>>> >>>> Git Commit Tag: >>>> jena-3.1.1-rc2 >>>> >>>> Please vote to approve this release: >>>> >>>> [ ] +1 Approve the release >>>> [ ] 0 Don't care >>>> [ ] -1 Don't release, because ... >>>> >>>> This vote will be open to at least >>>> >>>> Monday, 7 Nov 2016, 23:59 UTC >>>> >>>> If you expect to check the release but the 72 hour limit does not work >>>> for you, please email within the schedule above with an expected time >>>> and we can extend the vote period. >>>> >>>> Thanks, >>>> >>>> Andy >>>> >>>> Checking needed: >>>> >>>> + does everything work on Linux? >>>> + does everything work on MS Windows? >>>> + does everything work on OS X? >>>> + are the GPG signatures fine? >>>> + are the checksums correct? >>>> + is there a source archive? >>>> + can the source archive really be built? >>>> + is there a correct LICENSE and NOTICE file in each artifact >>>> (both source and binary artifacts)? >>>> + does the NOTICE file contain all necessary attributions? >>>> + have any licenses of dependencies changed due to upgrades? >>>> if so have LICENSE and NOTICE been upgraded appropriately? >>>> + does the tag/commit in the SCM contain reproducible sources? >>> >>> >>> >>> -- >>> Stian Soiland-Reyes >>> http://orcid.org/0000-0001-9842-9718 >> >> >> >> -- >> Stian Soiland-Reyes >> http://orcid.org/0000-0001-9842-9718 > > > > -- > Stian Soiland-Reyes > http://orcid.org/0000-0001-9842-9718 -- Stian Soiland-Reyes http://orcid.org/0000-0001-9842-9718
