View Issue Details

IDProjectCategoryView StatusLast Update
0002154GNUnettransport servicepublic2012-02-28 11:05
ReporterLRN Assigned ToMatthias Wachs  
PrioritynormalSeveritycrashReproducibilityunable to reproduce
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.2Fixed in Version0.9.2 
Summary0002154: test_transport_api_unreliability_udp crash
Descriptionr19894+4
Additional Information
Reading symbols from d:\progs\gnunet\bin\gnunet-service-transport.exe...done.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x75c7280d in KERNELBASE!DeleteAce () from C:\Windows\syswow64\KernelBase.dll
(gdb) bt
#0  0x75c7280d in KERNELBASE!DeleteAce () from C:\Windows\syswow64\KernelBase.dll
#1  0x6be465a4 in GNUNET_abort () at common_logging.c:271
#2  0x0040965b in _fu350__skip_log () at gnunet-service-transport_neighbours.c:689
#3  0x6eac5448 in _fu170__skip_log () at plugin_transport_udp.c:1559
#4  0x6eac582c in udp_plugin_select (cls=0x35fb20, tc=0x28fc90) at plugin_transport_udp.c:1614
#5  0x6be77465 in run_ready (rs=0x359fe8, ws=0x35b000) at scheduler.c:684
#6  0x6be77bd6 in GNUNET_SCHEDULER_run (task=0x6be8237e <service_task>, task_cls=0x28fe28) at scheduler.c:874
#7  0x6be83062 in GNUNET_SERVICE_run (argc=3, argv=0x1e7bd30, serviceName=0x4162d7 "transport", opt=GNUNET_SERVICE_OPTION_NONE, task=0x40244a <run>, task_cls=0x0) at service.c:1716
#8  0x004027c7 in main (argc=3, argv=0x1e7bd30) at gnunet-service-transport.c:629
(gdb) up
#1  0x6be465a4 in GNUNET_abort () at common_logging.c:271
271       DebugBreak ();
(gdb)
#2  0x0040965b in _fu350__skip_log () at gnunet-service-transport_neighbours.c:689
689         GNUNET_assert (n->is_active == mq);
(gdb) p n
$1 = (struct NeighbourMapEntry *) 0x35e7a8
(gdb) p n->is_active
$2 = (struct MessageQueue *) 0x0
(gdb) p mq
$3 = (struct MessageQueue *) 0x1edf808
(gdb) p *mq
$4 = {next = 0x1ec3468, prev = 0x1ef9b30, n = 0x35e7a8, cont = 0x406ab6 <handle_send_transmit_continuation>, cont_cls = 0x1e872e8, message_buf = 0x1edf830 "╛H09", message_buf_size = 48712, timeout = {
    abs_value = 1329834025889}}
(gdb) p *n
$5 = {messages_head = 0x0, messages_tail = 0x0, is_active = 0x0, session = 0x357b60, address = 0x1e7f940, id = {hashPubKey = {bits = {2337083003, 4274971032, 2279255051, 2008100859, 273867118, 2042569053, 3035188092,
        614804655, 3664182903, 3398087836, 1813240356, 2919956324, 724523430, 3340812164, 590949017, 3900511685}}}, timeout_task = 22078, keepalive_task = 22066, transmission_task = 0, in_tracker = {
    consumption_since_last_update__ = -1, last_update__ = {abs_value = 1329833955767}, available_bytes_per_s__ = 1000000000, max_carry_s__ = 5}, bandwidth_in = {value__ = 13277755}, bandwidth_out = {value__ = 13277755},
  connect_ts = {abs_value = 1329833955766}, keep_alive_sent = {abs_value = 1329833955767}, latency = {rel_value = 1}, ats_suggest = 0, state_reset = 0, quota_violation_count = 0, state = 3, expect_latency_response = 0,
  address_state = 0}
TagsNo tags attached.

Activities

Christian Grothoff

2012-02-22 10:07

manager   ~0005491

The checked invariant seems fine based on manual code inspection. This could be a (rare) memory-corruption issue (which would also explain why it is hard to reproduce).

Christian Grothoff

2012-02-22 10:11

manager   ~0005492

Matthias suggests that the UDP plugin might be ignoring the 'disconnect' call from disconnect_neighbour and calls the transmit_send_continuation *after* the message queue entry has been free'd.

Matthias Wachs

2012-02-23 11:30

reporter   ~0005494

fix in rev 19962.

Issue History

Date Modified Username Field Change
2012-02-21 17:27 LRN New Issue
2012-02-21 17:27 LRN Status new => assigned
2012-02-21 17:27 LRN Assigned To => Matthias Wachs
2012-02-21 21:59 Christian Grothoff Product Version => Git master
2012-02-21 21:59 Christian Grothoff Target Version => 0.9.2
2012-02-21 21:59 Christian Grothoff Severity minor => crash
2012-02-22 10:07 Christian Grothoff Note Added: 0005491
2012-02-22 10:07 Christian Grothoff Target Version 0.9.2 => 0.9.3
2012-02-22 10:07 Christian Grothoff Target Version 0.9.3 =>
2012-02-22 10:11 Christian Grothoff Note Added: 0005492
2012-02-23 11:30 Matthias Wachs Note Added: 0005494
2012-02-23 11:30 Matthias Wachs Status assigned => resolved
2012-02-23 11:30 Matthias Wachs Resolution open => fixed
2012-02-23 16:05 Christian Grothoff Fixed in Version => 0.9.2
2012-02-23 16:05 Christian Grothoff Target Version => 0.9.2
2012-02-28 11:05 Christian Grothoff Status resolved => closed