pkumod / gStore

gStore - a graph based RDF triple store.
https://www.gstore.cn
BSD 3-Clause "New" or "Revised" License
784 stars 207 forks source link

Segmentation fault when starting bin/gquery (and Dockerfile did not work either) #116

Open hannahbast opened 2 years ago

hannahbast commented 2 years ago

Dear maintainers,

I just tried your code on this small NT file with 1,781,625 triples on an Ubuntu 20.04 machine (128 GB RAM, AMD Ryzen 9 5900X). Here is what happened:

  1. After installing the necessary packages, I could compile your code with make pre followed by make
  2. I also tried make test, but that failed with a seg fault
  3. I build an index with bin/gbuild -db olympics -f olympics.nt, which seemed to have worked and took around 12s
  4. I then tried bin/gquery -db olympics -q olympics.query with a very simple SPARQL query and this crashed with a seg fault [1]
  5. I also tried bin/ghttp -db olympics, which results in an infinite restarting loop [2]
  6. I then tried the Dockerfile with docker build -t gstore ., but that terminated with multiple error messages [3]

Any suggestions on how to fix this?

[1] Last four lines from log including seg fault:

finish getting important objID, the cache size is 0
now add cache of objID2values...
begin three StringIndexFile
Segmentation fault (core dumped)

[2] The following lines keep repeating in the log

[20220221 22:10:24] stopped abnormally, restarting server...
ghttp begin initialize...
init param...

[3] Selection of error messages

CMake Error: The current CMakeCache.txt directory /usr/src/gstore/tools/antlr4-cpp-runtime-4/CMakeCache.txt is different than the directory /local/data/gstore/tools/antlr4-cpp-runtime-4 where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
CMake Error: The source directory "" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
make[1]: *** [cmake_check_build_system] Error 1
.objs/TurtleParser.o: In function `TurtleParser::parseError(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
TurtleParser.cpp:(.text+0x3c78): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
.objs/Server.o: In function `sockThread::start()':
Server.cpp:(.text+0x587): undefined reference to `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())'
lsvih commented 2 years ago

Hi there, I haven't reproduced this problem yet, and we will continue to track this issue.

If necessary, you can try to use the pre-built docker image via docker pull pkumodlab/gstore:latest and it would obtain the expected result with the provided nt file.