[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#8237) Crash with MDB_MAXKEYSIZE=1500



Full_Name: Hallvard B Furuseth
Version: LMDB 0.9.10-0.9.15
OS: Linux x86_64
URL: 
Submission from: (NULL) (81.191.45.5)
Submitted by: hallvard


Assertion 'NUMKEYS(mp) > 1' failed in mdb_page_search_root():

#define MDB_MAXKEYSIZE 1500
#include "mdb.c"
#include "midl.c"

int main(void)
{
    MDB_dbi dbi;
    MDB_env *env;
    MDB_txn *txn;
    int i, rc =DMDB_SUCCESS;
    mdb_env_create(&env);
    mdb_env_open(env, "./testdb", MDB_WRITEMAP, 0664);
    mdb_txn_begin(env, NULL, 0, &txn);
    mdb_dbi_open(txn, NULL, 0, &dbi);
    for (i = 0; i < 6 && !rc; i++) {
        static char buf[1600] = "340215";
       DB_v_val key = {1500, buf+i}, data = {500, buf};
        mdb_put(txn, dbi, &key, &data, 0);
    }
    mdb_txn_abort(txn);
    mdb_env_close(env);
    return rc;
}

Broken by 34459e05856619e8 "ITS#7589 another mdb_page_split fix".