Just for a data point, I just ran a full `mvn clean install` from current master in 512MB heap.
Of course, TDB1 (and I assume 2 as well) can use significant amounts of off-heap memory. ajs6f > On Oct 14, 2018, at 10:02 AM, Claude Warren <cla...@xenei.com> wrote: > > I did have Eclipse running but shut it down and executed "mvn clean install > -Pdev" but get the problems mentioned above. > > Is there a minimal memory required for compilation? This is an old system > so perhaps I am hitting that. > > On Sun, Oct 14, 2018 at 1:48 PM Andy Seaborne <a...@apache.org> wrote: > >> On 14/10/18 10:13, Claude Warren wrote: >>> OK. I have maven produce a classpath file for me so I know what >>> classpath it is using. >> >> How are you running tests and your IDE? >> I use the mavenr nature of projects, not the old command line "generate >> .classpath" etc. >> >> For a new version, in Eclipse you must do Alt-F5 (Maven update) for >> everything; it is also good to do maven and also it is cleaner to do a >> maven build locally beforehand. This puls down the non-java POMS which >> get out of step is the parent is not open in Eclipse. >> >> No producing .classpaths etc m2e does it automatically. >> >> On 14/10/18 10:13, Claude Warren wrote: >>> So does the TDB2 system somehow build a new classpath? >> >> No. >> >>> Does the test system create a new classpath? >> >> No. >> >>> Is there some way the original classpath >>> could have been modified before the test was called? >> >> I don't see how it could. >> >> "mvn clean install -Pdev" works for me locally. >> >> Andy >> >> >> >> >> On 14/10/18 10:13, Claude Warren wrote: >>> OK. I have maven produce a classpath file for me so I know what >> classpath >>> it is using. >>> I created a shell script to execute a single junit test outside of maven. >>> Using org.junit.runner.JUnitCore I am executing >>> org.apache.jena.tdb2.assembler.TestTDBAssembler >>> >>> I get: >>> .E.E.E.E.E.E.org.apache.jena.dboe.base.file.AlreadyLocked: Failed to get >> a >>> lock: >>> >> file='/home/claude/apache/jena/jena-db/jena-tdb2/target/tdb-testing/DB/tdb.lock': >>> Lock already held at >>> >> org.apache.jena.dboe.base.file.ProcessFileLock.lockOperation(ProcessFileLock.java:187) >>> at >>> >> org.apache.jena.dboe.base.file.ProcessFileLock.lockEx(ProcessFileLock.java:125) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.buildForCache(DatabaseConnection.java:88) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.lambda$0(DatabaseConnection.java:76) >>> at >>> >> java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.make(DatabaseConnection.java:76) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:61) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:52) >>> at >>> org.apache.jena.tdb2.DatabaseMgr.DB_ConnectCreate(DatabaseMgr.java:39) >>> .... >>> >>> The tdb.lock file does not exists before or after the run so it does get >>> cleaned up. >>> >>> At the bottom of the above exception the output goes on with: >>> >>> E >>> Time: 1.254 >>> There were 7 failures: >>> 1) createDatasetDirect(org.apache.jena.tdb2.assembler.TestTDBAssembler) >>> java.lang.NoClassDefFoundError: >>> org/apache/jena/dboe/trans/bplustree/BPlusTreeFactory >>> at >>> org.apache.jena.tdb2.setup.TDBBuilder.buildRangeIndex(TDBBuilder.java:89) >>> at >>> >> org.apache.jena.tdb2.setup.TDBBuilder.buildBaseNodeTable(TDBBuilder.java:97) >>> at >>> >> org.apache.jena.tdb2.setup.AbstractTDBBuilder.buildNodeTable(AbstractTDBBuilder.java:219) >>> at >>> >> org.apache.jena.tdb2.setup.AbstractTDBBuilder.build$(AbstractTDBBuilder.java:94) >>> at org.apache.jena.tdb2.setup.TDBBuilder.build(TDBBuilder.java:65) >>> at >>> org.apache.jena.tdb2.sys.StoreConnection.make(StoreConnection.java:93) >>> at >>> >> org.apache.jena.tdb2.sys.StoreConnection.connectCreate(StoreConnection.java:61) >>> at >>> >> org.apache.jena.tdb2.sys.StoreConnection.connectCreate(StoreConnection.java:52) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseOps.createSwitchable(DatabaseOps.java:99) >>> at org.apache.jena.tdb2.sys.DatabaseOps.create(DatabaseOps.java:78) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.buildForCache(DatabaseConnection.java:90) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.lambda$0(DatabaseConnection.java:76) >>> at >>> >> java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.make(DatabaseConnection.java:76) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:61) >>> at >>> >> org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:52) >>> at >>> org.apache.jena.tdb2.DatabaseMgr.DB_ConnectCreate(DatabaseMgr.java:39) >>> at >>> org.apache.jena.tdb2.DatabaseMgr.connectDatasetGraph(DatabaseMgr.java:44) >>> at >>> >> org.apache.jena.tdb2.assembler.DatasetAssemblerTDB.make(DatasetAssemblerTDB.java:59) >>> at >>> >> org.apache.jena.tdb2.assembler.DatasetAssemblerTDB.createDataset(DatasetAssemblerTDB.java:50) >>> at >>> >> org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:43) >>> at >>> >> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157) >>> at >>> >> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144) >>> at >>> >> org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93) >>> at >>> >> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39) >>> at >>> >> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35) >>> at >>> >> org.apache.jena.sparql.core.assembler.AssemblerUtils.build(AssemblerUtils.java:126) >>> at >>> >> org.apache.jena.tdb2.assembler.TestTDBAssembler.createTest(TestTDBAssembler.java:76) >>> at >>> >> org.apache.jena.tdb2.assembler.TestTDBAssembler.createDatasetDirect(TestTDBAssembler.java:67) >>> 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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) >>> 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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) >>> at >>> >> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>> at org.junit.runners.Suite.runChild(Suite.java:128) >>> at org.junit.runners.Suite.runChild(Suite.java:27) >>> 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.junit.runner.JUnitCore.run(JUnitCore.java:137) >>> at org.junit.runner.JUnitCore.run(JUnitCore.java:115) >>> at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77) >>> at org.junit.runner.JUnitCore.main(JUnitCore.java:36) >>> Caused by: java.lang.ClassNotFoundException: >>> org.apache.jena.dboe.trans.bplustree.BPlusTreeFactory >>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) >>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) >>> ... 61 more >>> >>> >>> errors 1 through 6 are the NoClassDefFoundErrors all missing >>> BPlusTreeFactory while error 7 is the existence of the lock file. I >>> suspect the first reporting of the error simply shows the last error and >>> then lists all the errors. >>> >>> I have checked and the jar with BPlusTreeFactory >>> (jena-dboe-trans-data-3.10.0-SNAPSHOT.jar) is on the classpath and does >>> contain the BPlusTreeFactory. >>> >>> So does the TDB2 system somehow build a new classpath? Does the test >>> system create a new classpath? Is there some way the original classpath >>> could have been modified before the test was called? >>> >>> Any assistance is appreciated. >>> Claude >>> >>> >>> >>> On Sat, Oct 13, 2018 at 8:52 PM Claude Warren <cla...@xenei.com> wrote: >>> >>>> I shut down Eclipse. No joy. >>>> >>>> On Sat, Oct 13, 2018 at 8:03 PM Andy Seaborne <a...@apache.org> wrote: >>>> >>>>> Do you have Eclipse running as well? >>>>> >>>>> I have found that sometimes, Eclipse notices changes due "mvn clean" >>>>> then Eclipse and mvn compete to build things. Generally, leaving the >>>>> Eclipse UI alone is OK (not perfect). >>>>> >>>>> Andy >>>>> >>>>> On 13/10/18 17:45, Claude Warren wrote: >>>>>> When I execute >>>>>> >>>>>> mvn clean install -Pdev >>>>>> >>>>>> I get errors in TDB2 build along the line of: >>>>>> >>>>>> TEST-org.apache.jena.tdb2.sys.TestDatabaseOps.xml: <error >>>>> message="Could >>>>>> not initialize class org.apache.jena.tdb2.sys.SystemTDB" >>>>>> type="java.lang.NoClassDefFoundError">java.lang.NoClassDefFoundError: >>>>> Could >>>>>> not initialize class org.apache.jena.tdb2.sys.SystemTDB >>>>>> >>>>>> The list of classes not found seems to be: >>>>>> >>>>>> org.apache.jena.tdb2.assembler.TestTDBAssembler" >>>>>> org.apache.jena.tdb2.ConfigTest" >>>>>> org.apache.jena.tdb2.loader.AbstractTestLoader" >>>>>> org.apache.jena.tdb2.setup.StoreParamsConst" >>>>>> org.apache.jena.tdb2.setup.TestStoreParamsChoose" >>>>>> org.apache.jena.tdb2.setup.TestStoreParamsCreate" >>>>>> org.apache.jena.tdb2.solver.TestStats" >>>>>> org.apache.jena.tdb2.store.NodeId" >>>>>> org.apache.jena.tdb2.store.nodetable.TestNodeTableStored" >>>>>> org.apache.jena.tdb2.store.nodetable.TestNodeTableStoredBase" >>>>>> org.apache.jena.tdb2.sys.SystemTDB" >>>>>> org.apache.jena.tdb2.TDB2" >>>>>> >>>>>> (The above was extracted using grep NoClassDefFound * | cut -d' ' >> -f10 | >>>>>> sort | uniq) >>>>>> >>>>>> java -version >>>>>> openjdk version "1.8.0_181" >>>>>> OpenJDK Runtime Environment (build >>>>> 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13) >>>>>> OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) >>>>>> >>>>>> any ideas what might be wrong? >>>>>> >>>>>> >>>>>> Any ideas what >>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> I like: Like Like - The likeliest place on the web >>>> <http://like-like.xenei.com> >>>> LinkedIn: http://www.linkedin.com/in/claudewarren >>>> >>> >>> >> > > > -- > I like: Like Like - The likeliest place on the web > <http://like-like.xenei.com> > LinkedIn: http://www.linkedin.com/in/claudewarren