View Issue Details

IDProjectCategoryView StatusLast Update
0002018GNUnettransport servicepublic2024-05-03 12:01
Reporteramatus Assigned ToChristian Grothoff Due Date
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformamd64OSDebianOS Versionsqueeze
Product Version0.9.0 
Target Version0.9.2Fixed in Version0.9.2 
Summary0002018: http(s) transport eats cpu
Descriptionmifritscher has found that running with http(s) transports enabled gnunet-service-transport pegs his cpu.
TagsNo tags attached.

Relationships

related to 0002085 closedChristian Grothoff libmicrohttpd MHD_get_timeout relies on uninitialized variable, leads to busy waiting sometimes 

Activities

Christian Grothoff

2011-12-21 09:44

manager   ~0005157

What does 'contrib/report.sh' say on that system? Also, which version of GNU libmicrohttpd is installed?

Christian Grothoff

2011-12-21 09:44

manager   ~0005158

Attaching gdb and giving us some traces would also be wonderful...

mifritscher

2011-12-21 17:05

reporter   ~0005161

locate microhttpd:
/usr/local/lib/libmicrohttpd.so.10.14.0 (compiled yesterday fresh vom svn)

report.sh:
OS : Linux
OS RELEASE : 2.6.32-5-openvz-amd64
HARDWARE : x86_64
gcc : gcc (Debian 4.4.5-8) 4.4.5
autoconf : 2.67
automake : 1.11.1
libtool : 2.2.6b
libextractor : v0.6.3
GNUnet 0.8 : Not Found (good)
GNUnet 0.9 : 0.9.0
libgcrypt : 1.4.5
mysql : 5.1.49
pkg-config : 0.25
glib2 : 2.24.2
gtk2+ : 2.20.1
GMP : libgmp3-dev-2:4.3.2+dfsg-1.deb
GNU gettext : 0.18.1
libcurl : 7.21.0
Qt : Not found
MHD : 91101


gdb (started & attached to the transport-process)

bt:
(gdb) bt
#0 0x00007f14bb9658b3 in select () from /lib/libc.so.6
#1 0x00007f14bc0b1160 in GNUNET_NETWORK_socket_select (rfds=0x1377880, wfds=0x1377910, efds=0x0, timeout=<value optimized out>) at network.c:1213
#2 0x00007f14bc0bd388 in GNUNET_SCHEDULER_run (task=<value optimized out>, task_cls=<value optimized out>) at scheduler.c:845
#3 0x00007f14bc0c5788 in GNUNET_SERVICE_run (argc=7, argv=<value optimized out>, serviceName=0x4102a4 "transport", opt=<value optimized out>, task=0x402ef0 <run>, task_cls=0x0) at service.c:1673
#4 0x0000000000402ed9 in main (argc=50, argv=0x1377888) at gnunet-service-transport.c:609

cont + Strg+C

bt
#0 0x00007f14bb9658b3 in select () from /lib/libc.so.6
#1 0x00007f14babea9bb in MHD_select (daemon=0x13b32d0, may_block=0) at daemon.c:1319
#2 0x00007f14babeacd7 in MHD_run (daemon=0x24) at daemon.c:1575
#3 0x00007f14b84be87c in server_v6_run (cls=0x13a47a0, tc=0x7fffb6a037b0) at plugin_transport_http_server.c:973
#4 0x00007f14bc0bcfa2 in run_ready (task=<value optimized out>, task_cls=<value optimized out>) at scheduler.c:684
#5 GNUNET_SCHEDULER_run (task=<value optimized out>, task_cls=<value optimized out>) at scheduler.c:874
#6 0x00007f14bc0c5788 in GNUNET_SERVICE_run (argc=7, argv=<value optimized out>, serviceName=0x4102a4 "transport", opt=<value optimized out>, task=0x402ef0 <run>, task_cls=0x0) at service.c:1673
#7 0x0000000000402ed9 in main (argc=36, argv=0x7fffb6a03630) at gnunet-service-transport.c:609

cont + Strg+C

