Hi,
We have this setup where about 60 applications are upploading data to Stardog using the HTTP API. They can sometimes upload data simultaneously, and when Stardog is receiving data from several sources at the same time, Stardog crashes with what appears to be memory issues. Sometimes a stacktrace is logged, two of which are attached below, and sometimes java provides a core dump, one which is attached below.
The Stardog version is 7.8.0. It it run on a server with 16GB RAM, of which Stardog is given
-Xms6g -Xmx6g -XX:MaxDirectMemorySize=12g
Any help, ideas or feedback is appreciated. Either solutions or how I can troubleshoot this further.
Below is output from stardog.log and other hopefully useful info.
The stardog.log file doesn't output more info than this,
INFO 2022-07-07 05:07:33,586 [Stardog.Executor-101] com.complexible.stardog.index.Index:printInternal(319): Parsing triples: 99% complete in 00:04:03 (749K triples - 3.1K triples/sec)
malloc(): unsorted double linked list corrupted
where malloc is the only info Stardog seems to log before crashing. Some other samples of the one line error message is
malloc(): smallbin double linked list corrupted
# or
corrupted size vs. prev_size
# or
# [ timer expired, abort... ]
# or
malloc(): invalid size (unsorted)
Stardog is logging the following memory options when it's starting:
INFO 2022-07-07 08:09:26,964 [main] com.complexible.stardog.cli.impl.ServerStart:call(266): Memory options
INFO 2022-07-07 08:09:26,964 [main] com.complexible.stardog.cli.impl.ServerStart:call(267): Memory mode: DEFAULT{Starrocks.block_cache=20, Starrocks.dict_block_cache=10, Native.starrocks=70, Heap.dict_value=50, Starrocks.txn_block_cache=5, Heap.dict_index=50, Starrocks.memtable=40, Starrocks.untracked_memory=20, Starrocks.buffer_pool=5, Native.query=30}
INFO 2022-07-07 08:09:26,965 [main] com.complexible.stardog.cli.impl.ServerStart:call(268): Min Heap Size: 6.0G
INFO 2022-07-07 08:09:26,966 [main] com.complexible.stardog.cli.impl.ServerStart:call(269): Max Heap Size: 5.8G
INFO 2022-07-07 08:09:26,966 [main] com.complexible.stardog.cli.impl.ServerStart:call(270): Max Direct Mem: 12G
INFO 2022-07-07 08:09:26,967 [main] com.complexible.stardog.cli.impl.ServerStart:call(271): System Memory: 15G
Which is set with the JVM args
-Xms6g -Xmx6g -XX:MaxDirectMemorySize=12g
I've included two stacktraces that occurs during the upload and and a java core dump:
error_adding_data.txt (9.4 KB)
errpr_adding_data2.txt (20.9 KB)
hs_err_pid8735.log (184.4 KB)