Virtuoso崩溃" search.c:326 box_serial_length不支持数据类型"

时间:2017-10-24 13:52:28

标签: rdf virtuoso turtle-rdf rdf4j

我正在使用RDF4J Virtuoso适配器连接到编译并安装在VirtualBox CentOS 7.3 64位内的Virtuoso 7.20.3216。

我尝试使用以下代码在Virtuoso中加载Turtle文件:

Repository r = new virtuoso.rdf4j.driver.VirtuosoRepository(url, login, password);
RepositoryConnection connection = r.openConnection();

ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Turtle data written inside baos

String graphUri = ... ;
connection.add(new ByteArrayInputStream(baos.toByteArray()), RDF.NAMESPACE, RDFFormat.TURTLE, SimpleValueFactory.getInstance().createIRI(graphUri));

Virtuoso使用以下日志崩溃(停止):

12:10:01 box_serial_len called with dtp 225
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x8c6d3a]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x8c6d98]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x4fba85]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x629664]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x629997]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x622485]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x65233d]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x6524dd]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x592328]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x59a807]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x59760a]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x5c0e30]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x5ca63b]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x59370c]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x597d13]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x5c0e30]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x5cbeee]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x5d3d36]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t(sf_sql_execute_w+0x7b) [0x5d3edb]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x8cb297]
12:10:01 /usr/local/virtuoso-opensource/bin/virtuoso-t() [0x8d1683]
12:10:01 /lib64/libpthread.so.0(+0x7e25) [0x7fe04db7ee25]
12:10:01 /lib64/libc.so.6(clone+0x6d) [0x7fe04d3a634d]
12:10:01 GPF: search.c:326 box_serial_length not supported for data type

相同的Turtle字符串,当上传到售票员后台时,可以正常工作。该文件非常大,所以我无法将其粘贴到此处。

我们已将问题缩小到字符编码问题。乌龟文件包含带有重音字符的文字,例如"Disque à gravure directe"@fr

我们无法在Virtuoso配置端和JDBC连接端设置任何字符编码参数。我们尝试在JDBC连接字符串中添加charset=UTF-8,但没有运气。

似乎只有在数据库为空时才会出现问题。当数据库已经包含一些数据时,Virtuoso不会崩溃。

的任何想法
  1. 错误消息的含义是什么?
  2. 问题可能是什么原因?
  3. 如何解决或解决这个问题?
  4. 谢谢!

1 个答案:

答案 0 :(得分:0)

此问题已经过验证,logged as issue #697 on the github project。解决方案工作正在进行中。

将发布更多更新to the issue on github