View Issue Details

IDProjectCategoryView StatusLast Update
0001566GNUnethostlist daemonpublic2010-07-03 20:55
ReporterChristian Grothoff Assigned ToMatthias Wachs  
PriorityurgentSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Summary0001566: hostlist service (in conjunction with stats) went CPU crazy (100%)
DescriptionThe calculated 'delay' in 'task_check' is always zero, causing the code to spin.

Interesting data:

(gdb) print delay
$3 = {value = 0}
(gdb) print hostlist_delay
$4 = {value = 0}
(gdb) print stat_connection_count
$5 = 4294967295

Note that the actual connection count should be zero (AFAIK peer is not connected, might have been though -- did we get two disconnect events for one connect event?).

Additional InformationTrace:

(gdb) ba
#0 0x0034d7e4 in gettext () from /lib/tls/i686/cmov/libc.so.6
#1 0x0034e810 in gettext () from /lib/tls/i686/cmov/libc.so.6
#2 0x0034d523 in dcgettext () from /lib/tls/i686/cmov/libc.so.6
#3 0x0034d550 in dgettext () from /lib/tls/i686/cmov/libc.so.6
#4 0x0804c490 in task_check (cls=0x0, tc=0xbf895968) at hostlist-client.c:1103
#5 0x00e88041 in run_ready (sched=0xbf8959cc) at scheduler.c:559
#6 0x00e884dd in GNUNET_SCHEDULER_run (task=0xe84704 <program_main>, task_cls=0xbf895b04) at scheduler.c:687
#7 0x00e84d2e in GNUNET_PROGRAM_run (argc=4, argv=0xbf895c44, binaryName=0x804ee33 "hostlist", binaryHelp=0x804ee6c "GNUnet hostlist server and client", options=0x80511c0, task=0x804a21a <run>, task_cls=0x0) at program.c:227
#8 0x0804a48a in main (argc=4, argv=0xbf895c44) at gnunet-daemon-hostlist.c:354
TagsNo tags attached.

Activities

Matthias Wachs

2010-06-08 10:30

manager   ~0004030

Added assertion to disconnect handler to prevent underflow

Matthias Wachs

2010-06-08 10:43

manager   ~0004031

stat_connection_count is

- incremented when a peer connects
- decremented when a peer disconnects

- is of type static unsigned int
- 4294967295 is (2^32)-1

Christian Grothoff

2010-06-18 00:14

manager   ~0004034

Any progress on finding out why core might give us more disconnect callbacks than connect callbacks?

Christian Grothoff

2010-07-02 09:21

manager   ~0004054

Fixed in SVN 12083. Disconnect notifications were given even if the peer had not even managed to do a session key exchange, but in that case connect notifications had not been created.

Issue History

Date Modified Username Field Change
2010-06-08 00:17 Christian Grothoff New Issue
2010-06-08 00:17 Christian Grothoff Status new => assigned
2010-06-08 00:17 Christian Grothoff Assigned To => Matthias Wachs
2010-06-08 10:30 Matthias Wachs Note Added: 0004030
2010-06-08 10:30 Matthias Wachs Status assigned => acknowledged
2010-06-08 10:43 Matthias Wachs Note Added: 0004031
2010-06-18 00:14 Christian Grothoff Note Added: 0004034
2010-07-02 09:21 Christian Grothoff Note Added: 0004054
2010-07-02 09:21 Christian Grothoff Status acknowledged => resolved
2010-07-02 09:21 Christian Grothoff Resolution open => fixed
2010-07-03 20:55 Christian Grothoff Status resolved => closed