Skip to content

kevent() call hangs on FreeBSD 9 and 10 #25

@sbillig

Description

@sbillig

The behavior is demonstrated by tests/unit/buffered_read_stream. This test hangs indefinitely on the kevent() call. The test completes successfully if kqueue is disabled.

The bug was introduced in commit 3f47354, "Fix occasional close() system call hang on MacOS" (via git bisect)

Backtrace:

#0  0x0000000801b330ea in kevent () from /lib/libc.so.7
#1  0x00000000004168b5 in asio::detail::kqueue_reactor::run (this=0x8024289b0, block=<optimized out>, ops=...)
    at ./../../include/asio/detail/impl/kqueue_reactor.ipp:346
#2  0x00000000004166cd in asio::detail::task_io_service::do_run_one (this=0x802425200, lock=..., this_thread=..., ec=...)
    at ./../../include/asio/detail/impl/task_io_service.ipp:355
#3  0x00000000004162f8 in asio::detail::task_io_service::run (this=0x802425200, ec=...)
    at ./../../include/asio/detail/impl/task_io_service.ipp:148
#4  0x0000000000408eea in run (this=<optimized out>, this=<optimized out>) at ./../../include/asio/impl/io_service.ipp:58
#5  test_async_operations () at unit/buffered_read_stream.cpp:270
...

Tested on FreeBSD 10.0-RELEASE #0 r260789, and some version of FreeBSD 9 (don't have access to that machine at the moment).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions