FWIW, this test is meant to verify that the old, unsafe DLL load logic still works.

I suspect what has happened here is that a new VM image has been rolled out and another app has installed an incompatible _sqlite3.dll on PATH (most likely another copy of Python :) ), thereby proving why the old logic is unsafe.

We've disabled the test for now, so if you merge and resubmit it should be fine.

Now we just have to decide whether to disable this part of the test forever, or try and manipulate the test environment enough to make it pass (which I suspect is just setting PATH back to a sane value).

Sorry for the inconvenience!

Cheers,
Steve

On 07Apr2020 0420, Kyle Stanley wrote:
Looking over the commit history for the PR (https://github.com/python/cpython/pull/18239/commits), it looks like that specific Azure Pipelines failure did not start occurring until upstream/master was merged into the PR branch (https://github.com/python/cpython/pull/18239/commits/13d3742fd897e1ea77060547de6d8445877e820e). Therefore, I suspect that the failure is very likely unrelated to the PR; instead either an intermittent failure that was merged into master recently or a possible issue on Azure's end. For now, I'd suggest closing and re-opening the PR again tomorrow to see if the failure still occurs.

Note: I'm also seeing the same exact failure occur in the following separate CPython PRs that were opened recently:

https://github.com/python/cpython/pull/19403
https://github.com/python/cpython/pull/19402
https://github.com/python/cpython/pull/19399

Seeing as it was also occurring in entirely unrelated PRs, it seems to be unrelated to the PEP 585 PR. I'm not seeing a BPO issue for this failure, so I'll open a new one for it.

On Mon, Apr 6, 2020 at 10:24 PM Guido van Rossum <gu...@python.org <mailto:gu...@python.org>> wrote:

    I have a large PR (https://github.com/python/cpython/pull/18239, for
    PEP 585) that's failing in the Azures pipeline on Win32 and Win64
    only. My trusty assistant who has a Windows laptop couldn't
    reproduce the failure. Can I buy a hint from someone? Steve?

    The relevant failure output is:

    ======================================================================
    ERROR: test_load_dll_with_flags
    (ctypes.test.test_loading.LoaderTest) [WinDLL('_sqlite3.dll',
    winmode=0)]
    ----------------------------------------------------------------------
    Traceback (most recent call last):
       File "d:\a\1\s\lib\ctypes\test\test_loading.py", line 140, in
    should_pass
         subprocess.check_output(
       File "d:\a\1\s\lib\subprocess.py", line 420, in check_output
         return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
       File "d:\a\1\s\lib\subprocess.py", line 524, in run
         raise CalledProcessError(retcode, process.args,
    subprocess.CalledProcessError: Command
    '['d:\\a\\1\\s\\PCbuild\\win32\\python.exe', '-c', "from ctypes
    import *; import nt;WinDLL('_sqlite3.dll', winmode=0)"]' returned
    non-zero exit status 1.

    ----------------------------------------------------------------------

-- --Guido van Rossum (python.org/~guido <http://python.org/~guido>)
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/LNSRMTOJUHAU2JLC2OA4NXWHURGPO5LK/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to