classification
Title: test_socket failing in solaris
Type: behavior Stage:
Components: Tests Versions: Python 3.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Jim Crigler, blastwave, petriborg, phantal, vstinner
Priority: normal Keywords:

Created on 2017-01-13 20:55 by phantal, last changed 2020-08-03 04:52 by phantal.

Messages (6)
msg285440 - (view) Author: Brian Vandenberg (phantal) Date: 2017-01-13 20:55
I started looking into this failure to see if I could figure out why but it looks like I'd have to spend more time than I have available to figure out the cause.

Environment/setup:
* air-gapped network (no internet access)
* sparc / Solaris 10
* Built with gcc 6.3.0
* Altered configure script to change -std=c99 to -std=gnu99 (see issue 29264)
* The only configure flags used were --prefix and --with-universal-archs=all


When I run test_socket I see the following 4 failures; please note, I'm hand typing the results so I may typo something:


ERROR: testCount (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 5248, in testCount
  File "(...)/test_socket.py", line 5151, in recv_data
MemoryError

Error: testCount (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 277, in _tearDown
  File "(...)/test_socket.py", line 289, in clientRun
  File "(...)/test_socket.py", line 5241, in _testCount
  File "(...)/Lib/socket.py", line 296, in _sendfile_use_sendfile
socket.timeout: timed out

Error: testWithTimeout (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 5318, in testWithTimeout
    data = self.recv_data(conn)
  File "(...)/test_socket.py", line 5151, in recv_data
    chunk = conn.recv(self.BUFSIZE)
MemoryError

Error: testWithTimeout (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 277, in _tearDown
    raise exc
  File "(...)/test_socket.py", line 289, in clientRun
    test_func()
  File "(...)/test_socket.py", line 5313, in _testWithTimeout
    sent = meth(file)
  File "(...)/Lib/socket.py", line 296, in _sendfile_use_sendfile
socket.timeout: timed out

Error: testCountWithOffset (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 5287, in testCountWithOffset
    self.assertEqual(len(data), count)
AssertionError: 4376231 != 100007

Ran 539 tests in 69.166s

FAILED (failures=1, errors=4, skipped=324)
test test_socket failed
msg296475 - (view) Author: Jim Crigler (Jim Crigler) Date: 2017-06-20 17:39
I'm having the same problem with gcc 6.2.

Is there any update?
msg296546 - (view) Author: Peter (petriborg) Date: 2017-06-21 11:26
Getting the same test_socket errors on Solaris 11 with Python 3.5.3.


======================================================================
ERROR: testCount (test.test_socket.SendfileUsingSendfileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 5204, in testCount
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 5107, in recv_data
MemoryError

======================================================================
ERROR: testCount (test.test_socket.SendfileUsingSendfileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 266, in _tearDown
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 278, in clientRun
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 5197, in _testCount
  File "/usr/local/src/Python-3.5.3/Lib/socket.py", line 286, in _sendfile_use_sendfile
    raise _socket.timeout('timed out')
socket.timeout: timed out

======================================================================
ERROR: testWithTimeout (test.test_socket.SendfileUsingSendfileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 5274, in testWithTimeout
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 5107, in recv_data
MemoryError

======================================================================
ERROR: testWithTimeout (test.test_socket.SendfileUsingSendfileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 266, in _tearDown
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 278, in clientRun
  File "/usr/local/src/Python-3.5.3/Lib/test/test_socket.py", line 5269, in _testWithTimeout
  File "/usr/local/src/Python-3.5.3/Lib/socket.py", line 286, in _sendfile_use_sendfile
    raise _socket.timeout('timed out')
socket.timeout: timed out

----------------------------------------------------------------------
Ran 530 tests in 54.577s

FAILED (errors=4, skipped=315)
test test_socket failed
1 test failed again:
    test_socket
msg301914 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-11 22:06
Since it seems like Solaris is dying, I'm not sure that it still makes sense to fix Python issues specific to Solaris. Here, I don't understand the issue, no patch is proposed and I'm not really interested to investigate :-/
msg374660 - (view) Author: Dennis Clarke (blastwave) Date: 2020-08-01 11:43
Well here we are in 2020 and Solaris systems are still running just fine. In fact, some big Fujitsu SPARC systems are running in production for years and years and also, no surprise, this test still fails horrifically on old stable Solaris 10. Python is turning into a piece of supposedly open source software with many commercial interests with their hands inside of it. I am not sure how to get this bug fixed but I can certainly report that it is still broken in 3.7.8 on a very stable and reliable platform.
msg374723 - (view) Author: Brian Vandenberg (phantal) Date: 2020-08-03 04:52
Solaris will be around for at least another 10-15 years.

The least you could do is look into it and offer some speculations.
History
Date User Action Args
2020-08-03 04:52:47phantalsetmessages: + msg374723
2020-08-01 11:43:23blastwavesetnosy: + blastwave

messages: + msg374660
versions: + Python 3.7, - Python 3.6
2017-09-11 22:06:38vstinnersetnosy: + vstinner
messages: + msg301914
2017-06-21 11:26:31petriborgsetnosy: + petriborg
messages: + msg296546
2017-06-20 17:39:37Jim Criglersetnosy: + Jim Crigler
messages: + msg296475
2017-01-13 20:55:24phantalcreate