View Issue Details

IDProjectCategoryView StatusLast Update
0002462GNUnettransport servicepublic2012-11-05 18:34
ReporterLRN Assigned ToMatthias Wachs  
PrioritynormalSeveritycrashReproducibilityN/A
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.4Fixed in Version0.9.4 
Summary0002462: Assertion failure in gnunet-service-transrpot_neighbours.c:1265
DescriptionAssertion wants state to be S_CONNECTED, but send_keepalive() might be called from other states as well.
Additional Information
Program received signal SIGTRAP, Trace/breakpoint trap.
0x7677280d in KERNELBASE!DeleteAce () from C:\Windows\syswow64\KernelBase.dll
(gdb) b
Breakpoint 1 at 0x7677280d
(gdb) bt
#0  0x7677280d in KERNELBASE!DeleteAce () from C:\Windows\syswow64\KernelBase.dll
#1  0x62ac6b20 in GNUNET_abort () at common_logging.c:291
#2  0x0040b303 in send_keepalive (n=0x1f4b628) at gnunet-service-transport_neighbours.c:1265
#3  0x00410445 in master_task (cls=0x1f4b628, tc=0x28fc80) at gnunet-service-transport_neighbours.c:2519
#4  0x62af79ab in run_ready (rs=0x599fe8, ws=0x59b000) at scheduler.c:608
#5  0x62af8152 in GNUNET_SCHEDULER_run (task=0x62b0430a <service_task>, task_cls=0x28fe20) at scheduler.c:796
#6  0x62b05046 in GNUNET_SERVICE_run (argc=3, argv=0x1f3bdf8, service_name=0x4193cb "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x4026f1 <run>, task_cls=0x0) at service.c:1788
#7  0x00402ce3 in main (argc=3, argv=0x1f3bdf8) at gnunet-service-transport.c:649
(gdb) up
#1  0x62ac6b20 in GNUNET_abort () at common_logging.c:291
291       DebugBreak ();
(gdb)
#2  0x0040b303 in send_keepalive (n=0x1f4b628) at gnunet-service-transport_neighbours.c:1265
1265      GNUNET_assert (S_CONNECTED == n->state);
(gdb) p n
$1 = (struct NeighbourMapEntry *) 0x1f4b628
(gdb) p n->state
$2 = S_CONNECTED_SWITCHING_CONNECT_SENT
TagsNo tags attached.

Activities

Matthias Wachs

2012-06-26 14:40

reporter   ~0006151

master task sends keep alive message in 3 states:

S_CONNECTED
S_CONNECTED_SWITCHING_BLACKLIST
S_CONNECTED_SWITCHING_CONNECT_SENT

by calling send_keepalive()

but send_keepalive is checking for state == S_CONNECTED

Matthias Wachs

2012-06-26 15:02

reporter   ~0006152

Keep alives are send in all of the 3 states mentioned above, so send_keepalive has to check for all of them

fixed in 22293.

Issue History

Date Modified Username Field Change
2012-06-25 20:15 LRN New Issue
2012-06-25 20:15 LRN Status new => assigned
2012-06-25 20:15 LRN Assigned To => Matthias Wachs
2012-06-26 14:40 Matthias Wachs Note Added: 0006151
2012-06-26 15:02 Matthias Wachs Note Added: 0006152
2012-06-26 15:02 Matthias Wachs Status assigned => resolved
2012-06-26 15:02 Matthias Wachs Resolution open => fixed
2012-06-26 15:26 Christian Grothoff Product Version => Git master
2012-06-26 15:26 Christian Grothoff Fixed in Version => 0.9.4
2012-06-26 15:26 Christian Grothoff Target Version => 0.9.4
2012-11-05 18:34 Christian Grothoff Status resolved => closed