View Issue Details

IDProjectCategoryView StatusLast Update
0001686GNUnettransport servicepublic2011-06-10 11:09
ReporterMatthias Wachs Assigned ToMatthias Wachs  
PrioritynormalSeveritymajorReproducibilityrandom
Status closedResolutionfixed 
Summary0001686: Transport service crashes on 32-bit machines in chat testcases
DescriptionTransport service tries to access struct ForeignAddressList * already freed:

static void disconnect_neighbour (gnunet-service-transport.c:5061):
      GNUNET_free(peer_pos);

transmit_send_continuation (gnunet-service-transport.c:1885) tries to access address:
      if (mq->specific_address->connected != GNUNET_NO)
Additional Information==12713== Invalid read of size 4
==12713== at 0x804C330: transmit_send_continuation (gnunet-service-transport.c:1885)
==12713== by 0x47528F8: disconnect_session (plugin_transport_tcp.c:1095)
==12713== by 0x47549F6: disconnect_notify (plugin_transport_tcp.c:2156)
==12713== by 0x4063E69: GNUNET_SERVER_client_disconnect (server.c:1127)
==12713== by 0x40637CF: process_incoming (server.c:820)
==12713== by 0x4048090: signal_error (connection.c:1111)
==12713== by 0x40482EE: receive_ready (connection.c:1180)
==12713== by 0x406130F: run_ready (scheduler.c:643)
==12713== by 0x406185E: GNUNET_SCHEDULER_run (scheduler.c:790)
==12713== by 0x4069181: GNUNET_SERVICE_run (service.c:1620)
==12713== by 0x805ACF9: main (gnunet-service-transport.c:7705)
==12713== Address 0x442fae0 is 72 bytes inside a block of size 90 free'd
==12713== at 0x4023B6A: free (vg_replace_malloc.c:366)
==12713== by 0x4042D50: GNUNET_xfree_ (common_allocation.c:196)
==12713== by 0x80534DB: disconnect_neighbour (gnunet-service-transport.c:5061)
==12713== by 0x804DC4B: plugin_env_session_end (gnunet-service-transport.c:2609)
==12713== by 0x4752708: disconnect_session (plugin_transport_tcp.c:1063)
==12713== by 0x47549F6: disconnect_notify (plugin_transport_tcp.c:2156)
==12713== by 0x4063E69: GNUNET_SERVER_client_disconnect (server.c:1127)
==12713== by 0x40637CF: process_incoming (server.c:820)
==12713== by 0x4048090: signal_error (connection.c:1111)
==12713== by 0x40482EE: receive_ready (connection.c:1180)
==12713== by 0x406130F: run_ready (scheduler.c:643)
==12713== by 0x406185E: GNUNET_SCHEDULER_run (scheduler.c:790)
==12713==
==12713== Invalid write of size 4
==12713== at 0x804C3D2: transmit_send_continuation (gnunet-service-transport.c:1902)
==12713== by 0x47528F8: disconnect_session (plugin_transport_tcp.c:1095)
==12713== by 0x47549F6: disconnect_notify (plugin_transport_tcp.c:2156)
==12713== by 0x4063E69: GNUNET_SERVER_client_disconnect (server.c:1127)
==12713== by 0x40637CF: process_incoming (server.c:820)
==12713== by 0x4048090: signal_error (connection.c:1111)
==12713== by 0x40482EE: receive_ready (connection.c:1180)
==12713== by 0x406130F: run_ready (scheduler.c:643)
==12713== by 0x406185E: GNUNET_SCHEDULER_run (scheduler.c:790)
==12713== by 0x4069181: GNUNET_SERVICE_run (service.c:1620)
==12713== by 0x805ACF9: main (gnunet-service-transport.c:7705)
==12713== Address 0x442fae4 is 76 bytes inside a block of size 90 free'd
==12713== at 0x4023B6A: free (vg_replace_malloc.c:366)
==12713== by 0x4042D50: GNUNET_xfree_ (common_allocation.c:196)
==12713== by 0x80534DB: disconnect_neighbour (gnunet-service-transport.c:5061)
==12713== by 0x804DC4B: plugin_env_session_end (gnunet-service-transport.c:2609)
==12713== by 0x4752708: disconnect_session (plugin_transport_tcp.c:1063)
==12713== by 0x47549F6: disconnect_notify (plugin_transport_tcp.c:2156)
==12713== by 0x4063E69: GNUNET_SERVER_client_disconnect (server.c:1127)
==12713== by 0x40637CF: process_incoming (server.c:820)
==12713== by 0x4048090: signal_error (connection.c:1111)
==12713== by 0x40482EE: receive_ready (connection.c:1180)
==12713== by 0x406130F: run_ready (scheduler.c:643)
==12713== by 0x406185E: GNUNET_SCHEDULER_run (scheduler.c:790)
==12713==
TagsNo tags attached.

Activities

Matthias Wachs

2011-06-09 16:43

reporter   ~0004346

fixed in revision 15494

changed order or calls:

- first call transmit continuations
- then disconnect neighbour

Issue History

Date Modified Username Field Change
2011-06-08 20:02 Matthias Wachs New Issue
2011-06-08 20:02 Matthias Wachs Status new => assigned
2011-06-08 20:02 Matthias Wachs Assigned To => Matthias Wachs
2011-06-09 16:43 Matthias Wachs Note Added: 0004346
2011-06-09 16:43 Matthias Wachs Status assigned => resolved
2011-06-09 16:43 Matthias Wachs Resolution open => fixed
2011-06-10 11:09 Christian Grothoff Status resolved => closed