Repository navigation
test_asyncio test_start_tls_server_1 fails in AMD64 FreeBSD CURRENT buildbots #79212
Copy link
Copy link
Closed
Labels
3.7 (EOL)end of lifeend of life3.8 (EOL)end of lifeend of lifetestsTests in the Lib/test dirTests in the Lib/test dirtopic-asynciotype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee = None
closed_at = <Date 2019-10-14.21:07:17.113>
created_at = <Date 2018-10-20.14:06:47.648>
labels = ['3.7', '3.8', 'type-bug', 'tests', 'expert-asyncio']
title = 'test_asyncio test_start_tls_server_1 fails in AMD64 FreeBSD CURRENT buildbots'
updated_at = <Date 2019-10-14.21:07:17.112>
user = 'https://github.com/pablogsal'bugs.python.org fields:
activity = <Date 2019-10-14.21:07:17.112>
actor = 'vstinner'
assignee = 'none'
closed = True
closed_date = <Date 2019-10-14.21:07:17.113>
closer = 'vstinner'
components = ['Tests', 'asyncio']
creation = <Date 2018-10-20.14:06:47.648>
creator = 'pablogsal'
dependencies = []
files = []
hgrepos = []
issue_num = 35031
keywords = ['patch']
message_count = 24.0
messages = ['328138', '328143', '328145', '328148', '328157', '328163', '328833', '328835', '328837', '328839', '328871', '329785', '332756', '332764', '332803', '337234', '345831', '345832', '345837', '345839', '345961', '345967', '345973', '354654']
nosy_count = 9.0
nosy_names = ['terry.reedy', 'vstinner', 'christian.heimes', 'ned.deily', 'asvetlov', 'yselivanov', 'pablogsal', 'miss-islington', 'op368']
pr_nums = ['10011', '10496', '14148', '14150', '14151', '14188', '14191', '14192']
priority = 'normal'
resolution = 'fixed'
stage = 'resolved'
status = 'closed'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue35031'
versions = ['Python 3.6', 'Python 3.7', 'Python 3.8']Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.7 (EOL)end of lifeend of life3.8 (EOL)end of lifeend of lifetestsTests in the Lib/test dirTests in the Lib/test dirtopic-asynciotype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Activity
pablogsal commentedon Oct 20, 2018
https://buildbot.python.org/all/#/builders/168/builds/91
https://buildbot.python.org/all/#/builders/172/builds/41
https://buildbot.python.org/all/#/builders/173/builds/51
CURRENT-amd64% ./python -m test test_asyncio -m test_start_tls_server_1
Run tests sequentially
0:00:00 load avg: 3.36 [1/1] test_asyncio
Stderr:
/usr/home/pablo/cpython/Lib/test/test_asyncio/test_sslproto.py:497: DeprecationWarning: The loop argument is deprecated and scheduled for removal in Python 3.10.
await asyncio.wait_for(
/usr/home/pablo/cpython/Lib/asyncio/sslproto.py:321: ResourceWarning: unclosed transport <asyncio.sslproto._SSLProtocolTransport object at 0x802db68f0>
warnings.warn(f"unclosed transport {self!r}", ResourceWarning,
Stderr:
/usr/home/pablo/cpython/Lib/test/test_asyncio/test_sslproto.py:497: DeprecationWarning: The loop argument is deprecated and scheduled for removal in Python 3.10.
await asyncio.wait_for(
/usr/home/pablo/cpython/Lib/asyncio/sslproto.py:321: ResourceWarning: unclosed transport <asyncio.sslproto._SSLProtocolTransport object at 0x802db68f0>
warnings.warn(f"unclosed transport {self!r}", ResourceWarning,
test_asyncio failed in 1 min 749 ms
== Tests result: FAILURE ==
1 test failed:
test_asyncio
Total duration: 1 min 800 ms
Tests result: FAILURE
[-]test_asyncio test_start_tls_server_1 fails in[/-][+]test_asyncio test_start_tls_server_1 fails in AMD64 FreeBSD CURRENT buildbots[/+]pablogsal commentedon Oct 20, 2018
Bisecting points to commit dbf1022 as the dirst bad commit:
dbf1022 is the first bad commit
commit dbf1022
Author: Yury Selivanov <[email protected]>
Date: Mon May 28 14:31:28 2018 -0400
pablogsal commentedon Oct 20, 2018
I think something is going on with the buildbot itself or the test has some race condition because that commit has been built before multiple times with no error. I am investigating in the buildbot itself.
pablogsal commentedon Oct 20, 2018
Building and testing the parent of dbf1022 always succeeds.
pablogsal commentedon Oct 20, 2018
It seems that the problem is that the ServerProto of test_start_tls_server_1 never receives a call to eof_received(). Weirdly enough it seems that if the HELLO_MSG is large enough (1024 * 1024), then the test always succeed. If we deactivate tls in the test, the test succeeds with any message lenght.
pablogsal commentedon Oct 20, 2018
Re-adding client_context.options |= ssl.OP_NO_TLSv1_3 makes the test pass again.
vstinner commentedon Oct 29, 2018
Any progress on this issue? It's still failing:
https://buildbot.python.org/all/#/builders/168/builds/143
pablogsal commentedon Oct 29, 2018
Someone needs to review PR10011
vstinner commentedon Oct 29, 2018
note: Roundup sent me comments as email notifications in the backward order, that's funny to see Pablo's answer before my question :-)
2 remaining items
miss-islington commentedon Nov 13, 2018
New changeset 3f9fe53 by Miss Islington (bot) in branch '3.7':
bpo-35031: Fix test_start_tls_server_1 on FreeBSD buildbots (GH-10011)
3f9fe53
terryjreedy commentedon Dec 30, 2018
should this be closed?
pablogsal commentedon Dec 30, 2018
I think is missing a manual backport to 3.6, but now that we are in security fixes only I am not sure of what to do.
ned-deily commentedon Dec 31, 2018
If the failure has regularly shown up on 3.6 FreeBSD buildbots in the past, I would accept a backport of the test change to 3.6.
openandclose commentedon Mar 5, 2019
Am I wrong with something?
But test_start_tls_server_1 in newly made cpython fails on my plain intel linux personal PC.
If I comment out the FreeBSD conditional (to apply ssl.OP_NO_TLSv1_3),
the test passes.
If I change HELLO_MSG to 1*1024*1024 (msg328157),
the test passes.
I reported the details in https://bugs.python.org/issue35998#msg336986 and the following.
vstinner commentedon Jun 17, 2019
Commit f6a47f3 introduced a workaround on Windows and FreeBSD. It was removed by commit f0749da in bpo-35998... but then Windows restarted to fail:
https://bugs.python.org/issue35998#msg345644
So I wrote PR 14148 to reintroduce the workaround until someone finds time to have a look.
Note: this issue is open since October 2018.
vstinner commentedon Jun 17, 2019
New changeset c034b78 by Victor Stinner in branch 'master':
bpo-35031, test_asycio: disable TLS 1.3 in test_start_tls_server_1() (GH-14148)
c034b78
miss-islington commentedon Jun 17, 2019
New changeset a5ddbfb by Miss Islington (bot) in branch '3.8':
bpo-35031, test_asycio: disable TLS 1.3 in test_start_tls_server_1() (GH-14148)
a5ddbfb
miss-islington commentedon Jun 17, 2019
New changeset 0040903 by Miss Islington (bot) in branch '3.7':
bpo-35031, test_asycio: disable TLS 1.3 in test_start_tls_server_1() (GH-14148)
0040903
ned-deily commentedon Jun 18, 2019
New changeset a514f78 by Ned Deily in branch 'master':
bpo-35031: also disable TLS 1.3 for test_start_tls_server_1 on macOS (GH-14188)
a514f78
miss-islington commentedon Jun 18, 2019
New changeset f49c85d by Miss Islington (bot) in branch '3.8':
bpo-35031: also disable TLS 1.3 for test_start_tls_server_1 on macOS (GH-14188)
f49c85d
ned-deily commentedon Jun 18, 2019
New changeset c101d1a by Ned Deily (Miss Islington (bot)) in branch '3.7':
bpo-35031: also disable TLS 1.3 for test_start_tls_server_1 on macOS (GH-14188) (GH-14192)
c101d1a
vstinner commentedon Oct 14, 2019
It seems like the issue has been fixed.
See also bpo-35998 for a similar issue on other platforms.