classification
Title: Test failures under macOS 10.12 Sierra
Type: Stage: resolved
Components: Interpreter Core Versions: Python 3.6
process
Status: closed Resolution: duplicate
Dependencies: Superseder: macOS 12 poll syscall returns prematurely
View: 28087
Assigned To: Nosy List: haypo, lukasz.langa, ned.deily, rhettinger, ronaldoussoren
Priority: normal Keywords:

Created on 2016-10-16 21:59 by rhettinger, last changed 2016-10-16 23:25 by ned.deily. This issue is now closed.

Messages (4)
msg278780 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2016-10-16 21:59
On a fresh checkout, I'm getting two test failures:

$ ./configure && make
$ ./python.exe -m test.regrtest -v test_asyncore
     [snip]
======================================================================
FAIL: test_handle_expt (test.test_asyncore.TestAPI_UseIPv4Poll)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/raymond/cleancpython/Lib/test/test_asyncore.py", line 674, in test_handle_expt
    self.loop_waiting_for_flag(client)
  File "/Users/raymond/cleancpython/Lib/test/test_asyncore.py", line 514, in loop_waiting_for_flag
    self.fail("flag not set")
AssertionError: flag not set

======================================================================
FAIL: test_handle_expt (test.test_asyncore.TestAPI_UseIPv6Poll)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/raymond/cleancpython/Lib/test/test_asyncore.py", line 674, in test_handle_expt
    self.loop_waiting_for_flag(client)
  File "/Users/raymond/cleancpython/Lib/test/test_asyncore.py", line 514, in loop_waiting_for_flag
    self.fail("flag not set")
AssertionError: flag not set

----------------------------------------------------------------------
Ran 101 tests in 20.506s

FAILED (failures=2, skipped=6)
test test_asyncore failed
test_asyncore failed

1 test failed:
    test_asyncore


$ ./python.exe -m test.regrtest -v test_eintr
  [snip]

======================================================================
FAIL: test_poll (__main__.SelectEINTRTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/raymond/cleancpython/Lib/test/eintrdata/eintr_tester.py", line 446, in test_poll
    self.assertGreaterEqual(dt, self.sleep_time)
AssertionError: 9.176997991744429e-06 not greater than or equal to 0.2

----------------------------------------------------------------------
Ran 22 tests in 5.288s

FAILED (failures=1, skipped=5)
---

stderr:
---
Traceback (most recent call last):
  File "/Users/raymond/cleancpython/Lib/test/eintrdata/eintr_tester.py", line 492, in <module>
    test_main()
  File "/Users/raymond/cleancpython/Lib/test/eintrdata/eintr_tester.py", line 488, in test_main
    SelectEINTRTest)
  File "/Users/raymond/cleancpython/Lib/test/support/__init__.py", line 1849, in run_unittest
    _run_suite(suite)
  File "/Users/raymond/cleancpython/Lib/test/support/__init__.py", line 1824, in _run_suite
    raise TestFailed(err)
test.support.TestFailed: Traceback (most recent call last):
  File "/Users/raymond/cleancpython/Lib/test/eintrdata/eintr_tester.py", line 446, in test_poll
    self.assertGreaterEqual(dt, self.sleep_time)
AssertionError: 9.176997991744429e-06 not greater than or equal to 0.2
---

----------------------------------------------------------------------
Ran 1 test in 5.424s

FAILED (failures=1)
test test_eintr failed
test_eintr failed

1 test failed:
    test_eintr

Total duration: 5 sec
Tests result: FAILURE
msg278781 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2016-10-16 22:01
See https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken/

C function poll() seems to be broken on Sierra.
msg278782 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2016-10-16 22:03
Try to modify pyconfig.h to define HAVE_BROKEN_POLL. It should work around the bug.

configure.ac contains a test for HAVE_BROKEN_POLL. We need another test for poll() being broken differently.

Note: asyncio doesn't seem to be affect because it probably uses the more efficient kqueue by default on OS X.
msg278787 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2016-10-16 23:25
This is a duplicate of Issue28087.
History
Date User Action Args
2016-10-16 23:25:40ned.deilysetmessages: + msg278787
2016-10-16 23:24:11ned.deilysetstatus: open -> closed
superseder: macOS 12 poll syscall returns prematurely
resolution: duplicate
stage: resolved
2016-10-16 22:03:27hayposetmessages: + msg278782
2016-10-16 22:01:09hayposetnosy: + haypo, ned.deily, ronaldoussoren, lukasz.langa
messages: + msg278781
2016-10-16 21:59:06rhettingercreate