[boost] endless loop in dev_poll_reactor

Bug #507169 reported by Christophe Dumez
38
This bug affects 9 people
Affects Status Importance Assigned to Milestone
boost (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

Could you please apply the patch from:
https://svn.boost.org/trac/boost/ticket/3670

Although the bug report suggested it was solaris specific, it can be reproduced on both Karmic and Lucid (I tried boost1.38 only, not boost1.40 but the issue should affect both).

The strace output is like this:
strace produces constantly output similar to this:
 - - -
gettimeofday({1262727476, 428648}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
clock_gettime(CLOCK_MONOTONIC, {93537, 249214261}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249272090}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249350312}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249438312}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249524915}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249567099}) = 0
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
read(16, 0x92b5470, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
gettimeofday({1262727476, 429361}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
clock_gettime(CLOCK_MONOTONIC, {93537, 249931112}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249993690}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250073588}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250162147}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250249588}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250293169}) = 0
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
read(16, 0x92b5470, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
gettimeofday({1262727476, 430022}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
 - - - (and many more, never ends)

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Patch was applied on boost SVN here:
https://svn.boost.org/trac/boost/changeset/58762

Revision history for this message
MarcRandolph (mrand) wrote :

I have not verified the patch, but the high CPU problem has been verified Ubuntu.

Changed in boost (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.