bt
#0 0x00007f14bb9658b3 in select () from /lib/libc.so.6
#1 0x00007f14babea9bb in MHD_select (daemon=0x13a3490, may_block=0) at daemon.c:1319
#2 0x00007f14babeacd7 in MHD_run (daemon=0x20) at daemon.c:1575
#3 0x00007f14badfe63c in server_v4_run (cls=0x1372b20, tc=0x7fffb6a037b0) at plugin_transport_http_server.c:945
#4 0x00007f14bc0bcfa2 in run_ready (task=<value optimized out>, task_cls=<value optimized out>) at scheduler.c:684
#5 GNUNET_SCHEDULER_run (task=<value optimized out>, task_cls=<value optimized out>) at scheduler.c:874
#6 0x00007f14bc0c5788 in GNUNET_SERVICE_run (argc=7, argv=<value optimized out>, serviceName=0x4102a4 "transport", opt=<value optimized out>, task=0x402ef0 <run>, task_cls=0x0) at service.c:1673
#7 0x0000000000402ed9 in main (argc=32, argv=0x7fffb6a03630) at gnunet-service-transport.c:609


Hope that helps.

Christian Grothoff

2011-12-23 09:51

manager   ~0005168

Sadly, all this says is that this is not a known/fixed issue and that it is also not going to be an obvious one. We will have to find a way to reproduce it.

Matthias Wachs

2012-01-10 17:29

reporter   ~0005256

Tried to track down the issue... not possible to reproduce atm

Keep peer running over night to see if it occurs

Christian Grothoff

2012-01-19 21:21

manager   ~0005308

We just got a report (and bugfix) about a possible busy-loop in conjunction with external select (which is what we do in GNUnet with HTTP/HTTPS) and uninitialized memory (which must have, per chance, a particular value). So it seems likely that by fixing 0002085 we might have fixed this issue as well.

amatus, can you update GNU libmicrohttpd to SVN HEAD and see if the issue is still there?

Christian Grothoff

2012-01-19 21:23

manager   ~0005309

Oh, sorry amatus, I didn't read that you were reporting an issue from someone else here. I guess in that case the best choice is likely to call this one resolved ("Update to MHD 0.9.18") and hope that if there is another issue, someone will again report it.

Christian Grothoff

2012-01-19 21:24

manager   ~0005310

Presumably fixed in MHD 0.9.18. SVN 19269 updates that MHD 0.9.18 is now required.

Issue History

Date ModifiedUsernameFieldChange
2011-12-20 21:55amatusNew Issue
2011-12-20 21:55amatusStatusnew => assigned
2011-12-20 21:55amatusAssigned To => Matthias Wachs
2011-12-20 22:49amatusOS => Debian
2011-12-20 22:49amatusOS Version => squeeze
2011-12-20 22:49amatusPlatform => amd64
2011-12-21 09:44Christian GrothoffNote Added: 0005157
2011-12-21 09:44Christian GrothoffNote Added: 0005158
2011-12-21 17:05mifritscherNote Added: 0005161
2011-12-23 09:51Christian GrothoffNote Added: 0005168
2011-12-23 09:51Christian GrothoffPrioritynormal => urgent
2011-12-23 09:51Christian GrothoffProduct Version => 0.9.0
2011-12-23 09:52Christian GrothoffSeverityminor => major
2011-12-23 09:52Christian GrothoffCategorytransport service => HTTP transport
2012-01-10 17:29Matthias WachsNote Added: 0005256
2012-01-19 21:21Christian GrothoffNote Added: 0005308
2012-01-19 21:21Christian GrothoffRelationship addedrelated to 0002085
2012-01-19 21:23Christian GrothoffNote Added: 0005309
2012-01-19 21:24Christian GrothoffNote Added: 0005310
2012-01-19 21:24Christian GrothoffStatusassigned => resolved
2012-01-19 21:24Christian GrothoffResolutionopen => fixed
2012-01-19 21:24Christian GrothoffAssigned ToMatthias Wachs => Christian Grothoff
2012-01-19 21:24Christian GrothoffFixed in Version => 0.9.2
2012-01-19 21:24Christian GrothoffTarget Version => 0.9.2
2012-02-28 10:05Christian GrothoffStatusresolved => closed
2024-05-03 12:01Christian GrothoffCategoryHTTP transport => transport service