Skip to content

bpo-39828: Fix json.tool to catch BrokenPipeError. #18779

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Mar 10, 2020

Conversation

corona10
Copy link
Member

@corona10 corona10 commented Mar 4, 2020

Copy link
Contributor

@remilapeyre remilapeyre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it really good to just silence the error? It seems to me that it should at least write something on stderr and set an exit code different than 0.

@corona10
Copy link
Member Author

corona10 commented Mar 4, 2020

@remilapeyre

I expect the same behavior as this command.

echo "{}" | wc -l | true

@vstinner
Copy link
Member

vstinner commented Mar 4, 2020

Is it really good to just silence the error? It seems to me that it should at least write something on stderr and set an exit code different than 0.

I'm not aware of any tool which logs an error into stderr when stdout pipe is closed, before the producer has time to write all its output into stdout.

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

It seems like it's the first time that we start to catch explicitly BrokenPipeError in Python stdlib. Only the subprocess has code to handle its own pipes, which is a more specific case.

I'm not sure if it's the right approach, so I would prefer to get a review from another core dev.

cc @pablogsal @methane @serhiy-storchaka: Does it look like the good design to you to handle BrokenPipeError?

@remilapeyre
Copy link
Contributor

remilapeyre commented Mar 4, 2020

I'm not aware of any tool which logs an error into stderr when stdout pipe is closed, before the producer has time to write all its output into stdout.

At least wc, cat, git, jq and seq seem to return a non zero code:

~ set -o pipefail
➜  ~ echo "{}" | wc -l | true~ echo $?
141
➜  ~ echo foo | cat | true~ echo $?
141
➜  cpython git:(master) git log | true
➜  cpython git:(master) echo $?
141
➜  ~ echo '{}' | jq '.' | true~ echo $?
141
➜  ~ seq 1 10000 | true~ echo $?
141

and curl sets a non zero exit code and write an error on stderr:

~ curl -s https://google.com | true
(23) Failed writing body
➜  ~ echo $?
23

This change make json.tool behave differently:

