View Issue Details

IDProjectCategoryView StatusLast Update
0003286GNUnetdatastore servicepublic2018-06-07 01:03
ReporterBart Polot Assigned ToChristian Grothoff  
PriorityhighSeveritycrashReproducibilityunable to reproduce
Status closedResolutionunable to reproduce 
Product VersionGit master 
Fixed in Version0.11.0pre66 
Summary0003286: Crash in datastore service with sqlite plugin
DescriptionDatastore crashed while running a normal GNUnet peer for a while.

Using core.969.!tmp!gnunet!lib!gnunet!libexec!gnunet-service-datastore
/tmp/gnunet/lib/gnunet/libexec/gnunet-service-datastore
GNU gdb (GDB) 7.6.2
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /tmp/gnunet/lib/gnunet/libexec/gnunet-service-datastore...done.

warning: core file may not match specified executable file.
[New LWP 969]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff69bfe000
Core was generated by `/tmp/gnunet/lib/gnunet/libexec/gnunet-service-datastore'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f6727c8c723 in sqlite3_reset () from /usr/lib/libsqlite3.so.0
(gdb) bt
#0 0x00007f6727c8c723 in sqlite3_reset () from /usr/lib/libsqlite3.so.0
#1 0x00007f6727eed68f in execute_get (plugin=0x7f67280f18e0 <plugin.13904>, stmt=0x1d320e8,
    proc=0x7f6727eee4ab <repl_proc>, proc_cls=0x7fff69af04d0) at plugin_datastore_sqlite.c:699
#2 0x00007f6727eeec56 in sqlite_plugin_get_replication (cls=0x7f67280f18e0 <plugin.13904>,
    proc=0x402ccc <transmit_item>, proc_cls=0x1d513f0) at plugin_datastore_sqlite.c:997
#3 0x000000000040493e in handle_get_replication (cls=0x0, client=0x1d513f0, message=0x7fff69af0798)
    at gnunet-service-datastore.c:1083
#4 0x00007f672960e55b in GNUNET_SERVER_inject (server=0x1d2c440, sender=0x1d513f0, message=0x7fff69af0798)
    at server.c:985
#5 0x00007f672960f1e2 in client_message_tokenizer_callback (cls=0x1d2c440, client=0x1d513f0,
    message=0x7fff69af0798) at server.c:1205
#6 0x00007f672961193e in GNUNET_SERVER_mst_receive (mst=0x1d51490, client_identity=0x1d513f0,
    buf=0x7fff69af0798 "", size=4, purge=0, one_shot=-1) at server_mst.c:262
#7 0x00007f672960eddf in process_incoming (cls=0x1d513f0, buf=0x7fff69af0798, available=4, addr=0x1d512e0,
    addrlen=2, errCode=0) at server.c:1136
#8 0x00007f67295dd474 in receive_ready (cls=0x1d51300, tc=0x7fff69b00820) at connection.c:1062
#9 0x00007f672960a459 in run_ready (rs=0x1d2b6c0, ws=0x1d40280) at scheduler.c:595
#10 0x00007f672960ace7 in GNUNET_SCHEDULER_run (task=0x7f6729616f31 <service_task>, task_cls=0x7fff69b00bc0)
    at scheduler.c:817
#11 0x00007f6729618ca0 in GNUNET_SERVICE_run (argc=1, argv=0x7fff69b00e58, service_name=0x406f0a "datastore",
    options=GNUNET_SERVICE_OPTION_NONE, task=0x405b51 <run>, task_cls=0x0) at service.c:1490
#12 0x0000000000406547 in main (argc=1, argv=0x7fff69b00e58) at gnunet-service-datastore.c:1643
(gdb)
Steps To ReproduceDatastore crashed while running a normal GNUnet peer for a while.
Additional Information(gdb) bt full
#0 0x00007f6727c8c723 in sqlite3_reset () from /usr/lib/libsqlite3.so.0
No symbol table info available.
#1 0x00007f6727eed68f in execute_get (plugin=0x7f67280f18e0 <plugin.13904>, stmt=0x1d320e8,
    proc=0x7f6727eee4ab <repl_proc>, proc_cls=0x7fff69af04d0) at plugin_datastore_sqlite.c:699
        n = 13
        expiration = {abs_value_us = 0}
        rowid = 30613736
        size = 667343069
        ret = 2
        __FUNCTION__ = "execute_get"
#2 0x00007f6727eeec56 in sqlite_plugin_get_replication (cls=0x7f67280f18e0 <plugin.13904>,
    proc=0x402ccc <transmit_item>, proc_cls=0x1d513f0) at plugin_datastore_sqlite.c:997
        plugin = 0x7f67280f18e0 <plugin.13904>
        rc = {proc = 0x402ccc <transmit_item>, proc_cls = 0x1d513f0, uid = 62, have_uid = 0}
        rvalue = 9050171574982891520
        repl = 0
        stmt = 0x1d320e8
        __FUNCTION__ = "sqlite_plugin_get_replication"
#3 0x000000000040493e in handle_get_replication (cls=0x0, client=0x1d513f0, message=0x7fff69af0798)
    at gnunet-service-datastore.c:1083
        __FUNCTION__ = "handle_get_replication"
#4 0x00007f672960e55b in GNUNET_SERVER_inject (server=0x1d2c440, sender=0x1d513f0, message=0x7fff69af0798)
    at server.c:985
        pos = 0x1d339d0
        mh = 0x407298 <handlers.12832+120>
        i = 5
        type = 98
        size = 4
        found = 0
        __FUNCTION__ = "GNUNET_SERVER_inject"
#5 0x00007f672960f1e2 in client_message_tokenizer_callback (cls=0x1d2c440, client=0x1d513f0,
    message=0x7fff69af0798) at server.c:1205
        server = 0x1d2c440
        sender = 0x1d513f0
        ret = 1
        __FUNCTION__ = "client_message_tokenizer_callback"
#6 0x00007f672961193e in GNUNET_SERVER_mst_receive (mst=0x1d51490, client_identity=0x1d513f0,
    buf=0x7fff69af0798 "", size=4, purge=0, one_shot=-1) at server_mst.c:262
        hdr = 0x7fff69af0798
        delta = 16
        want = 4
        ibuf = 0x1d514d0 ""
        need_align = 0
        offset = 140734966466456
        ret = 1
        __FUNCTION__ = "GNUNET_SERVER_mst_receive"
#7 0x00007f672960eddf in process_incoming (cls=0x1d513f0, buf=0x7fff69af0798, available=4, addr=0x1d512e0,
    addrlen=2, errCode=0) at server.c:1136
        client = 0x1d513f0
        server = 0x1d2c440
        end = {abs_value_us = 18446744073709551615}
        now = {abs_value_us = 1391064319678051}
        ret = 64
        __FUNCTION__ = "process_incoming"
#8 0x00007f67295dd474 in receive_ready (cls=0x1d51300, tc=0x7fff69b00820) at connection.c:1062
        connection = 0x1d51300
        buffer = 0x7fff69af0798 ""
        ret = 4
        receiver = 0x7f672960e9ec <process_incoming>
        __FUNCTION__ = "receive_ready"
#9 0x00007f672960a459 in run_ready (rs=0x1d2b6c0, ws=0x1d40280) at scheduler.c:595
        p = GNUNET_SCHEDULER_PRIORITY_DEFAULT
        pos = 0x1d55a10
---Type <return> to continue, or q <return> to quit---
        tc = {reason = (GNUNET_SCHEDULER_REASON_READ_READY | GNUNET_SCHEDULER_REASON_PREREQ_DONE),
          read_ready = 0x1d2b6c0, write_ready = 0x1d40280}
        __FUNCTION__ = "run_ready"
#10 0x00007f672960ace7 in GNUNET_SCHEDULER_run (task=0x7f6729616f31 <service_task>, task_cls=0x7fff69b00bc0)
    at scheduler.c:817
        rs = 0x1d2b6c0
        ws = 0x1d40280
        timeout = {rel_value_us = 318968544}
        ret = 1
        shc_int = 0x1d40410
        shc_term = 0x1d404d0
        shc_quit = 0x1d40650
        shc_hup = 0x1d40710
        shc_pipe = 0x1d40590
        last_tr = 211827
        busy_wait_warning = 0
        pr = 0x1d2b640
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#11 0x00007f6729618ca0 in GNUNET_SERVICE_run (argc=1, argv=0x7fff69b00e58, service_name=0x406f0a "datastore",
    options=GNUNET_SERVICE_OPTION_NONE, task=0x405b51 <run>, task_cls=0x0) at service.c:1490
        err = 0
        ret = 1
        cfg_fn = 0x1d28700 "~/.config/gnunet.conf"
        opt_cfg_fn = 0x1d2b5d0 "~/.config/gnunet.conf"
        loglev = 0x0
        logfile = 0x0
        do_daemonize = 0
        i = 4217681
        skew_offset = 140081058993856
        skew_variance = 140734966533536
        clock_offset = 4201872
        sctx = {cfg = 0x1d28720, server = 0x1d2c440, addrs = 0x0, service_name = 0x406f0a "datastore",
          task = 0x405b51 <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x1d2b610,
          v6_allowed = 0x1d2b660, my_handlers = 0x1d40a20, addrlens = 0x0, lsocks = 0x1d2b5f0, shutdown_task = 4,
          timeout = {rel_value_us = 18446744073709551615}, ret = 1, ready_confirm_fd = -1, require_found = 1,
          match_uid = 0, match_gid = 1, options = GNUNET_SERVICE_OPTION_NONE}
        cfg = 0x1d28720
        xdg = 0x0
        service_options = {{shortName = 99 'c', name = 0x7f67296267cd "config",
            argumentHelp = 0x7f67296267d4 "FILENAME",
            description = 0x7f67296267e0 "use configuration file FILENAME", require_argument = 1,
            processor = 0x7f67295f87e1 <GNUNET_GETOPT_set_string>, scls = 0x7fff69b00c78}, {shortName = 100 'd',
            name = 0x7f6729626800 "daemonize", argumentHelp = 0x0,
            description = 0x7f6729626810 "do daemonize (detach from terminal)", require_argument = 0,
            processor = 0x7f67295f87b4 <GNUNET_GETOPT_set_one>, scls = 0x7fff69b00c64}, {shortName = 104 'h',
            name = 0x7f6729626834 "help", argumentHelp = 0x0, description = 0x7f6729626839 "print this help",
            require_argument = 0, processor = 0x7f67295f827b <GNUNET_GETOPT_format_help_>, scls = 0x0}, {
            shortName = 76 'L', name = 0x7f6729626849 "log", argumentHelp = 0x7f672962684d "LOGLEVEL",
            description = 0x7f6729626858 "configure logging to use LOGLEVEL", require_argument = 1,
            processor = 0x7f67295f87e1 <GNUNET_GETOPT_set_string>, scls = 0x7fff69b00c70}, {shortName = 108 'l',
            name = 0x7f672962687a "logfile", argumentHelp = 0x7f6729626882 "LOGFILE",
            description = 0x7f6729626890 "configure logging to write logs to LOGFILE", require_argument = 1,
            processor = 0x7f67295f87e1 <GNUNET_GETOPT_set_string>, scls = 0x7fff69b00c68}, {shortName = 118 'v',
            name = 0x7f67296268bb "version", argumentHelp = 0x0,
            description = 0x7f67296268c3 "print the version number", require_argument = 0,
            processor = 0x7f67295f8235 <GNUNET_GETOPT_print_version_>, scls = 0x7f67296268dc}, {
            shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0,
            processor = 0x0, scls = 0x0}}
        __FUNCTION__ = "GNUNET_SERVICE_run"
#12 0x0000000000406547 in main (argc=1, argv=0x7fff69b00e58) at gnunet-service-datastore.c:1643
        ret = 0
TagsNo tags attached.

Activities

Christian Grothoff

2014-02-02 18:16

manager   ~0008051

Nothing obvious, we should run datastore under valgrind to see if there is something non-local causing this.

Issue History

Date Modified Username Field Change
2014-01-30 12:32 Bart Polot New Issue
2014-02-02 18:16 Christian Grothoff Note Added: 0008051
2014-02-02 18:16 Christian Grothoff Assigned To => Christian Grothoff
2014-02-02 18:16 Christian Grothoff Status new => feedback
2014-04-11 15:21 Christian Grothoff Target Version => 0.11.0pre66
2014-04-11 15:27 Christian Grothoff Priority normal => high
2014-11-07 18:45 Christian Grothoff Target Version 0.11.0pre66 =>
2014-11-07 18:55 Christian Grothoff Assigned To Christian Grothoff =>
2014-12-15 21:02 Christian Grothoff Summary Crash in datastore service => Crash in datastore service with sqlite plugin
2018-06-07 01:03 Christian Grothoff Assigned To => Christian Grothoff
2018-06-07 01:03 Christian Grothoff Status feedback => closed
2018-06-07 01:03 Christian Grothoff Resolution open => unable to reproduce
2018-06-07 01:03 Christian Grothoff Fixed in Version => 0.11.0pre66