This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2011年02月25日 20:03 by giampaolo.rodola, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| sendfile-test.patch | giampaolo.rodola, 2011年02月25日 20:03 | |||
| test_sendfile.patch | pitrou, 2011年02月26日 14:16 | |||
| Messages (5) | |||
|---|---|---|---|
| msg129411 - (view) | Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) | Date: 2011年02月25日 20:03 | |
http://www.python.org/dev/buildbot/all/builders/sparc%20solaris10%20gcc%203.x/builds/2658/steps/test/logs/stdio Patch in attachment. |
|||
| msg129436 - (view) | Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) | Date: 2011年02月25日 21:47 | |
Committed in r88616. |
|||
| msg129541 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2011年02月26日 13:29 | |
It still fails under AMD64 OpenIndiana: ====================================================================== ERROR: test_offset_overflow (test.test_os.TestSendfile) ---------------------------------------------------------------------- Traceback (most recent call last): File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/test/test_os.py", line 1473, in test_offset_overflow sent = os.sendfile(self.sockno, self.fileno, offset, 4096) OSError: [Errno 22] Invalid argument ====================================================================== ERROR: test_send_at_certain_offset (test.test_os.TestSendfile) ---------------------------------------------------------------------- Traceback (most recent call last): File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/test/test_os.py", line 1456, in test_send_at_certain_offset sent = self.sendfile_wrapper(self.sockno, self.fileno, offset, nbytes) File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/test/test_os.py", line 1419, in sendfile_wrapper return os.sendfile(sock, file, offset, nbytes) OSError: [Errno 22] Invalid argument ====================================================================== ERROR: test_send_whole_file (test.test_os.TestSendfile) ---------------------------------------------------------------------- Traceback (most recent call last): File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/test/test_os.py", line 1436, in test_send_whole_file sent = self.sendfile_wrapper(self.sockno, self.fileno, offset, nbytes) File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/test/test_os.py", line 1419, in sendfile_wrapper return os.sendfile(sock, file, offset, nbytes) OSError: [Errno 22] Invalid argument According to the man page, EINVAL means: EINVAL The offset cannot be represented by the off_t structure, or the length is negative when cast to ssize_t. |
|||
| msg129550 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2011年02月26日 14:16 | |
Ok, so the root cause is that sendfile() under Solaris can fail with EINVAL when the offset is past the end of file (but only on 64-bit builds, strangely :-)). Here is a patch, tested under Linux, 32-bit OpenSolaris and 64-bit OpenSolaris. It also uses a more reasonable data size for the tests, since 10MB makes it annoying to trace problems. |
|||
| msg129558 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2011年02月26日 14:39 | |
Should be fixed in r88647. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:13 | admin | set | github: 55532 |
| 2011年02月26日 14:39:16 | pitrou | set | status: open -> closed versions: + Python 3.3, - Python 3.2 nosy: loewis, pitrou, giampaolo.rodola, rosslagerwall messages: + msg129558 resolution: fixed stage: patch review -> resolved |
| 2011年02月26日 14:16:43 | pitrou | set | files:
+ test_sendfile.patch versions: + Python 3.2, - Python 3.3 nosy: loewis, pitrou, giampaolo.rodola, rosslagerwall messages: + msg129550 stage: patch review |
| 2011年02月26日 13:33:25 | giampaolo.rodola | set | nosy:
+ rosslagerwall |
| 2011年02月26日 13:29:01 | pitrou | set | nosy:
+ pitrou messages: + msg129541 |
| 2011年02月25日 21:47:22 | giampaolo.rodola | set | messages: + msg129436 |
| 2011年02月25日 20:03:17 | giampaolo.rodola | create | |