➜  cpython git:([bpo-39828](https://bugs.python.org/issue39828)) echo "{}" | ./python.exe -m json.tool | true

➜  cpython git:([bpo-39828](https://bugs.python.org/issue39828)) echo $?
0

I'm not sure where the empty line comes from.

I think we should at least set a non zero exit code.

@vstinner
Copy link
Member

vstinner commented Mar 4, 2020

At least wc, cat, git, jq and seq seem to return a non zero code: (...)

By the way, Python exits with code 120 if it fails to flush stdout or stderr:

int
Py_RunMain(void)
{
    int exitcode = 0;
    pymain_run_python(&exitcode);
    if (Py_FinalizeEx() < 0) {
        /* Value unlikely to be confused with a non-error exit status or
           other special meaning */
        exitcode = 120;
    }
    (...)
    return exitcode;
}

Change introduced in bpo-5319 by the commit b4ce1fc. The issue uses > /dev/full to test the behavior: interesting test ;-)

@corona10
Copy link
Member Author

corona10 commented Mar 5, 2020

@remilapeyre @vstinner

I've updated the PR.
This solution might be more proper.

➜  cpython git:([bpo-39828](https://bugs.python.org/issue39828)) ✗ echo "{}" | ./python.exe -m json.tool | true
➜  cpython git:([bpo-39828](https://bugs.python.org/issue39828)) ✗ echo $?
141

@corona10
Copy link
Member Author

corona10 commented Mar 5, 2020

But this solution is not proper for Windows.

According to mypy issue, python/mypy#2893
What about just catching the error and firing sys.exit with a constant value.

@corona10
Copy link
Member Author

corona10 commented Mar 5, 2020

FYI, 7259ef6 returns

cpython git:([bpo-39828](https://bugs.python.org/issue39828)) ✗ echo "{}" | ./python.exe -m json.tool | true
➜  cpython git:([bpo-39828](https://bugs.python.org/issue39828)) ✗ echo $?
32

@remilapeyre
Copy link
Contributor

By the way, Python exits with code 120 if it fails to flush stdout or stderr

How, that's interesting. I think it doesn't work here since the pipe is closed when true finish so it can't try to flush the extra data. As far as I know there is no way to know if some data is left in the buffer.

But this solution is not proper for Windows.

@corona10, thanks for looking into this issue, 7259ef675a4682118d5967437591569c27415984 looks good indeed 👍

@corona10 corona10 changed the title bpo-39828: Fix json.tool to ignore BrokenPipeError. bpo-39828: Updated json.tool to catch BrokenPipeError. Mar 7, 2020
@corona10 corona10 changed the title bpo-39828: Updated json.tool to catch BrokenPipeError. bpo-39828: Fix json.tool to catch BrokenPipeError. Mar 7, 2020
@corona10 corona10 requested a review from vstinner March 7, 2020 00:36
@corona10
Copy link
Member Author

corona10 commented Mar 7, 2020

@remilapeyre @vstinner

Thanks for the review :)
I 've updated Victor's review also, please take look at it.

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Again, I would prefer a second review from another core dev.

@vstinner
Copy link
Member

vstinner commented Mar 7, 2020

Is it possible to write a reliable test for BrokenPipeError? Maybe using a string longer than support.test.PIPE_MAX_SIZE to ensure that the pipe is full?

@corona10
Copy link
Member Author

corona10 commented Mar 7, 2020

@vstinner

While I tried with this code, the test was not failed... (This test should be failed if my assumption is right.)
Is there any wrong with my approach or is there any suggestion to do?

    def test_broken_pipe_error(self):
        cmd = [sys.executable, '-m', 'json.tool']
        large_data = 'xxx' * support.PIPE_MAX_SIZE
        large_data = f'"{large_data}"'
        process = subprocess.run(cmd, input=large_data, capture_output=True, text=True, check=True)
        self.assertEqual(process.stdout.strip(), large_data)
        self.assertEqual(process.stderr, '')

@remilapeyre
Copy link
Contributor

Did you try using Popen and closing the stdout pipe?

@corona10
Copy link
Member Author

corona10 commented Mar 8, 2020

Did you try using Popen and closing the stdout pipe?

Oh It works :) Greeat! Thank you

@corona10 corona10 changed the title bpo-39828: Fix json.tool to catch BrokenPipeError. [WIP] bpo-39828: Fix json.tool to catch BrokenPipeError. Mar 8, 2020
@@ -206,3 +207,14 @@ def test_ensure_ascii_default(self):
# asserting an ascii encoded output file
expected = [b'{', rb' "key": "\ud83d\udca9"', b"}"]
self.assertEqual(lines, expected)

@unittest.skipIf(sys.platform =="win32", "The test is failed with ValueError on Windows")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where does the ValueError come from?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/python/cpython/pull/18779/checks?check_run_id=496883234

 test_broken_pipe_error (test.test_json.test_tool.TestTool) ... ERROR
  File "D:\a\cpython\cpython\lib\threading.py", line 944, in _bootstrap_inner
    self.run()
  File "D:\a\cpython\cpython\lib\threading.py", line 882, in run
    self._target(*self._args, **self._kwargs)
  File "D:\a\cpython\cpython\lib\subprocess.py", line 1493, in _readerthread
    buffer.append(fh.read())
ValueError: read of closed file
D:\a\cpython\cpython\lib\subprocess.py:1066: ResourceWarning: subprocess 6532 is still running
  _warn("subprocess %s is still running" % self.pid,
ResourceWarning: Enable tracemalloc to get the object allocation traceback
OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\a\cpython\cpython\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "D:\a\cpython\cpython\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "D:\a\cpython\cpython\lib\json\tool.py", line 76, in <module>
    main()
  File "D:\a\cpython\cpython\lib\json\tool.py", line 71, in main
    raise SystemExit(e)

@miss-islington
Copy link
Contributor

Thanks @corona10 for the PR, and @vstinner for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Sorry, @corona10 and @vstinner, I could not cleanly backport this to 3.8 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker 700cb587303461d5a96456c56902cfdd8ad50e2d 3.8

@vstinner
Copy link
Member

@corona10: This fix deserves to be backported to 3.7 and 3.8, but automated backport failed. Can you please try to do the backport manually?

@corona10
Copy link
Member Author

Sure :)

corona10 added a commit to corona10/cpython that referenced this pull request Mar 10, 2020
…).

(cherry picked from commit 700cb58)

Co-authored-by: Dong-hee Na <[email protected]>
@bedevere-bot
Copy link

GH-18894 is a backport of this pull request to the 3.8 branch.

corona10 added a commit to corona10/cpython that referenced this pull request Mar 10, 2020
…).

(cherry picked from commit 700cb58)

Co-authored-by: Dong-hee Na <[email protected]>
miss-islington pushed a commit that referenced this pull request Mar 10, 2020
…H-18894)

(cherry picked from commit 700cb58)

Co-authored-by: Dong-hee Na <[email protected]>

Automerge-Triggered-By: @vstinner
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot AMD64 Ubuntu Shared 3.x has failed when building commit 700cb58.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/101/builds/479) and take a look at the build logs.
  4. Check if the failure is related to this commit (700cb58) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/101/builds/479

Failed tests:

  • test_urllib2net

Failed subtests:

  • test_ftp_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp_default_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp_basic - test.test_urllib2net.TimeoutTest
  • test_ftp - test.test_urllib2net.OtherNetworkTests
  • test_ftp_no_timeout - test.test_urllib2net.TimeoutTest

Summary of the results of the build (if available):

== Tests result: FAILURE then FAILURE ==

402 tests OK.

10 slowest tests:

  • test_multiprocessing_spawn: 4 min 34 sec
  • test_concurrent_futures: 4 min 29 sec
  • test_unparse: 3 min 15 sec
  • test_gdb: 3 min 3 sec
  • test_asyncio: 2 min 58 sec
  • test_tokenize: 2 min 57 sec
  • test_lib2to3: 2 min 17 sec
  • test_multiprocessing_forkserver: 2 min 9 sec
  • test_capi: 1 min 33 sec
  • test_multiprocessing_fork: 1 min 30 sec

1 test failed:
test_urllib2net

17 tests skipped:
test_devpoll test_idle test_ioctl test_kqueue test_msilib
test_ossaudiodev test_startfile test_tcl test_tix test_tk
test_ttk_guionly test_ttk_textonly test_turtle test_winconsoleio
test_winreg test_winsound test_zipfile64

1 re-run test:
test_urllib2net

Total duration: 30 min 22 sec

Click to see traceback logs
Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 332, in test_ftp_no_timeout
    u = _urlopen_with_retry(self.FTP_HOST, timeout=None)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 25, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 21, in _retry_thrice
    raise last_exc
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 17, in _retry_thrice
    return func(*args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1546, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1535, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2420, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1535, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2420, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind


Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2399, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind


Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 310, in test_ftp_basic
    u = _urlopen_with_retry(self.FTP_HOST)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 25, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 21, in _retry_thrice
    raise last_exc
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 17, in _retry_thrice
    return func(*args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1546, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1535, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2420, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 341, in test_ftp_timeout
    u = _urlopen_with_retry(self.FTP_HOST, timeout=60)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 25, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 21, in _retry_thrice
    raise last_exc
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 17, in _retry_thrice
    return func(*args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1546, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1535, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2420, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 228, in _test_urls
    f = urlopen(url, req, support.INTERNET_TIMEOUT)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 25, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 21, in _retry_thrice
    raise last_exc
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 17, in _retry_thrice
    return func(*args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1546, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1535, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2402, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2399, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: URLError("ftp error: error_perm('500 OOPS: vsf_sysutil_bind')")>


Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 320, in test_ftp_default_timeout
    u = _urlopen_with_retry(self.FTP_HOST)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 25, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 21, in _retry_thrice
    raise last_exc
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_urllib2net.py", line 17, in _retry_thrice
    return func(*args, **kwargs)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1546, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1535, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2420, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 1535, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2402, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/urllib/request.py", line 2399, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 344, in ntransfercmd
    host, port = self.makepasv()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 322, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 277, in sendcmd
    return self.getresp()
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/ftplib.py", line 250, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>

@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot AMD64 Windows7 SP1 3.8 has failed when building commit caec8a0.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/163/builds/199) and take a look at the build logs.
  4. Check if the failure is related to this commit (caec8a0) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/163/builds/199

Failed tests:

  • test_urllib2net
  • test_distutils

Failed subtests:

  • test_ftp_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp_default_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp_basic - test.test_urllib2net.TimeoutTest
  • test_ftp - test.test_urllib2net.OtherNetworkTests
  • test_spawn - distutils.tests.test_spawn.SpawnTestCase
  • test_ftp_no_timeout - test.test_urllib2net.TimeoutTest

Summary of the results of the build (if available):

== Tests result: FAILURE then FAILURE ==

389 tests OK.

10 slowest tests:

  • test_multiprocessing_spawn: 2 min 22 sec
  • test_tokenize: 1 min 51 sec
  • test_tools: 1 min 50 sec
  • test_concurrent_futures: 1 min 33 sec
  • test_lib2to3: 1 min 15 sec
  • test_asyncio: 1 min 8 sec
  • test_mmap: 1 min 3 sec
  • test_socket: 57.3 sec
  • test_io: 55.1 sec
  • test_venv: 52.6 sec

1 test failed:
test_urllib2net

33 tests skipped:
test_curses test_dbm_gnu test_dbm_ndbm test_devpoll test_epoll
test_fcntl test_fork1 test_gdb test_grp test_ioctl test_kqueue
test_multiprocessing_fork test_multiprocessing_forkserver test_nis
test_openpty test_ossaudiodev test_pipes test_poll test_posix
test_pty test_pwd test_readline test_resource test_spwd
test_syslog test_threadsignals test_tix test_tk test_ttk_guionly
test_wait3 test_wait4 test_xxtestfuzz test_zipfile64

2 re-run tests:
test_distutils test_urllib2net

Total duration: 9 min 46 sec

Click to see traceback logs
Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\support\__init__.py", line 336, in _force_run
    return func(*args)
OSError: [WinError 145] The directory is not empty: 'C:\\Users\\Buildbot\\AppData\\Local\\Temp\\tmpp7zolssp'


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 336, in test_ftp_timeout
    u = _urlopen_with_retry(self.FTP_HOST, timeout=60)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 502, in _call_chain
    result = func(*args)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 315, in test_ftp_default_timeout
    u = _urlopen_with_retry(self.FTP_HOST)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 502, in _call_chain
    result = func(*args)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 305, in test_ftp_basic
    u = _urlopen_with_retry(self.FTP_HOST)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 502, in _call_chain
    result = func(*args)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 227, in _test_urls
    f = urlopen(url, req, TIMEOUT)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 502, in _call_chain
    result = func(*args)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2410, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: URLError("ftp error: error_perm('500 OOPS: vsf_sysutil_bind')")>


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 327, in test_ftp_no_timeout
    u = _urlopen_with_retry(self.FTP_HOST, timeout=None)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 502, in _call_chain
    result = func(*args)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2410, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\urllib\request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\distutils\tests\support.py", line 69, in tearDown
    test.support.rmtree(tmpdir)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\support\__init__.py", line 458, in rmtree
    _rmtree(path)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\support\__init__.py", line 400, in _rmtree
    _waitfor(lambda p: _force_run(p, os.rmdir, p), path)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\support\__init__.py", line 347, in _waitfor
    func(pathname)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\support\__init__.py", line 400, in <lambda>
    _waitfor(lambda p: _force_run(p, os.rmdir, p), path)
  File "C:\buildbot.python.org\3.8.kloth-win64\build\lib\test\support\__init__.py", line 342, in _force_run
    return func(*args)
OSError: [WinError 145] The directory is not empty: 'C:\\Users\\Buildbot\\AppData\\Local\\Temp\\tmpp7zolssp'

miss-islington pushed a commit that referenced this pull request Mar 10, 2020
…H-18895)

(cherry picked from commit 700cb58)

Co-authored-by: Dong-hee Na <[email protected]>

Automerge-Triggered-By: @vstinner
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot ARMv7 Debian buster 3.8 has failed when building commit caec8a0.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/193/builds/186) and take a look at the build logs.
  4. Check if the failure is related to this commit (caec8a0) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/193/builds/186

Failed tests:

  • test_urllib2net

Failed subtests:

  • test_ftp_no_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp_default_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp - test.test_urllib2net.OtherNetworkTests
  • test_ftp_basic - test.test_urllib2net.TimeoutTest

Summary of the results of the build (if available):

== Tests result: FAILURE then FAILURE ==

409 tests OK.

10 slowest tests:

  • test_tokenize: 8 min
  • test_multiprocessing_spawn: 6 min 29 sec
  • test_tools: 6 min 22 sec
  • test_gdb: 4 min 29 sec
  • test_concurrent_futures: 4 min 16 sec
  • test_lib2to3: 3 min 55 sec
  • test_asyncio: 3 min 29 sec
  • test_multiprocessing_forkserver: 2 min 43 sec
  • test_pickle: 2 min 39 sec
  • test_decimal: 2 min 26 sec

1 test failed:
test_urllib2net

13 tests skipped:
test_devpoll test_ioctl test_kqueue test_msilib test_ossaudiodev
test_startfile test_tix test_tk test_ttk_guionly test_winconsoleio
test_winreg test_winsound test_zipfile64

1 re-run test:
test_urllib2net

Total duration: 13 min 21 sec

Click to see traceback logs
Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 305, in test_ftp_basic
    u = _urlopen_with_retry(self.FTP_HOST)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2410, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind


Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 227, in _test_urls
    f = urlopen(url, req, TIMEOUT)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2410, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: URLError("ftp error: error_perm('500 OOPS: vsf_sysutil_bind')")>


Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 327, in test_ftp_no_timeout
    u = _urlopen_with_retry(self.FTP_HOST, timeout=None)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 315, in test_ftp_default_timeout
    u = _urlopen_with_retry(self.FTP_HOST)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/urllib/request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/ssd/buildbot/buildarea/3.8.gps-ubuntu-exynos5-armv7l/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind

@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot x86 Gentoo Non-Debug with X 3.8 has failed when building commit caec8a0.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/198/builds/169) and take a look at the build logs.
  4. Check if the failure is related to this commit (caec8a0) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/198/builds/169

Failed tests:

  • test_urllib2net

Failed subtests:

  • test_ftp_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp_default_timeout - test.test_urllib2net.TimeoutTest
  • test_ftp_basic - test.test_urllib2net.TimeoutTest
  • test_ftp - test.test_urllib2net.OtherNetworkTests
  • test_ftp_no_timeout - test.test_urllib2net.TimeoutTest

Summary of the results of the build (if available):

== Tests result: FAILURE then FAILURE ==

414 tests OK.

10 slowest tests:

  • test_multiprocessing_spawn: 3 min 40 sec
  • test_tokenize: 3 min 39 sec
  • test_concurrent_futures: 3 min 34 sec
  • test_asyncio: 2 min 5 sec
  • test_lib2to3: 1 min 58 sec
  • test_tools: 1 min 49 sec
  • test_multiprocessing_forkserver: 1 min 40 sec
  • test_multiprocessing_fork: 1 min 36 sec
  • test_pickle: 1 min 9 sec
  • test_gdb: 1 min 9 sec

1 test failed:
test_urllib2net

8 tests skipped:
test_devpoll test_kqueue test_msilib test_startfile
test_winconsoleio test_winreg test_winsound test_zipfile64

1 re-run test:
test_urllib2net

Total duration: 26 min 10 sec

Click to see traceback logs
Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 336, in test_ftp_timeout
    u = _urlopen_with_retry(self.FTP_HOST, timeout=60)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind


Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 227, in _test_urls
    f = urlopen(url, req, TIMEOUT)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2410, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: URLError("ftp error: error_perm('500 OOPS: vsf_sysutil_bind')")>


Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 315, in test_ftp_default_timeout
    u = _urlopen_with_retry(self.FTP_HOST)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 305, in test_ftp_basic
    u = _urlopen_with_retry(self.FTP_HOST)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 327, in test_ftp_no_timeout
    u = _urlopen_with_retry(self.FTP_HOST, timeout=None)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 27, in wrapped
    return _retry_thrice(func, exc, *args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 23, in _retry_thrice
    raise last_exc
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/test/test_urllib2net.py", line 19, in _retry_thrice
    return func(*args, **kwargs)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1554, in ftp_open
    raise exc.with_traceback(sys.exc_info()[2])
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2428, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 1543, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2410, in retrfile
    raise URLError('ftp error: %r' % reason).with_traceback(
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
urllib.error.URLError: <urlopen error ftp error: error_perm('500 OOPS: vsf_sysutil_bind')>


Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/urllib/request.py", line 2407, in retrfile
    conn, retrlen = self.ftp.ntransfercmd(cmd)
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 342, in ntransfercmd
    host, port = self.makepasv()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 320, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.nondebug/build/Lib/ftplib.py", line 248, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 OOPS: vsf_sysutil_bind

@@ -206,3 +208,14 @@ def test_ensure_ascii_default(self):
# asserting an ascii encoded output file
expected = [b'{', rb' "key": "\ud83d\udca9"', b"}"]
self.assertEqual(lines, expected)

@unittest.skipIf(sys.platform =="win32", "The test is failed with ValueError on Windows")
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test is failed with ValueError on Windows isn't grammatically correct. It should be The test failed with ValueError on Windows (minus the is) 🤔

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is now closed. You can write a new PR to enhance the skip message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants