View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002458 | GNUnet | namestore service | public | 2012-06-24 10:46 | 2012-11-05 18:34 |
Reporter | Christian Grothoff | Assigned To | Christian Grothoff | ||
Priority | urgent | Severity | block | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.9.4 | Fixed in Version | 0.9.4 | ||
Summary | 0002458: namestore fails to terminate and instead goes into infinite loop at 100% CPU | ||||
Description | The namestore went into an 'infinite' loop iterating over the (AFAIK entirely empty) database with increasingly insane offsets: (gdb) print *zi $4 = {next = 0x0, prev = 0x0, client = 0xbf9b80, has_zone = 1, zone = {bits = {969344875, 502515347, 1284176735, 585570901, 2275369411, 1828873488, 980617594, 2628203479}}, request_id = 0, offset = 932103, must_have_flags = 0, must_not_have_flags = 0} | ||||
Steps To Reproduce | Just starting the current gnunet-setup, enabling GNS and flipping the database from sqlite to postgres, which causes gnunet-setup to re-start the gnunet-service-namestore (gnunet-setup also tries to iterate over the contents when this happens). | ||||
Additional Information | (gdb) ba #0 get_record_and_call_iterator (plugin=0x7f4f79d05690, stmt_name=0x7f4f79b04772 "iterate_by_zone", res=0xbfc310, iter=0x4092d0 <zone_iteraterate_proc>, iter_cls=0x7fff0dd28bb0) at plugin_namestore_postgres.c:369 #1 0x00007f4f79b02259 in namestore_postgres_iterate_records (cls=0x7f4f79d05690, zone=0xbfc2cc, name=0x0, offset=932103, iter=0x4092d0 <zone_iteraterate_proc>, iter_cls=0x7fff0dd28bb0) at plugin_namestore_postgres.c:510 #2 0x0000000000409fe6 in find_next_zone_iteration_result (proc=0x7fff0dd28bb0) at gnunet-service-namestore.c:1952 #3 0x000000000040ac96 in run_zone_iteration_round (zi=0xbfc2b0) at gnunet-service-namestore.c:2072 #4 0x000000000040b2da in handle_iteration_start (cls=0x0, client=0xbfc170, message=0xbfc270) at gnunet-service-namestore.c:2135 #5 0x00007f4f7b31bbac in GNUNET_SERVER_inject (server=0xbde860, sender=0xbfc170, message=0xbfc270) at server.c:902 #6 0x00007f4f7b31c802 in client_message_tokenizer_callback (cls=0xbde860, client=0xbfc170, message=0xbfc270) at server.c:1119 #7 0x00007f4f7b31e7fd in GNUNET_SERVER_mst_receive (mst=0xbf9b40, client_identity=0xbfc170, buf=0x0, size=0, purge=0, one_shot=-1) at server_mst.c:224 #8 0x00007f4f7b31be92 in process_mst (client=0xbfc170, ret=0) at server.c:972 #9 0x00007f4f7b31c4bd in process_incoming (cls=0xbfc170, buf=0x7fff0dd290f0, available=48, addr=0xbf9a30, addrlen=2, errCode=0) at server.c:1060 #10 0x00007f4f7b2f0c14 in receive_ready (cls=0xbf9a50, tc=0x7fff0dd39190) at connection.c:1055 #11 0x00007f4f7b3180fc in run_ready (rs=0xbde240, ws=0xbde2d0) at scheduler.c:602 #12 0x00007f4f7b3188e2 in GNUNET_SCHEDULER_run (task=0x7f4f7b3253cf <service_task>, task_cls=0x7fff0dd39490) at scheduler.c:790 #13 0x00007f4f7b326e1e in GNUNET_SERVICE_run (argc=1, argv=0x7fff0dd396e8, service_name=0x40d1f1 "namestore", options=GNUNET_SERVICE_OPTION_NONE, task=0x40bd6b <run>, task_cls=0x0) at service.c:1788 #14 0x000000000040c341 in main (argc=1, argv=0x7fff0dd396e8) at gnunet-service-namestore.c:2390 | ||||
Tags | No tags attached. | ||||
|
The same problem also arises with the existing testcases IF we switch the database from sqlite to postgres. So this seems to be a bit plugin-specific (which is odd as the plugins should behave the same way...). So might be a postgres-namestore-plugin bug as well. |
|
Fixed issue in postgres plugin in SVN 22283. Also had to actually make sure that the PG database was dropped on shutdown; still having trouble when postgres plugin test is run multiple times in a row. |
|
Rest of issue fixed on SVN 22285. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-06-24 10:46 | Christian Grothoff | New Issue | |
2012-06-24 10:46 | Christian Grothoff | Summary | namestore fails to terminate => namestore fails to terminate and instead goes into infinite loop at 100% CPU |
2012-06-26 00:07 | Christian Grothoff | Note Added: 0006146 | |
2012-06-26 00:37 | Christian Grothoff | Note Added: 0006147 | |
2012-06-26 00:37 | Christian Grothoff | Assigned To | => Christian Grothoff |
2012-06-26 00:37 | Christian Grothoff | Status | new => assigned |
2012-06-26 13:46 | Christian Grothoff | Note Added: 0006150 | |
2012-06-26 13:46 | Christian Grothoff | Status | assigned => resolved |
2012-06-26 13:46 | Christian Grothoff | Fixed in Version | => 0.9.4 |
2012-06-26 13:46 | Christian Grothoff | Resolution | open => fixed |
2012-11-05 18:34 | Christian Grothoff | Status | resolved => closed |
2013-10-02 13:56 | Christian Grothoff | Category | namestore => namestore service |