monetdblite

Connecting to an existing db farm using MonetDBLite C API


I have a DB farm created with a database (ex: temp). When I try to connect to that using monetdb_startup, get the following error.

src/gdk/gdk_utils.c:1465: GDKfree: Assertion `(asize & 2) == 0' failed. Aborted (core dumped)

  1. I'm using the sample application tests/readme/readme.c provided.
  2. monetdb_startup("/dbfarm/temp", 0, 0) is what I'm trying to do.
  3. Monet version being used: MonetDB 5 server v11.29.3 "Mar2018" (64-bit, 128-bit integers)
  4. Stack trace:

            #0  0x0000003f39232495 in raise () from /lib64/libc.so.6
            #1  0x0000003f39233c75 in abort () from /lib64/libc.so.6
            #2  0x0000003f3922b60e in __assert_fail_base () from /lib64/libc.so.6
            #3  0x0000003f3922b6d0 in __assert_fail () from /lib64/libc.so.6
            #4  0x00007ffff799bc3c in GDKfree (s=0x19602e0) at src/gdk/gdk_utils.c:1465
            #5  0x00007ffff79a8521 in freeException (msg=0x19602e0 '▒' <repeats 88 times>, "▒L\001") at src/mal/mal/mal_exception.c:135
            #6  0x00007ffff7b38c09 in SQLupgrades (c=0x7ffff42b2400, m=0x1815460) at src/mal/sqlbackend/sql_upgrades.c:1442
            #7  0x00007ffff7b1edb2 in SQLinitClient (c=0x7ffff42b2400) at src/mal/sqlbackend/sql_scenario.c:612
            #8  0x00007ffff7404f32 in monetdb_connect () at src/embedded/embedded.c:72
            #9  0x00007ffff74055da in monetdb_startup (dbdir=0x7fffffffd7c0 "/dbfarm/temp/", silent=0 '\000', sequential=0 '\000')
                at src/embedded/embedded.c:162
    

Thanks


Solution

  • In general, this use case is not supported. So upgrade MonetDBLite databases between versions should work fine, but moving from MonetDBLite to MonetDB and back is probably going to give errors and/or crash.