View Issue Details

IDProjectCategoryView StatusLast Update
0001624GNUnetotherpublic2011-09-19 10:45
Reportermrwiggles Assigned Tomrwiggles  
PriorityhighSeveritymajorReproducibilityrandom
Status closedResolutionfixed 
Summary0001624: Infinite loop (bad linked list)
DescriptionTransport API problem, somehow the list of h->neighbours is not terminated by a NULL pointer; or the entry being searched for is not in the list. Not sure if it is supposed to be a circular linked list and the item should be there, or if it is normally NULL terminated.
Additional Information$2 = (struct NeighbourList *) 0x7f966c3c9ed8
(gdb) print pos->next->next
$3 = (struct NeighbourList *) 0x24555d0
(gdb) print pos->next->next->next
$4 = (struct NeighbourList *) 0x7f966c3c9ed8
(gdb) print pos->next->next->next->next
$5 = (struct NeighbourList *) 0x24555d0

(gdb) bt
#0 neighbour_free (n=0x2451290) at transport_api.c:1108
#1 0x00007f966c817d16 in neighbour_disconnect (n=0x2451290) at transport_api.c:1140
#2 0x00007f966c818cbf in demultiplexer (cls=0x24455f0, msg=0x7fffb6097780) at transport_api.c:1615
#3 0x00007f966c5e1299 in receive_task (cls=0x244b060, tc=0x7fffb6097870) at client.c:529
#4 0x00007f966c6005f1 in run_ready (rs=0x243de60, ws=0x243f330) at scheduler.c:644
#5 0x00007f966c600abf in GNUNET_SCHEDULER_run (task=0x7f966c606f71 <service_task>, task_cls=0x7fffb6097d30) at scheduler.c:786
#6 0x00007f966c607e9d in GNUNET_SERVICE_run (argc=3, argv=0x7fffb6097f48, serviceName=0x40a92a "core", opt=GNUNET_SERVICE_OPTION_NONE,
    task=0x409c35 <run>, task_cls=0x0) at service.c:1577
#7 0x0000000000409f8a in main (argc=3, argv=0x7fffb6097f48) at gnunet-service-core.c:4412
(gdb) list
1103 GNUNET_break (n->is_connected == GNUNET_NO);
1104 GNUNET_break (n->transmit_stage == TS_NEW);
1105
1106 prev = NULL;
1107 pos = h->neighbours;
1108 while (pos != n)
1109 {
1110 prev = pos;
1111 pos = pos->next;
1112 }
(gdb) print h->neighbours->next
$8 = (struct NeighbourList *) 0x24555d0
(gdb) print h->neighbours
$9 = (struct NeighbourList *) 0x7f966c3c9ed8
(gdb) print h->neighbours->next->next
$10 = (struct NeighbourList *) 0x7f966c3c9ed8
(gdb) print h->neighbours->next->next->next
$11 = (struct NeighbourList *) 0x24555d0
(gdb) print h->neighbours->next->next->next->next
$12 = (struct NeighbourList *) 0x7f966c3c9ed8
TagsNo tags attached.
Attached Files
valgrind_core.984 (10,468 bytes)

Activities

mrwiggles

2010-11-30 13:58

reporter   ~0004190

Last edited: 2010-11-30 14:01

Valgrind trace showing that "random attempt" at fixing core problem was BAD.

Christian Grothoff

2010-11-30 16:03

manager   ~0004191

It is supposed to be changed to a HT anyway, so maybe this is the time to do that...

Also, the uninit-memory accesses in your trace suggest that some component is generating messages and fails to initialize some fields (!).

Christian Grothoff

2010-12-05 21:59

manager   ~0004201

mrwiggles: isn't this resolved now?

mrwiggles

2010-12-07 13:13

reporter   ~0004204

should be fixed, marking as resolved.

Issue History

Date Modified Username Field Change
2010-11-30 13:12 mrwiggles New Issue
2010-11-30 13:58 mrwiggles File Added: valgrind_core.984
2010-11-30 13:58 mrwiggles Note Added: 0004190
2010-11-30 14:01 mrwiggles Note Edited: 0004190
2010-11-30 16:03 Christian Grothoff Note Added: 0004191
2010-12-05 21:59 Christian Grothoff Note Added: 0004201
2010-12-05 21:59 Christian Grothoff Status new => assigned
2010-12-05 21:59 Christian Grothoff Assigned To => mrwiggles
2010-12-07 13:13 mrwiggles Note Added: 0004204
2010-12-07 13:15 mrwiggles Status assigned => closed
2010-12-07 13:15 mrwiggles Resolution open => fixed
2010-12-07 13:15 mrwiggles 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