[boost] endless loop in dev_poll_reactor

Bug #507169 reported by Christophe Dumez on 2010-01-13
38
This bug affects 9 people
Affects Status Importance Assigned to Milestone
boost (Ubuntu)
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)

Christophe Dumez (hydr0g3n) wrote :

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

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  Edit
Everyone can see this information.

Other bug subscribers