Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1705227 - asv FTBFS with Python 3.8
Summary: asv FTBFS with Python 3.8
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: asv
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Elliott Sales de Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1606315
Blocks: PYTHON38
TreeView+ depends on / blocked
 
Reported: 2019-05-01 19:03 UTC by Miro Hrončok
Modified: 2019-07-24 13:27 UTC (History)
3 users (show)

Fixed In Version: asv-0.4-1.fc31
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-07-24 13:27:52 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Full log from Copr (258.33 KB, text/plain)
2019-05-01 19:03 UTC, Miro Hrončok
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github airspeed-velocity asv issues 811 0 None closed asizeof will be broken in Python 3.8 2020-01-27 15:18:15 UTC

Description Miro Hrončok 2019-05-01 19:03:41 UTC
Created attachment 1561038 [details]
Full log from Copr

asv-0.3.1-8.fc31 fails to build from sources with test failures caused by:

LookupError: unknown encoding: unicode-internal (full log attached)

unicode_internal codec was deprecated since Python 3.3 and removed from Python 3.8:

https://bugs.python.org/issue36297

Comment 1 Elliott Sales de Andrade 2019-05-16 05:01:52 UTC
This is fixed upstream, though the PR is pretty big, so I'm hoping there'll be a release I can build soon instead of backporting.

Comment 2 Elliott Sales de Andrade 2019-05-27 00:54:19 UTC
Should be fixed in the latest release.

Comment 3 Miro Hrončok 2019-05-27 08:31:53 UTC
Thanks!

I cannot test this yet, as it is blocked by scipy.

I will close this BZ once I can verify the fix.

Comment 4 Miro Hrončok 2019-07-10 10:01:51 UTC
_____________________________ test_web_regressions _____________________________

browser = <selenium.webdriver.chrome.webdriver.WebDriver (session="8d7999ad0827d8a9741999e4bdbd2bf9")>
basic_html = ('/builddir/build/BUILD/asv-0.4.1/.pytest_cache/d/asv-test_web-basic_html/cache/cached/html', <test.tools.Git object at 0x7f1f79027070>)

    @pytest.mark.flaky(reruns=1, reruns_delay=5)
    def test_web_regressions(browser, basic_html):
        html_dir, dvcs = basic_html
    
        bad_commit_hash = dvcs.get_hash('master~9')
    
        browser.set_window_size(1200, 900)
    
        with tools.preview(html_dir) as base_url:
            get_with_retry(browser, base_url)
    
            regressions_btn = browser.find_element_by_link_text('Regressions')
            regressions_btn.click()
    
            # Wait for element to appear in the table
            WebDriverWait(browser, WAIT_TIME).until(EC.text_to_be_present_in_element(
                ('xpath', '//table[1]/tbody/tr[2]/td[1]'), 'params_examples.track_find_test'
                ))
    
            # Check that the expected links appear in the table
            regression_1 = browser.find_element_by_link_text('params_examples.track_find_test(1)')
            regression_2 = browser.find_element_by_link_text('params_examples.track_find_test(2)')
            bad_hash_link = browser.find_element_by_link_text(bad_commit_hash[:8])
    
            href = regression_1.get_attribute('href')
            assert '/#params_examples.track_find_test?' in href
            assert 'commits=' in href
    
            # Sort the tables vs. benchmark name (PhantomJS doesn't allow doing it via actionchains)
            browser.execute_script("$('thead th').eq(0).stupidsort('asc')")
            WebDriverWait(browser, WAIT_TIME).until(EC.text_to_be_present_in_element(
                ('xpath', '//table[1]/tbody/tr[1]/td[1]'), 'params_examples.track_find_test(1)'
                ))
    
            # Check the contents of the table
            table_rows = browser.find_elements_by_xpath('//table[1]/tbody/tr')
            assert len(table_rows) == 2
            cols1 = [td.text for td in table_rows[0].find_elements_by_xpath('td')]
            cols2 = [td.text for td in table_rows[1].find_elements_by_xpath('td')]
    
            assert cols1[0] == 'params_examples.track_find_test(1)'
            assert cols2[0] == 'params_examples.track_find_test(2)'
    
            assert re.match(r'^\d\d\d\d-\d\d-\d\d \d\d:\d\d$', cols1[1])
            assert re.match(r'^\d\d\d\d-\d\d-\d\d \d\d:\d\d$', cols2[1])
    
            assert cols1[2:] == [bad_commit_hash[:8], '2.00x', '1.00', '2.00', 'Ignore']
            assert cols2[2:] == [bad_commit_hash[:8], '2.00x', '1.00', '2.00', 'Ignore']
    
            # Check that the ignore buttons work as expected
            buttons = [button for button in browser.find_elements_by_xpath('//button')
                       if button.text == 'Ignore']
            buttons[0].click()
    
            # The button should disappear, together with the link
