View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002128 | GNUnet | transport service | public | 2012-01-31 17:53 | 2012-02-28 11:05 |
| Reporter | Bart Polot | Assigned To | Matthias Wachs | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 0.9.1 | ||||
| Target Version | 0.9.2 | Fixed in Version | 0.9.2 | ||
| Summary | 0002128: Blacklisting makes transport service crash | ||||
| Description | (gdb) bt #0 0x00007fc16e9db636 in __strcmp_sse42 () from /lib/libc.so.6 #1 0x0000000000403fec in test_blacklisted (cls=<optimized out>, key=<optimized out>, value=<optimized out>) at gnunet-service-transport_blacklist.c:725 #2 0x00007fc16f9a7136 in GNUNET_CONTAINER_multihashmap_get_multiple (map=<optimized out>, key=0x15b43c8, it=0x403fe0 <test_blacklisted>, it_cls=0x0) at container_multihashmap.c:485 #3 0x000000000040550d in GST_blacklist_test_allowed (peer=0x15b43c8, transport_name=<optimized out>, cont=0x406700 <try_connect_if_allowed>, cont_cls=0x0) at gnunet-service-transport_blacklist.c:750 #4 0x00000000004066de in clients_handle_request_connect (cls=<optimized out>, client=0x15b2690, message=0x15b43c0) at gnunet-service-transport_clients.c:598 #5 0x00007fc16f9c2292 in GNUNET_SERVER_inject (server=0x15a3200, sender=0x15b2690, message=0x15b43c0) at server.c:709 #6 0x00007fc16f9c2db0 in client_message_tokenizer_callback (cls=<optimized out>, client=0x15b2690, message=<optimized out>) at server.c:931 #7 0x00007fc16f9c337e in GNUNET_SERVER_mst_receive (mst=0x15aa000, client_identity=0x15b2690, buf=0x0, size=0, purge=0, one_shot=-1) at server_mst.c:220 #8 0x00007fc16f9c2a5b in process_mst (client=0x15b2690, ret=<optimized out>) at server.c:779 #9 0x00007fc16f9a12b2 in receive_ready (cls=0x15b25b0, tc=0x7fffa23bf260) at connection.c:1193 #10 0x00007fc16f9c0566 in run_ready (ws=0x15a2280, rs=0x15a21f0) at scheduler.c:684 #11 GNUNET_SCHEDULER_run (task=<optimized out>, task_cls=<optimized out>) at scheduler.c:874 #12 0x00007fc16f9c8c26 in GNUNET_SERVICE_run (argc=3, argv=<optimized out>, serviceName=<optimized out>, opt=<optimized out>, task=<optimized out>, task_cls=0x0) at service.c:1712 #13 0x0000000000402e99 in main (argc=<optimized out>, argv=<optimized out>) at gnunet-service-transport.c:610 (gdb) | ||||
| Steps To Reproduce | Run a testcaste with BLACKLIST_TOPOLOGY and BLACKLIST_TRANSPORTS enabled, wait for the connection setup phase. Ready example: test_testing_topology_blacklist in src/testing | ||||
| Additional Information | (gdb) bt full #0 0x00007fc16e9db636 in __strcmp_sse42 () from /lib/libc.so.6 No symbol table info available. #1 0x0000000000403fec in test_blacklisted (cls=<optimized out>, key=<optimized out>, value=<optimized out>) at gnunet-service-transport_blacklist.c:725 transport_name = <optimized out> be = <optimized out> #2 0x00007fc16f9a7136 in GNUNET_CONTAINER_multihashmap_get_multiple (map=<optimized out>, key=0x15b43c8, it=0x403fe0 <test_blacklisted>, it_cls=0x0) at container_multihashmap.c:485 count = <optimized out> e = 0x15a3930 n = 0x15a5da0 #3 0x000000000040550d in GST_blacklist_test_allowed (peer=0x15b43c8, transport_name=<optimized out>, cont=0x406700 <try_connect_if_allowed>, cont_cls=0x0) at gnunet-service-transport_blacklist.c:750 bc = <optimized out> __FUNCTION__ = "GST_blacklist_test_allowed" #4 0x00000000004066de in clients_handle_request_connect (cls=<optimized out>, client=0x15b2690, message=0x15b43c0) at gnunet-service-transport_clients.c:598 trcm = 0x15b43c0 #5 0x00007fc16f9c2292 in GNUNET_SERVER_inject (server=0x15a3200, sender=0x15b2690, message=0x15b43c0) at server.c:709 pos = 0x15a54e0 mh = 0x40f928 i = <optimized out> type = 374 size = 72 found = <optimized out> __FUNCTION__ = "GNUNET_SERVER_inject" #6 0x00007fc16f9c2db0 in client_message_tokenizer_callback (cls=<optimized out>, client=0x15b2690, message=<optimized out>) at server.c:931 server = <optimized out> sender = 0x15b2690 ret = <optimized out> #7 0x00007fc16f9c337e in GNUNET_SERVER_mst_receive (mst=0x15aa000, client_identity=0x15b2690, buf=0x0, size=0, purge=0, one_shot=-1) at server_mst.c:220 hdr = <optimized out> delta = <optimized out> want = <optimized out> ibuf = 0x15b43c0 "" need_align = <optimized out> offset = <optimized out> ret = 1 __FUNCTION__ = "GNUNET_SERVER_mst_receive" #8 0x00007fc16f9c2a5b in process_mst (client=0x15b2690, ret=<optimized out>) at server.c:779 No locals. #9 0x00007fc16f9a12b2 in receive_ready (cls=0x15b25b0, tc=0x7fffa23bf260) at connection.c:1193 sh = 0x15b25b0 now = <optimized out> buffer = 0x7fffa23af1b0 "\001$" ret = <optimized out> receiver = <optimized out> __FUNCTION__ = "receive_ready" #10 0x00007fc16f9c0566 in run_ready (ws=0x15a2280, rs=0x15a21f0) at scheduler.c:684 p = <optimized out> pos = 0x15b2770 tc = {reason = GNUNET_SCHEDULER_REASON_READ_READY, read_ready = 0x15a21f0, write_ready = 0x15a2280} #11 GNUNET_SCHEDULER_run (task=<optimized out>, task_cls=<optimized out>) at scheduler.c:874 rs = 0x15a21f0 ws = <optimized out> timeout = <optimized out> ret = <optimized out> shc_int = 0x15a2e30 shc_term = 0x15a2ee0 shc_quit = 0x15a3040 shc_hup = 0x15a30f0 shc_pipe = 0x15a2f90 last_tr = 45 busy_wait_warning = 0 pr = <optimized out> c = 0 '\000' __FUNCTION__ = "GNUNET_SCHEDULER_run" #12 0x00007fc16f9c8c26 in GNUNET_SERVICE_run (argc=3, argv=<optimized out>, serviceName=<optimized out>, opt=<optimized out>, task=<optimized out>, task_cls=0x0) at service.c:1712 err = 0 cfg_fn = 0x15a2090 "/tmp/test_mesh_small//9//gnunet-testing-config0gr1Qs" loglev = 0x0 logfile = 0x0 do_daemonize = 0 i = <optimized out> skew_offset = 140735915226720 skew_variance = 140468788661205 clock_offset = <optimized out> sctx = {cfg = 0x15a1f60, server = 0x15a3200, addrs = 0x0, serviceName = 0x40f216 "transport", task = 0x402f90 <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x15a2160, v6_allowed = 0x15a21a0, my_handlers = 0x15a33d0, addrlens = 0x0, lsocks = 0x15a20d0, 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 = 0x15a1f60 service_options = {{shortName = 99 'c', name = 0x7fc16f9ce427 "config", argumentHelp = 0x7fc16f9ce42e "FILENAME", description = 0x7fc16f9ce4d8 "use configuration file FILENAME", require_argument = 1, processor = 0x7fc16f9b41e0 <GNUNET_GETOPT_set_string>, scls = 0x7fffa23bf508}, {shortName = 100 'd', name = 0x7fc16f9cf220 "daemonize", argumentHelp = 0x0, description = 0x7fc16f9cf5d0 "do daemonize (detach from terminal)", require_argument = 0, processor = 0x7fc16f9b41d0 <GNUNET_GETOPT_set_one>, scls = 0x7fffa23bf53c}, {shortName = 104 'h', name = 0x7fc16f9ce442 "help", argumentHelp = 0x0, description = 0x7fc16f9ce437 "print this help", require_argument = 0, processor = 0x7fc16f9b3e60 <GNUNET_GETOPT_format_help_>, scls = 0x40f216}, {shortName = 76 'L', name = 0x7fc16f9ce447 "log", argumentHelp = 0x7fc16f9ce44b "LOGLEVEL", description = 0x7fc16f9ce4f8 "configure logging to use LOGLEVEL", require_argument = 1, processor = 0x7fc16f9b41e0 <GNUNET_GETOPT_set_string>, scls = 0x7fffa23bf510}, {shortName = 108 'l', name = 0x7fc16f9ce454 "logfile", argumentHelp = 0x7fc16f9cbbfe "LOGFILE", description = 0x7fc16f9ce520 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0x7fc16f9b41e0 <GNUNET_GETOPT_set_string>, scls = 0x7fffa23bf518}, { shortName = 118 'v', name = 0x7fc16f9ce45c "version", argumentHelp = 0x0, description = 0x7fc16f9ce464 "print the version number", require_argument = 0, processor = 0x7fc16f9b3e30 <GNUNET_GETOPT_print_version_>, scls = 0x7fc16f9ce47d}, {shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0, scls = 0x0}} __FUNCTION__ = "GNUNET_SERVICE_run" #13 0x0000000000402e99 in main (argc=<optimized out>, argv=<optimized out>) at gnunet-service-transport.c:610 No locals. conf extract: [transport] PORT = 10002 AUTOSTART = YES [testing] NUM_PEERS = 16 WEAKRANDOM = YES TOPOLOGY = CLIQUE #CONNECT_TOPOLOGY = 2D_TORUS BLACKLIST_TOPOLOGY = RING BLACKLIST_TRANSPORTS = tcp udp http unix | ||||
| Tags | No tags attached. | ||||
|
|
bug found: gnunet-service-transport_clients.c:clients_handle_request_connect: (void) GST_blacklist_test_allowed (&trcm->peer, !!!!!!NULL !!!!!!, &try_connect_if_allowed, NULL); |
|
|
fixed in rev 19592. blacklist did not check if transport_name == NULL transport_name == NULL is allowed if you want to check blacklisting for a specific peer and any transport |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-01-31 17:53 | Bart Polot | New Issue | |
| 2012-01-31 17:53 | Bart Polot | Status | new => assigned |
| 2012-01-31 17:53 | Bart Polot | Assigned To | => Matthias Wachs |
| 2012-02-01 10:08 | Matthias Wachs | Note Added: 0005414 | |
| 2012-02-01 10:14 | Matthias Wachs | Note Added: 0005415 | |
| 2012-02-01 10:14 | Matthias Wachs | Status | assigned => resolved |
| 2012-02-01 10:14 | Matthias Wachs | Resolution | open => fixed |
| 2012-02-03 14:01 | Christian Grothoff | Product Version | Git master => 0.9.1 |
| 2012-02-03 14:01 | Christian Grothoff | Fixed in Version | => 0.9.2 |
| 2012-02-03 14:01 | Christian Grothoff | Target Version | => 0.9.2 |
| 2012-02-28 11:05 | Christian Grothoff | Status | resolved => closed |