Hello.
Using evaluation copy of Sparksee C++ (last one from official site) under 64-bit Arch Linux in Oracle VM VirtualBox (1775 MB RAM).
Running simple test code:
#include <iostream>
#include "gdb/Sparksee.h"
#include "gdb/Database.h"
#include "gdb/Session.h"
#include "gdb/Graph.h"
#include "gdb/Objects.h"
#include "gdb/ObjectsIterator.h"
using namespace sparksee::gdb;
int main(int argc, char* argv[]) {
SparkseeConfig cfg;
cfg.SetLogFile(L"/home/lnkr-a/Logs/Sparksee.log");
Sparksee *sprksee = new Sparksee(cfg);
Database *db = NULL;
try {
db = sprksee->Open(L"TestDB.gdb", false);
}
catch(FileNotFoundException &exc) {
db = sprksee->Create(L"TestDB.gdb", L"TestDB");
}
catch(Exception &e) {
std::cout << "Error!";
}
return 0;
}
If there no TestDB.gdb file, then all is ok. After catching FileNotFoundException files will be created.
But if i running this code when files already exist, then program terminating with output:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
**** CRITICAL ERROR (SIGNAL NUM 6)
------- Begin of call stack ------
/usr/local/lib/libsparksee.so(_ZN13sparksee_core21CallStackTraceHandler13SignalHandlerEi+0x28) [0x7f18cd1f1328]
/usr/lib/libc.so.6(+0x353e0) [0x7f18cc5413e0]
/usr/lib/libc.so.6(gsignal+0x39) [0x7f18cc541369]
/usr/lib/libc.so.6(abort+0x148) [0x7f18cc542768]
/usr/lib/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x155) [0x7f18cce2f635]
/usr/lib/libstdc++.so.6(+0x5e7a6) [0x7f18cce2d7a6]
/usr/lib/libstdc++.so.6(+0x5e7d3) [0x7f18cce2d7d3]
/usr/lib/libstdc++.so.6(+0x5e7e6) [0x7f18cce2d7e6]
/usr/lib/libstdc++.so.6(__cxa_call_unexpected+0x32) [0x7f18cce2d462]
/usr/local/lib/libsparksee.so(_ZN8sparksee3gdb8Sparksee4OpenERKSbIwSt11char_traitsIwESaIwEEb+0x127) [0x7f18cd1b30f7]
/home/lnkr-a/Sources/SparkseeTrain/SparkseeTest/Debug/SparkseeTest() [0x4011d0]
/usr/lib/libc.so.6(__libc_start_main+0xf5) [0x7f18cc52db05]
/home/lnkr-a/Sources/SparkseeTrain/SparkseeTest/Debug/SparkseeTest() [0x401009]
-------- End of call stack -------
What can be wrong? Maybe configs or so?
Thanx for the answer.
PS: sorry for my english