Author kulikjak
Recipients giampaolo.rodola, kulikjak
Date 2019-04-15.08:28:13
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Here is a traceback from one failed test:

test test_lib2to3 failed
ERROR: test_refactor_file_write_unchanged_file (lib2to3.tests.test_refactor.TestRefactoringTool)
Traceback (most recent call last):
  File "/tmp/Python-3.8.0a3/Lib/lib2to3/tests/", line 228, in test_refactor_file_write_unchanged_file
    self.check_file_refactoring(test_file, fixers=(),
  File "/tmp/Python-3.8.0a3/Lib/lib2to3/tests/", line 183, in check_file_refactoring
    test_file = self.init_test_file(test_file)
  File "/tmp/Python-3.8.0a3/Lib/lib2to3/tests/", line 202, in init_test_file
    shutil.copy(test_file, tmpdir)
  File "/tmp/Python-3.8.0a3/Lib/", line 401, in copy
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "/tmp/Python-3.8.0a3/Lib/", line 266, in copyfile
    _fastcopy_sendfile(fsrc, fdst)
  File "/tmp/Python-3.8.0a3/Lib/", line 165, in _fastcopy_sendfile
    raise err
  File "/tmp/Python-3.8.0a3/Lib/", line 145, in _fastcopy_sendfile
    sent = os.sendfile(outfd, infd, offset, blocksize)
OSError: [Errno 22] Invalid argument: '/tmp/Python-3.8.0a3/Lib/lib2to3/tests/data/fixers/' -> '/tmp/2to3-test_refactoruxve6nrz/'

I also have a script which can reproduce this (attached). It happens to me every time my offset is bigger or equal than the size of the file, no matter whether the file is empty or offset is bigger than the size right from the start, even when in a loop, sending in several parts. The attached example works on my Linux machine (outputs 12 and 0), but breaks on Solaris (12 and exception). 

As I have said before, it might be just that Python (specifically sendfile implementation) is not compiled correctly on Solaris and changes to define guards might fix that.
Date User Action Args
2019-04-15 08:28:14kulikjaksetrecipients: + kulikjak, giampaolo.rodola
2019-04-15 08:28:14kulikjaksetmessageid: <>
2019-04-15 08:28:13kulikjaklinkissue36610 messages
2019-04-15 08:28:13kulikjakcreate