View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002568 | GNUnet | testbed service | public | 2012-09-28 15:28 | 2012-11-05 18:33 |
| Reporter | Bart Polot | Assigned To | Sree Harsha Totakura | ||
| Priority | high | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | Git master | ||||
| Target Version | 0.9.4 | Fixed in Version | 0.9.4 | ||
| Summary | 0002568: Testbed service crashes on peer create | ||||
| Description | [bart@saturn ~/g/src/regex]$ gdb --core core.13512 ../testbed/.libs/gnunet-service-testbed GNU gdb (GDB) 7.5 Copyright (C) 2012 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 /home/bart/svn/gnunet/src/testbed/.libs/gnunet-service-testbed...done. warning: core file may not match specified executable file. [New LWP 13512] warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? Core was generated by `gnunet-service-testbed -c /tmp/testbed-helperP3GIY9/0/config'. Program terminated with signal 11, Segmentation fault. #0 0x00007fbcb5b89376 in GNUNET_TESTBED_queue_message_ (controller=0x0, msg=0xf193c0) at testbed_api.c:889 889 GNUNET_CONTAINER_DLL_insert_tail (controller->mq_head, controller->mq_tail, (gdb) bt #0 0x00007fbcb5b89376 in GNUNET_TESTBED_queue_message_ (controller=0x0, msg=0xf193c0) at testbed_api.c:889 #1 0x00007fbcb5b89672 in GNUNET_TESTBED_forward_operation_msg_ (controller=0x0, operation_id=2, msg=0x7fff563a9a08, cc=0x406617 <peer_create_success_cb>, cc_cls=0xf19330) at testbed_api.c:937 #2 0x000000000040707d in handle_peer_create (cls=0x0, client=0xef13f0, message=0x7fff563a9a08) at gnunet-service-testbed.c:1741 #3 0x00007fbcb65ff61b in GNUNET_SERVER_inject (server=0xef1120, sender=0xef13f0, message=0x7fff563a9a08) at server.c:924 #4 0x00007fbcb6600263 in client_message_tokenizer_callback (cls=0xef1120, client=0xef13f0, message=0x7fff563a9a08) at server.c:1141 #5 0x00007fbcb6602557 in GNUNET_SERVER_mst_receive (mst=0xef1490, client_identity=0xef13f0, buf=0x7fff563a9a08 "\vE", <incomplete sequence \321>, size=2885, purge=0, one_shot=-1) at server_mst.c:265 #6 0x00007fbcb65ffe71 in process_incoming (cls=0xef13f0, buf=0x7fff563a9a08, available=2885, addr=0xef12e0, addrlen=2, errCode=0) at server.c:1072 #7 0x00007fbcb65d30ee in receive_ready (cls=0xef1300, tc=0x7fff563b9aa0) at connection.c:1055 #8 0x00007fbcb65fbaa5 in run_ready (rs=0xef0260, ws=0xef02f0) at scheduler.c:602 #9 0x00007fbcb65fc276 in GNUNET_SCHEDULER_run (task=0x7fbcb6608f10 <service_task>, task_cls=0x7fff563b9e50) at scheduler.c:790 #10 0x00007fbcb660a94c in GNUNET_SERVICE_run (argc=3, argv=0x7fff563ba0b8, service_name=0x40aa04 "testbed", options=GNUNET_SERVICE_OPTION_NONE, task=0x40a6a6 <testbed_run>, task_cls=0x0) at service.c:1804 #11 0x000000000040a7b9 in main (argc=3, argv=0x7fff563ba0b8) at gnunet-service-testbed.c:2793 (gdb) | ||||
| Additional Information | (gdb) bt full #0 0x00007fbcb5b89376 in GNUNET_TESTBED_queue_message_ (controller=0x0, msg=0xf193c0) at testbed_api.c:889 mq_entry = 0xf19310 type = 465 size = 2885 __FUNCTION__ = "GNUNET_TESTBED_queue_message_" #1 0x00007fbcb5b89672 in GNUNET_TESTBED_forward_operation_msg_ (controller=0x0, operation_id=2, msg=0x7fff563a9a08, cc=0x406617 <peer_create_success_cb>, cc_cls=0xf19330) at testbed_api.c:937 opc = 0xf18f30 data = 0xf190c0 dup_msg = 0xf193c0 msize = 2885 __FUNCTION__ = "GNUNET_TESTBED_forward_operation_msg_" #2 0x000000000040707d in handle_peer_create (cls=0x0, client=0xef13f0, message=0x7fff563a9a08) at gnunet-service-testbed.c:1741 msg = 0x7fff563a9a08 reply = 0x464563ff9f5 cfg = 0x7fff563a97e0 fo_ctxt = 0xf19330 route = 0xef7e20 peer = 0x0 config = 0x7fbcb65fcffd <GNUNET_SCHEDULER_add_delayed+45> "\311\303UH\211\345H\203\354\020H\211}\370H\211u\360\350\234w\374\377H\213U\360H\213M\370H\211\316H\211\307\350\311\177\374\377\311\303UH\211\345H\203\354\060\211}\354H\211u\340H\211U\330\350ow\374\377H\213M\330H\213U\340I\211\311I\211" dest_size = 140448490320278 ret = 32767 config_size = 0 host_id = 1 peer_id = 0 msize = 2885 __FUNCTION__ = "handle_peer_create" #3 0x00007fbcb65ff61b in GNUNET_SERVER_inject (server=0xef1120, sender=0xef13f0, message=0x7fff563a9a08) at server.c:924 pos = 0xef1220 mh = 0x40b160 <message_handlers.12138+96> i = 4 type = 465 size = 2885 found = 0 __FUNCTION__ = "GNUNET_SERVER_inject" #4 0x00007fbcb6600263 in client_message_tokenizer_callback (cls=0xef1120, client=0xef13f0, message=0x7fff563a9a08) at server.c:1141 server = 0xef1120 sender = 0xef13f0 ret = 24 __FUNCTION__ = "client_message_tokenizer_callback" #5 0x00007fbcb6602557 in GNUNET_SERVER_mst_receive (mst=0xef1490, client_identity=0xef13f0, buf=0x7fff563a9a08 "\vE", <incomplete sequence \321>, size=2885, purge=0, one_shot=-1) at server_mst.c:265 hdr = 0x7fff563a9a08 delta = 0 want = 2885 ibuf = 0xef1570 "\vD", <incomplete sequence \320> need_align = 0 offset = 140734640069128 ret = 1 __FUNCTION__ = "GNUNET_SERVER_mst_receive" #6 0x00007fbcb65ffe71 in process_incoming (cls=0xef13f0, buf=0x7fff563a9a08, available=2885, addr=0xef12e0, addrlen=2, errCode=0) at server.c:1072 client = 0xef13f0 server = 0xef1120 end = {abs_value = 18446744073709551615} now = {abs_value = 1348838503165} ret = 64 __FUNCTION__ = "process_incoming" #7 0x00007fbcb65d30ee in receive_ready (cls=0xef1300, tc=0x7fff563b9aa0) at connection.c:1055 connection = 0xef1300 buffer = 0x7fff563a9a08 "\vE", <incomplete sequence \321> ret = 2885 receiver = 0x7fbcb65ffa8d <process_incoming> __FUNCTION__ = "receive_ready" #8 0x00007fbcb65fbaa5 in run_ready (rs=0xef0260, ws=0xef02f0) at scheduler.c:602 p = GNUNET_SCHEDULER_PRIORITY_DEFAULT pos = 0xf03bd0 tc = {reason = (GNUNET_SCHEDULER_REASON_READ_READY | GNUNET_SCHEDULER_REASON_PREREQ_DONE), read_ready = 0xef0260, write_ready = 0xef02f0} __FUNCTION__ = "run_ready" #9 0x00007fbcb65fc276 in GNUNET_SCHEDULER_run (task=0x7fbcb6608f10 <service_task>, task_cls=0x7fff563b9e50) at scheduler.c:790 ---Type <return> to continue, or q <return> to quit--- rs = 0xef0260 ws = 0xef02f0 timeout = {rel_value = 1} ret = 1 shc_int = 0xef0380 shc_term = 0xef0430 shc_quit = 0xef0590 shc_hup = 0xef0640 shc_pipe = 0xef04e0 last_tr = 13 busy_wait_warning = 0 pr = 0xef0210 c = 0 '\000' __FUNCTION__ = "GNUNET_SCHEDULER_run" #10 0x00007fbcb660a94c in GNUNET_SERVICE_run (argc=3, argv=0x7fff563ba0b8, service_name=0x40aa04 "testbed", options=GNUNET_SERVICE_OPTION_NONE, task=0x40a6a6 <testbed_run>, task_cls=0x0) at service.c:1804 err = 0 ret = 3 cfg_fn = 0xeee090 "/tmp/testbed-helperP3GIY9/0/config" loglev = 0x0 logfile = 0x0 do_daemonize = 0 i = 4236966 skew_offset = 0 skew_variance = 140448494801264 clock_offset = 0 sctx = {cfg = 0xeedf60, server = 0xef1120, addrs = 0xeefcd0, service_name = 0x40aa04 "testbed", task = 0x40a6a6 <testbed_run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0xef0220, v6_allowed = 0xef9510, my_handlers = 0xef0140, addrlens = 0xef81d0, lsocks = 0x0, shutdown_task = 5, timeout = { rel_value = 18446744073709551615}, ret = 1, ready_confirm_fd = -1, require_found = 1, match_uid = 1, match_gid = 1, options = GNUNET_SERVICE_OPTION_NONE} cfg = 0xeedf60 service_options = {{shortName = 99 'c', name = 0x7fbcb6615845 "config", argumentHelp = 0x7fbcb661584c "FILENAME", description = 0x7fbcb6615858 "use configuration file FILENAME", require_argument = 1, processor = 0x7fbcb65eb8a7 <GNUNET_GETOPT_set_string>, scls = 0x7fff563b9f10}, {shortName = 100 'd', name = 0x7fbcb6615878 "daemonize", argumentHelp = 0x0, description = 0x7fbcb6615888 "do daemonize (detach from terminal)", require_argument = 0, processor = 0x7fbcb65eb87a <GNUNET_GETOPT_set_one>, scls = 0x7fff563b9efc}, {shortName = 104 'h', name = 0x7fbcb66158ac "help", argumentHelp = 0x0, description = 0x7fbcb66158b1 "print this help", require_argument = 0, processor = 0x7fbcb65eb33a <GNUNET_GETOPT_format_help_>, scls = 0x0}, { shortName = 76 'L', name = 0x7fbcb66158c1 "log", argumentHelp = 0x7fbcb66158c5 "LOGLEVEL", description = 0x7fbcb66158d0 "configure logging to use LOGLEVEL", require_argument = 1, processor = 0x7fbcb65eb8a7 <GNUNET_GETOPT_set_string>, scls = 0x7fff563b9f08}, {shortName = 108 'l', name = 0x7fbcb66158f2 "logfile", argumentHelp = 0x7fbcb66158fa "LOGFILE", description = 0x7fbcb6615908 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0x7fbcb65eb8a7 <GNUNET_GETOPT_set_string>, scls = 0x7fff563b9f00}, {shortName = 118 'v', name = 0x7fbcb6615933 "version", argumentHelp = 0x0, description = 0x7fbcb661593b "print the version number", require_argument = 0, processor = 0x7fbcb65eb2f4 <GNUNET_GETOPT_print_version_>, scls = 0x7fbcb6615954}, { shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0x0, scls = 0x0}} __FUNCTION__ = "GNUNET_SERVICE_run" #11 0x000000000040a7b9 in main (argc=3, argv=0x7fff563ba0b8) at gnunet-service-testbed.c:2793 No locals. | ||||
| Tags | No tags attached. | ||||
|
|
This bug happens when peers are started on slave controllers too quickly (without waiting for the GNUNET_TESTBED_controller_link() operation to finish) I believe this is fixed in SVN 24125 by making the service not accept any requests until the controller_link operation is successful. One downside is that we may lose parallelism here. However, since controller links are established during the beginning of tests in most scenarios, I *hope* this is still okay. |
|
|
marking bug as fixed as Bart didn't experience this again. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-09-28 15:28 | Bart Polot | New Issue | |
| 2012-09-28 15:28 | Bart Polot | Status | new => assigned |
| 2012-09-28 15:28 | Bart Polot | Assigned To | => Sree Harsha Totakura |
| 2012-09-29 08:50 | Sree Harsha Totakura | Note Added: 0006384 | |
| 2012-09-29 08:50 | Sree Harsha Totakura | Status | assigned => feedback |
| 2012-11-04 22:36 | Christian Grothoff | Target Version | => 0.9.4 |
| 2012-11-05 13:58 | Sree Harsha Totakura | Note Added: 0006520 | |
| 2012-11-05 13:58 | Sree Harsha Totakura | Status | feedback => resolved |
| 2012-11-05 13:58 | Sree Harsha Totakura | Fixed in Version | => 0.9.4 |
| 2012-11-05 13:58 | Sree Harsha Totakura | Resolution | open => fixed |
| 2012-11-05 18:33 | Christian Grothoff | Status | resolved => closed |