View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001736 | GNUnet | transport service | public | 2011-07-14 13:32 | 2011-09-19 10:45 |
| Reporter | mrwiggles | Assigned To | Matthias Wachs | ||
| Priority | normal | Severity | crash | Reproducibility | sometimes |
| Status | closed | Resolution | fixed | ||
| Product Version | Git master | ||||
| Summary | 0001736: Transport crash on peer restart | ||||
| Description | Peer was connected to 20 peers, then shutdown, then started again. Transport crashed after a few seconds running... #3 0xb74ca82b in tcp_plugin_send (cls=0x805ffc8, target=0x8180488, msg=0x81804dc "\022 | ||||
| Tags | No tags attached. | ||||
|
|
Something to do with shutdown? Invalid read of size 8 ==3035== at 0x402F84: find_transport (gnunet-service-transport.c:1040) ==3035== by 0x403D78: a2s (gnunet-service-transport.c:1361) ==3035== by 0x40678D: plugin_env_notify_address (gnunet-service-transport.c:2589) ==3035== by 0x6EBA345: tcp_nat_cb_remove_addr (plugin_transport_http.c:3048) ==3035== by 0x6EBA52A: tcp_nat_port_map_callback (plugin_transport_http.c:3092) ==3035== by 0x6AAB14C: GNUNET_NAT_unregister (nat.c:1383) ==3035== by 0x6EBA5A6: libgnunet_plugin_transport_http_done (plugin_transport_http.c:3128) ==3035== by 0x5464928: GNUNET_PLUGIN_unload (plugin.c:272) ==3035== by 0x40EAB5: shutdown_task (gnunet-service-transport.c:6280) ==3035== by 0x546910D: run_ready (scheduler.c:648) ==3035== by 0x5469510: GNUNET_SCHEDULER_run (scheduler.c:795) ==3035== by 0x547112F: GNUNET_SERVICE_run (service.c:1627) ==3035== Address 0x6518c50 is 16 bytes inside a block of size 160 free'd ==3035== at 0x4C268FE: free (vg_replace_malloc.c:366) ==3035== by 0x5448BF1: GNUNET_xfree_ (common_allocation.c:196) ==3035== by 0x40EB74: shutdown_task (gnunet-service-transport.c:6289) ==3035== by 0x546910D: run_ready (scheduler.c:648) ==3035== by 0x5469510: GNUNET_SCHEDULER_run (scheduler.c:795) ==3035== by 0x547112F: GNUNET_SERVICE_run (service.c:1627) ==3035== by 0x40FF95: main (gnunet-service-transport.c:6802) ==3035== ==3035== Invalid read of size 1 ==3035== at 0x4C28CB4: strcmp (mc_replace_strmem.c:538) ==3035== by 0x402F96: find_transport (gnunet-service-transport.c:1040) ==3035== by 0x403D78: a2s (gnunet-service-transport.c:1361) ==3035== by 0x40678D: plugin_env_notify_address (gnunet-service-transport.c:2589) ==3035== by 0x6EBA345: tcp_nat_cb_remove_addr (plugin_transport_http.c:3048) ==3035== by 0x6EBA52A: tcp_nat_port_map_callback (plugin_transport_http.c:3092) ==3035== by 0x6AAB14C: GNUNET_NAT_unregister (nat.c:1383) ==3035== by 0x6EBA5A6: libgnunet_plugin_transport_http_done (plugin_transport_http.c:3128) ==3035== by 0x5464928: GNUNET_PLUGIN_unload (plugin.c:272) ==3035== by 0x40EAB5: shutdown_task (gnunet-service-transport.c:6280) ==3035== by 0x546910D: run_ready (scheduler.c:648) ==3035== by 0x5469510: GNUNET_SCHEDULER_run (scheduler.c:795) ==3035== Address 0x6518d20 is 0 bytes inside a block of size 6 free'd ==3035== at 0x4C268FE: free (vg_replace_malloc.c:366) ==3035== by 0x5448BF1: GNUNET_xfree_ (common_allocation.c:196) ==3035== by 0x40EB19: shutdown_task (gnunet-service-transport.c:6282) ==3035== by 0x546910D: run_ready (scheduler.c:648) ==3035== by 0x5469510: GNUNET_SCHEDULER_run (scheduler.c:795) ==3035== by 0x547112F: GNUNET_SERVICE_run (service.c:1627) ==3035== by 0x40FF95: main (gnunet-service-transport.c:6802) |
|
|
#2 0x00000000068a405a in tcp_plugin_send (cls=0x64c2750, target=0x944da20, msg=0x944da78 "\001\360", msgbuf_size=496, priority=0, timeout=..., session=0x94384f0, addr=0x9437cc0, addrlen=6, force_address=0, cont=0x404470 <transmit_send_continuation>, cont_cls=0x944d9f0) at plugin_transport_tcp.c:1199 #3 0x0000000000404f7d in try_transmission_to_peer (n=0x9436300) at gnunet-service-transport.c:1757 #4 0x0000000000405366 in transmit_to_peer (client=0x65d2ef0, peer_address=0x0, priority=0, timeout=..., message_buf=0x927b508 "\001\360", message_buf_size=496, is_internal=0, neighbour=0x9436300) at gnunet-service-transport.c:1845 #5 0x000000000040d64d in transmit_client_message (cls=0x927b4f0, n=0x9436300) at gnunet-service-transport.c:5660 #6 0x0000000000408002 in setup_peer_check_blacklist (peer=0x7feff0020, do_hello=1, cont=0x40d5a4 <transmit_client_message>, cont_cls=0x927b4f0) at gnunet-service-transport.c:3511 #7 0x000000000040d83a in handle_send (cls=0x0, client=0x65d08a0, message=0x7feff0010) at gnunet-service-transport.c:5719 #8 0x000000000546afc4 in GNUNET_SERVER_inject (server=0x64b8650, sender=0x65d08a0, message=0x7feff0010) at server.c:721 #9 0x000000000546b420 in client_message_tokenizer_callback (cls=0x64b8650, client=0x65d08a0, message=0x7feff0010) at server.c:961 #10 0x000000000546c1a7 in GNUNET_SERVER_mst_receive (mst=0x65d0960, client_identity=0x65d08a0, buf=0x7feff0010 "\002@", size=576, purge=0, one_shot=-1) at server_mst.c:271 #11 0x000000000546b301 in process_incoming (cls=0x65d08a0, buf=0x7feff0010, available=576, addr=0x65d06e0, addrlen=2, errCode=0) at server.c:889 #12 0x000000000544e47d in receive_ready (cls=0x65d0730, tc=0x7ff0000a0) at connection.c:1213 #13 0x00000000054690ba in run_ready (rs=0x64b7ec0, ws=0x64b7f90) at scheduler.c:648 #14 0x00000000054694bd in GNUNET_SCHEDULER_run (task=0x547017e <service_task>, task_cls=0x7ff000350) at scheduler.c:795 #15 0x00000000054710dc in GNUNET_SERVICE_run (argc=5, argv=0x7ff000568, serviceName=0x412d58 "transport", opt=GNUNET_SERVICE_OPTION_NONE, task=0x40f649 <run>, task_cls=0x0) at service.c:1627 #16 0x000000000040fff7 in main (argc=5, argv=0x7ff000568) at gnunet-service-transport.c:6812 |
|
|
Guessing: After reconnect, transport service uses old session, altready freed in the plugin? |
|
|
Added a break at plugin_transport_tcp.c:1201 to help diagnose. |
|
|
Code was completely rewritten, so this should no longer be relevant. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2011-07-14 13:32 | mrwiggles | New Issue | |
| 2011-07-14 13:32 | mrwiggles | Status | new => assigned |
| 2011-07-14 13:32 | mrwiggles | Assigned To | => Matthias Wachs |
| 2011-07-15 13:51 | mrwiggles | Note Added: 0004507 | |
| 2011-07-15 16:15 | mrwiggles | Note Added: 0004515 | |
| 2011-07-15 16:45 | Matthias Wachs | Note Added: 0004516 | |
| 2011-08-04 09:40 | root | Note Added: 0004546 | |
| 2011-09-14 13:18 | Christian Grothoff | Note Added: 0004571 | |
| 2011-09-14 13:18 | Christian Grothoff | Status | assigned => closed |
| 2011-09-14 13:18 | Christian Grothoff | Resolution | open => fixed |
| 2011-09-14 13:18 | Christian Grothoff | Fixed in Version | => Git master |
| 2011-09-19 10:45 | Christian Grothoff | Fixed in Version | Git master => 0.9.0pre3 |
| 2011-09-19 10:45 | Christian Grothoff | Target Version | => 0.9.0pre3 |