[ https://issues.apache.org/jira/browse/JENA-1485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne updated JENA-1485: -------------------------------- Description: I have a Debian guest VM running on MacOSX host. Running any `tdb*` utility works on MacOSX but doesn't work on Debian: {{$ tdbstats --loc=tdb}} {noformat} org.apache.jena.tdb.base.file.FileException: BlockMgrMapped.segmentAllocate: Segment = 0 at org.apache.jena.tdb.base.file.BlockAccessMapped.allocSegment(BlockAccessMapped.java:231) at org.apache.jena.tdb.base.file.BlockAccessMapped.getByteBuffer(BlockAccessMapped.java:157) at org.apache.jena.tdb.base.file.BlockAccessMapped.allocate(BlockAccessMapped.java:85) at org.apache.jena.tdb.base.block.BlockMgrFileAccess.allocate(BlockMgrFileAccess.java:50) at org.apache.jena.tdb.base.block.BlockMgrBase.allocate(BlockMgrBase.java:44) at org.apache.jena.tdb.base.block.BlockMgrWrapper.allocate(BlockMgrWrapper.java:46) at org.apache.jena.tdb.base.block.BlockMgrFreeChain.allocate(BlockMgrFreeChain.java:48) at org.apache.jena.tdb.base.page.PageBlockMgr.create(PageBlockMgr.java:51) at org.apache.jena.tdb.index.bplustree.BPTreeRecordsMgr.create(BPTreeRecordsMgr.java:79) at org.apache.jena.tdb.index.bplustree.BPTreeNodeMgr.createEmptyBPT(BPTreeNodeMgr.java:52) at org.apache.jena.tdb.index.bplustree.BPlusTree.createIfAbsent(BPlusTree.java:213) at org.apache.jena.tdb.index.bplustree.BPlusTree.create(BPlusTree.java:139) at org.apache.jena.tdb.setup.DatasetBuilderStd.createBPTree(DatasetBuilderStd.java:114) at org.apache.jena.tdb.setup.DatasetBuilderStd.buildRangeIndex(DatasetBuilderStd.java:80) at org.apache.jena.tdb.setup.DatasetBuilderStd.buildIndex(DatasetBuilderStd.java:86) at org.apache.jena.tdb.setup.DatasetBuilderStd.buildNodeTable(DatasetBuilderStd.java:353) at org.apache.jena.tdb.setup.DatasetBuilderStd.makeNodeTable$(DatasetBuilderStd.java:345) at org.apache.jena.tdb.setup.DatasetBuilderStd.makeNodeTable(DatasetBuilderStd.java:338) at org.apache.jena.tdb.setup.DatasetBuilderStd.buildWorker(DatasetBuilderStd.java:215) at org.apache.jena.tdb.setup.DatasetBuilderStd._build(DatasetBuilderStd.java:209) at org.apache.jena.tdb.setup.DatasetBuilderStd.build(DatasetBuilderStd.java:198) at org.apache.jena.tdb.setup.DatasetBuilderStd.create(DatasetBuilderStd.java:143) at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:213) at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:220) at org.apache.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:70) at org.apache.jena.tdb.sys.TDBMaker._create(TDBMaker.java:55) at org.apache.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:42) at org.apache.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:89) at org.apache.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:71) at org.apache.jena.tdb.TDBFactory.createDataset(TDBFactory.java:55) at tdb.cmdline.ModTDBDataset.createDataset(ModTDBDataset.java:103) at arq.cmdline.ModDataset.getDataset(ModDataset.java:36) at tdb.cmdline.CmdTDB.getDataset(CmdTDB.java:80) at tdb.cmdline.CmdTDB.getDatasetGraph(CmdTDB.java:71) at tdb.cmdline.CmdTDB.getDatasetGraphTDB(CmdTDB.java:75) at tdb.tdbstats.exec(tdbstats.java:98) at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) at jena.cmd.CmdMain.mainRun(CmdMain.java:58) at jena.cmd.CmdMain.mainRun(CmdMain.java:45) at tdb.tdbstats.main(tdbstats.java:44) Caused by: java.io.IOException: Invalid argument at sun.nio.ch.FileChannelImpl.map0(Native Method) at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:926) at org.apache.jena.tdb.base.file.BlockAccessMapped.allocSegment(BlockAccessMapped.java:223) ... 39 more {noformat} The only difference I could spot was the JDK versions: * Debian (64-bit) {{openjdk version "1.8.0_131"}} {{OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)}} {{OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)}} * MacOSX (64-bit) {{java version "1.8.0_51"}} {{Java(TM) SE Runtime Environment (build 1.8.0_51-b16)}} {{Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)}} was: I have a Debian guest VM running on MacOSX host. Running any `tdb*` utility works on MacOSX but doesn't work on Debian: {{$ tdbstats --loc=tdb}} {{org.apache.jena.tdb.base.file.FileException: BlockMgrMapped.segmentAllocate: Segment = 0}}{{ at org.apache.jena.tdb.base.file.BlockAccessMapped.allocSegment(BlockAccessMapped.java:231)}}{{ at org.apache.jena.tdb.base.file.BlockAccessMapped.getByteBuffer(BlockAccessMapped.java:157)}}{{ at org.apache.jena.tdb.base.file.BlockAccessMapped.allocate(BlockAccessMapped.java:85)}}{{ at org.apache.jena.tdb.base.block.BlockMgrFileAccess.allocate(BlockMgrFileAccess.java:50)}}{{ at org.apache.jena.tdb.base.block.BlockMgrBase.allocate(BlockMgrBase.java:44)}}{{ at org.apache.jena.tdb.base.block.BlockMgrWrapper.allocate(BlockMgrWrapper.java:46)}}{{ at org.apache.jena.tdb.base.block.BlockMgrFreeChain.allocate(BlockMgrFreeChain.java:48)}}{{ at org.apache.jena.tdb.base.page.PageBlockMgr.create(PageBlockMgr.java:51)}}{{ at org.apache.jena.tdb.index.bplustree.BPTreeRecordsMgr.create(BPTreeRecordsMgr.java:79)}}{{ at org.apache.jena.tdb.index.bplustree.BPTreeNodeMgr.createEmptyBPT(BPTreeNodeMgr.java:52)}}{{ at org.apache.jena.tdb.index.bplustree.BPlusTree.createIfAbsent(BPlusTree.java:213)}}{{ at org.apache.jena.tdb.index.bplustree.BPlusTree.create(BPlusTree.java:139)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.createBPTree(DatasetBuilderStd.java:114)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.buildRangeIndex(DatasetBuilderStd.java:80)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.buildIndex(DatasetBuilderStd.java:86)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.buildNodeTable(DatasetBuilderStd.java:353)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.makeNodeTable$(DatasetBuilderStd.java:345)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.makeNodeTable(DatasetBuilderStd.java:338)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.buildWorker(DatasetBuilderStd.java:215)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd._build(DatasetBuilderStd.java:209)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.build(DatasetBuilderStd.java:198)}}{{ at org.apache.jena.tdb.setup.DatasetBuilderStd.create(DatasetBuilderStd.java:143)}}{{ at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:213)}}{{ at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:220)}}{{ at org.apache.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:70)}}{{ at org.apache.jena.tdb.sys.TDBMaker._create(TDBMaker.java:55)}}{{ at org.apache.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:42)}}{{ at org.apache.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:89)}}{{ at org.apache.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:71)}}{{ at org.apache.jena.tdb.TDBFactory.createDataset(TDBFactory.java:55)}}{{ at tdb.cmdline.ModTDBDataset.createDataset(ModTDBDataset.java:103)}}{{ at arq.cmdline.ModDataset.getDataset(ModDataset.java:36)}}{{ at tdb.cmdline.CmdTDB.getDataset(CmdTDB.java:80)}}{{ at tdb.cmdline.CmdTDB.getDatasetGraph(CmdTDB.java:71)}}{{ at tdb.cmdline.CmdTDB.getDatasetGraphTDB(CmdTDB.java:75)}}{{ at tdb.tdbstats.exec(tdbstats.java:98)}}{{ at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)}}{{ at jena.cmd.CmdMain.mainRun(CmdMain.java:58)}}{{ at jena.cmd.CmdMain.mainRun(CmdMain.java:45)}}{{ at tdb.tdbstats.main(tdbstats.java:44)}}{{Caused by: java.io.IOException: Invalid argument}}{{ at sun.nio.ch.FileChannelImpl.map0(Native Method)}}{{ at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:926)}}{{ at org.apache.jena.tdb.base.file.BlockAccessMapped.allocSegment(BlockAccessMapped.java:223)}}{{ ... 39 more}} The only difference I could spot was the JDK versions: * Debian (64-bit) {{openjdk version "1.8.0_131"}} {{OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)}} {{OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)}} * MacOSX (64-bit) {{java version "1.8.0_51"}} {{Java(TM) SE Runtime Environment (build 1.8.0_51-b16)}} {{Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)}} > tdb CLI tools don't work with OpenJDK 8 > --------------------------------------- > > Key: JENA-1485 > URL: https://issues.apache.org/jira/browse/JENA-1485 > Project: Apache Jena > Issue Type: Bug > Components: Cmd line tools > Affects Versions: Jena 3.4.0, Jena 3.6.0 > Environment: Debian: > * Debian GNU/Linux 8.10 (jessie) > * openjdk-8-jdk:amd64 (8u131-b11-1~bpo8+1) > openjdk version "1.8.0_131" > OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11) > OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode) > MacOSX: > * 10.13.3 > * java version "1.8.0_51" > Java(TM) SE Runtime Environment (build 1.8.0_51-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode) > Reporter: Slava Krauchanka > Priority: Major > > I have a Debian guest VM running on MacOSX host. Running any `tdb*` utility > works on MacOSX but doesn't work on Debian: > {{$ tdbstats --loc=tdb}} > {noformat} > org.apache.jena.tdb.base.file.FileException: BlockMgrMapped.segmentAllocate: > Segment = 0 > at > org.apache.jena.tdb.base.file.BlockAccessMapped.allocSegment(BlockAccessMapped.java:231) > at > org.apache.jena.tdb.base.file.BlockAccessMapped.getByteBuffer(BlockAccessMapped.java:157) > at > org.apache.jena.tdb.base.file.BlockAccessMapped.allocate(BlockAccessMapped.java:85) > at > org.apache.jena.tdb.base.block.BlockMgrFileAccess.allocate(BlockMgrFileAccess.java:50) > at org.apache.jena.tdb.base.block.BlockMgrBase.allocate(BlockMgrBase.java:44) > at > org.apache.jena.tdb.base.block.BlockMgrWrapper.allocate(BlockMgrWrapper.java:46) > at > org.apache.jena.tdb.base.block.BlockMgrFreeChain.allocate(BlockMgrFreeChain.java:48) > at org.apache.jena.tdb.base.page.PageBlockMgr.create(PageBlockMgr.java:51) > at > org.apache.jena.tdb.index.bplustree.BPTreeRecordsMgr.create(BPTreeRecordsMgr.java:79) > at > org.apache.jena.tdb.index.bplustree.BPTreeNodeMgr.createEmptyBPT(BPTreeNodeMgr.java:52) > at > org.apache.jena.tdb.index.bplustree.BPlusTree.createIfAbsent(BPlusTree.java:213) > at org.apache.jena.tdb.index.bplustree.BPlusTree.create(BPlusTree.java:139) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.createBPTree(DatasetBuilderStd.java:114) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.buildRangeIndex(DatasetBuilderStd.java:80) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.buildIndex(DatasetBuilderStd.java:86) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.buildNodeTable(DatasetBuilderStd.java:353) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.makeNodeTable$(DatasetBuilderStd.java:345) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.makeNodeTable(DatasetBuilderStd.java:338) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.buildWorker(DatasetBuilderStd.java:215) > at > org.apache.jena.tdb.setup.DatasetBuilderStd._build(DatasetBuilderStd.java:209) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.build(DatasetBuilderStd.java:198) > at > org.apache.jena.tdb.setup.DatasetBuilderStd.create(DatasetBuilderStd.java:143) > at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:213) > at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:220) > at > org.apache.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:70) > at org.apache.jena.tdb.sys.TDBMaker._create(TDBMaker.java:55) > at > org.apache.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:42) > at org.apache.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:89) > at org.apache.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:71) > at org.apache.jena.tdb.TDBFactory.createDataset(TDBFactory.java:55) > at tdb.cmdline.ModTDBDataset.createDataset(ModTDBDataset.java:103) > at arq.cmdline.ModDataset.getDataset(ModDataset.java:36) > at tdb.cmdline.CmdTDB.getDataset(CmdTDB.java:80) > at tdb.cmdline.CmdTDB.getDatasetGraph(CmdTDB.java:71) > at tdb.cmdline.CmdTDB.getDatasetGraphTDB(CmdTDB.java:75) > at tdb.tdbstats.exec(tdbstats.java:98) > at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) > at jena.cmd.CmdMain.mainRun(CmdMain.java:58) > at jena.cmd.CmdMain.mainRun(CmdMain.java:45) > at tdb.tdbstats.main(tdbstats.java:44) > Caused by: java.io.IOException: Invalid argument > at sun.nio.ch.FileChannelImpl.map0(Native Method) > at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:926) > at > org.apache.jena.tdb.base.file.BlockAccessMapped.allocSegment(BlockAccessMapped.java:223) > ... 39 more > {noformat} > The only difference I could spot was the JDK versions: > * Debian (64-bit) > {{openjdk version "1.8.0_131"}} > {{OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)}} > {{OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)}} > * MacOSX (64-bit) > {{java version "1.8.0_51"}} > {{Java(TM) SE Runtime Environment (build 1.8.0_51-b16)}} > {{Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)