You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2018/02/12 10:39:05 UTC
[jira] [Updated] (JENA-1485) tdb CLI tools don't work with OpenJDK
8
[ 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)