>           WebDriverWait(browser, WAIT_TIME).until_not(EC.visibility_of(buttons[0]))

/builddir/build/BUILD/asv-0.4.1/test/test_web.py:220: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.8/site-packages/selenium/webdriver/support/wait.py:88: in until_not
    value = method(self._driver)
/usr/lib/python3.8/site-packages/selenium/webdriver/support/expected_conditions.py:143: in __call__
    return _element_if_visible(self.element)
/usr/lib/python3.8/site-packages/selenium/webdriver/support/expected_conditions.py:147: in _element_if_visible
    return element if element.is_displayed() == visibility else False
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:490: in is_displayed
    return self._execute(Command.IS_ELEMENT_DISPLAYED)['value']
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:628: in _execute
    return self._parent.execute(command, params)
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py:314: in execute
    self.error_handler.check_response(response)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f1f78fd6be0>
response = {'status': 404, 'value': '{"value":{"error":"unknown command","message":"unknown command: Cannot call non W3C standard...4 base::(anonymous namespace)::ThreadFunc()\\n#13 0x7fc33b1c74e2 start_thread\\n#14 0x7fc33ac48623 __GI___clone\\n"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown command: Cannot call non W3C standard command while in W3C mode

/usr/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException
----------------------------- Captured stderr call -----------------------------
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /info.json?_=1562600298768 HTTP/1.1" 200 -
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /index.json?timestamp=1562600294840 HTTP/1.1" 304 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeout.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeoutSuccess.track_success.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example2.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelSetupFail.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.time_fail_second_run.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.track_cache_bar.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.track_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.track_my_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/code_extraction.MyClass.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/code_extraction.track_pretty_source_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/code_extraction.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/custom.time_function.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/custom.track_method.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:19] "GET /regressions.json?timestamp=1562600294840 HTTP/1.1" 200 -
_____________________________ test_web_summarylist _____________________________

browser = <selenium.webdriver.chrome.webdriver.WebDriver (session="8d7999ad0827d8a9741999e4bdbd2bf9")>
basic_html = ('/builddir/build/BUILD/asv-0.4.1/.pytest_cache/d/asv-test_web-basic_html/cache/cached/html', <test.tools.Git object at 0x7f1f79027070>)

    @pytest.mark.flaky(reruns=1, reruns_delay=5)
    def test_web_summarylist(browser, basic_html):
        ignore_exc = (NoSuchElementException, StaleElementReferenceException)
    
        html_dir, dvcs = basic_html
    
        last_change_hash = dvcs.get_hash('master~4')
    
        browser.set_window_size(1200, 900)
    
        with tools.preview(html_dir) as base_url:
            get_with_retry(browser, base_url)
    
            summarylist_btn = browser.find_element_by_link_text('Benchmark list')
            summarylist_btn.click()
    
            # Check text content in the table
            base_link = browser.find_element_by_link_text('params_examples.track_find_test')
            cur_row = base_link.find_element_by_xpath('../..')
            m = re.match('params_examples.track_find_test \\([12]\\) 2.00 \u221233.3% \\(-1.00\\).*'
                             + last_change_hash[:8],
                         cur_row.text)
            assert m, cur_row.text
    
            # Check units in row
            base_link2 = browser.find_element_by_link_text('params_examples.track_bytes')
            cur_row2 = base_link2.find_element_by_xpath('../..')
            m = re.match(r'params_examples.track_bytes\s*1.000M', cur_row2.text)
            assert m, cur_row2.text
    
            # Check link
            base_href, qs = splitquery(base_link.get_attribute('href'))
            base_url, tag = splittag(base_href)
            assert parse_qs(qs) == {'ram': ['128GB'], 'cpu': ['Blazingly fast'],
                                    'NUL': ['[none]']}
            assert tag == 'params_examples.track_find_test'
    
            # Change table sort (sorting is async, so needs waits)
            sort_th = browser.find_element_by_xpath('//th[text()="Recent change"]')
            sort_th.click()
            WebDriverWait(browser, WAIT_TIME).until(
                EC.text_to_be_present_in_element(('xpath', '//tbody/tr[1]'),
                                                  'params_examples.track_find_test'))
    
            # Try to click cpu selector link in the panel
            cpu_select = browser.find_element_by_link_text('Not /really/ <fast>')
            cpu_select.click()
    
            # For the other CPU, there is no recent change recorded, only
            # the latest result is available
            def check(*args):
                links = browser.find_elements_by_link_text('params_examples.track_find_test')
                visible_links = [item for item in links if item.is_displayed()]
    
                row_texts = [link.find_element_by_xpath('../..').text
                             for link in visible_links]
                row_texts.sort()
    
                if len(row_texts) != 2:
                    return False
    
                ok = (re.match(r'^params_examples\.track_find_test \(1\) 2\.00 .*\(-1\.00\).*$', row_texts[0]) and
                      re.match(r'^params_examples\.track_find_test \(2\) 2\.00 .*\(-1\.00\).*$', row_texts[1]))
                return ok
    
>           WebDriverWait(browser, WAIT_TIME, ignored_exceptions=ignore_exc).until(check)

/builddir/build/BUILD/asv-0.4.1/test/test_web.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.8/site-packages/selenium/webdriver/support/wait.py:71: in until
    value = method(self._driver)
/builddir/build/BUILD/asv-0.4.1/test/test_web.py:320: in check
    visible_links = [item for item in links if item.is_displayed()]
/builddir/build/BUILD/asv-0.4.1/test/test_web.py:320: in <listcomp>
    visible_links = [item for item in links if item.is_displayed()]
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:490: in is_displayed
    return self._execute(Command.IS_ELEMENT_DISPLAYED)['value']
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:628: in _execute
    return self._parent.execute(command, params)
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py:314: in execute
    self.error_handler.check_response(response)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f1f78fd6be0>
response = {'status': 404, 'value': '{"value":{"error":"unknown command","message":"unknown command: Cannot call non W3C standard...4 base::(anonymous namespace)::ThreadFunc()\\n#13 0x7fc33b1c74e2 start_thread\\n#14 0x7fc33ac48623 __GI___clone\\n"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown command: Cannot call non W3C standard command while in W3C mode

/usr/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException
----------------------------- Captured stderr call -----------------------------
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /info.json?_=1562600301307 HTTP/1.1" 200 -
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /index.json?timestamp=1562600294840 HTTP/1.1" 304 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeout.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeoutSuccess.track_success.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example2.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelSetupFail.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.time_fail_second_run.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/error: Bad exit status from /var/tmp/rpm-tmp.gvGUJu (%check)
Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.track_cache_bar.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.track_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.track_my_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/code_extraction.MyClass.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/code_extraction.track_pretty_source_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/code_extraction.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/custom.time_function.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/custom.track_method.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/NUL-null/arch-x86_64/branch-master/cpu-Blazingly%20fast/machine-orangutan/os-GNU_Linux/python-3.8/ram-128GB/summary.json?timestamp=1562600294840 HTTP/1.1" 200 -
127.0.0.1 - - [08/Jul/2019 15:38:22] "GET /graphs/NUL_/arch-x86_64/branch-master/cpu-Not%20_really_%20_fast_/machine-orangutan/os-GNU_Linux/python-3.8/ram-_/summary.json?timestamp=1562600294840 HTTP/1.1" 200 -

Full logs: https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00964708-asv/

All attempts: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/asv/

Comment 5 Elliott Sales de Andrade 2019-07-23 00:42:48 UTC
This should be fixed now.

Comment 6 Zbigniew Jędrzejewski-Szmek 2019-07-23 10:26:13 UTC
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/976636/ failed:
DEBUG util.py:585:  BUILDSTDERR:  Problem: package python3-rpy-3.0.5-1.fc31.noarch requires python(abi) = 3.7, but none of the providers can be installed

https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00962450-rpy
has python3-rpy-3.0.4-2.fc31.noarch.rpm which has lower version. So rpy needs to be rebuilt
in copr, and then asv again.

Comment 7 Zbigniew Jędrzejewski-Szmek 2019-07-24 13:27:52 UTC
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/976799/


Note You need to log in before you can comment on or make changes to this bug.