[
https://issues.apache.org/jira/browse/DISPATCH-2303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17468723#comment-17468723
]
Ken Giusti commented on DISPATCH-2303:
--------------------------------------
I suspect the failure is due to an EOF occurring before the entire POST body is
complete, since the error indicates the test is trying to convert an empty
buffer to an int. If that's the case then this error probably indicates the
router dropped the connection to the test server before the POST was completed.
I'm working on a patch that will dump more details if/when we hit the error
again.
> system_tests_http1_over_tcp
> Http1OverTcpEdge2EdgeTest::test_05_large_streaming_msg failure: invalid
> literal for int() with base 16: b''
> ---------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DISPATCH-2303
> URL: https://issues.apache.org/jira/browse/DISPATCH-2303
> Project: Qpid Dispatch
> Issue Type: Test
> Components: Tests
> Affects Versions: 1.19.0
> Reporter: Jiri Daněk
> Assignee: Ken Giusti
> Priority: Major
>
> https://github.com/apache/qpid-dispatch/runs/4703076932?check_suite_focus=true#step:27:5543
> {noformat}
> 71: ::Http1OverTcpEdge2EdgeTest::test_05_large_streaming_msg Exception in
> thread Thread-26 (_run):
> 71: Traceback (most recent call last):
> 71: File "/usr/lib64/python3.10/threading.py", line 1009, in
> _bootstrap_inner
> 71: self.run()
> 71: File "/usr/lib64/python3.10/threading.py", line 946, in run
> 71: self._target(*self._args, **self._kwargs)
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 184, in _run
> 71: rsp = client.getresponse()
> 71: File "/usr/lib64/python3.10/http/client.py", line 1374, in getresponse
> 71: response.begin()
> 71: File "/usr/lib64/python3.10/http/client.py", line 318, in begin
> 71: version, status, reason = self._read_status()
> 71: File "/usr/lib64/python3.10/http/client.py", line 279, in _read_status
> 71: line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
> 71: File "/usr/lib64/python3.10/socket.py", line 705, in readinto
> 71: return self._sock.recv_into(b)
> 71: TimeoutError: timed out
> 71: FAILED----------------------------------------
> 71: Exception occurred during processing of request from ('127.0.0.1', 34566)
> 71: Traceback (most recent call last):
> 71: File "/usr/lib64/python3.10/socketserver.py", line 316, in
> _handle_request_noblock
> 71: self.process_request(request, client_address)
> 71: File "/usr/lib64/python3.10/socketserver.py", line 347, in
> process_request
> 71: self.finish_request(request, client_address)
> 71: File "/usr/lib64/python3.10/socketserver.py", line 360, in
> finish_request
> 71: self.RequestHandlerClass(request, client_address, self)
> 71: File "/usr/lib64/python3.10/socketserver.py", line 747, in __init__
> 71: self.handle()
> 71: File "/usr/lib64/python3.10/http/server.py", line 429, in handle
> 71: self.handle_one_request()
> 71: File "/usr/lib64/python3.10/http/server.py", line 415, in
> handle_one_request
> 71: method()
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 86, in do_PUT
> 71: self._execute_request(self.server.system_tests["PUT"])
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 58, in _execute_request
> 71: self._consume_body()
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 113, in _consume_body
> 71: hlen = int(header, base=16)
> 71: ValueError: invalid literal for int() with base 16: b''
> 71: ----------------------------------------
> {noformat}
> {noformat}
> 71: =================================== FAILURES
> ===================================
> 71: ____________ Http1OverTcpEdge2EdgeTest.test_05_large_streaming_msg
> _____________
> 71:
> 71: self = <system_tests_http1_over_tcp.Http1OverTcpEdge2EdgeTest
> testMethod=test_05_large_streaming_msg>
> 71:
> 71: def test_05_large_streaming_msg(self):
> 71: """
> 71: Verify large streaming message transfer
> 71: """
> 71: TESTS_11 = {
> 71: "PUT": [
> 71: (RequestMsg("PUT", "/PUT/streaming_test_11",
> 71: headers={
> 71: "Transfer-encoding": "chunked",
> 71: "Content-Type": "text/plain;charset=utf-8"
> 71: },
> 71: # 4 chunks each ~= 600K
> 71: body=b'927C1\r\n' + b'0' * 0x927C0 + b'X\r\n'
> 71: + b'927C0\r\n' + b'1' * 0x927C0 + b'\r\n'
> 71: + b'927C1\r\n' + b'2' * 0x927C0 + b'X\r\n'
> 71: + b'927C0\r\n' + b'3' * 0x927C0 + b'\r\n'
> 71: + b'0\r\n\r\n'),
> 71:
> 71: ResponseMsg(201, reason="Created",
> 71: headers={"Response-Header": "data",
> 71: "Content-Length": "0"}),
> 71: ResponseValidator(status=201))
> 71: ],
> 71:
> 71: "GET": [
> 71: (RequestMsg("GET", "/GET/streaming_test_11",
> 71: headers={"Content-Length": "000"}),
> 71: ResponseMsg(200, reason="OK",
> 71: headers={
> 71: "transfer-Encoding": "chunked",
> 71: "Content-Type":
> "text/plain;charset=utf-8"
> 71: },
> 71: # two 1.2MB chunk
> 71: body=b'124f80\r\n' + b'4' * 0x124F80 +
> b'\r\n'
> 71: + b'124f80\r\n' + b'5' * 0x124F80 + b'\r\n'
> 71: + b'0\r\n\r\n'),
> 71: ResponseValidator(status=200))
> 71: ],
> 71: }
> 71:
> 71: TESTS_10 = {
> 71: "POST": [
> 71: (RequestMsg("POST", "/POST/streaming_test_10",
> 71: headers={"Header-1": "H" * 2048,
> 71: "Content-Length": "2097155",
> 71: "Content-Type":
> "text/plain;charset=utf-8"},
> 71: body=b'P' * 2097155),
> 71: ResponseMsg(201, reason="Created",
> 71: headers={"Response-Header": "data",
> 71: "Content-Length": "0"}),
> 71: ResponseValidator(status=201))
> 71: ],
> 71:
> 71: "GET": [
> 71: (RequestMsg("GET", "/GET/streaming_test_10",
> 71: headers={"Content-Length": "000"}),
> 71: ResponseMsg(200, reason="OK",
> 71: headers={"Content-Length": "1999999",
> 71: "Content-Type":
> "text/plain;charset=utf-8"},
> 71: body=b'G' * 1999999),
> 71: ResponseValidator(status=200))
> 71: ],
> 71: }
> 71: server11 = TestServer.new_server(self.http_server11_port,
> self.http_listener11_port, TESTS_11)
> 71: self.assertIsNotNone(server11, TEST_SERVER_ERROR %
> self.http_server11_port)
> 71: server10 = TestServer.new_server(self.http_server10_port,
> self.http_listener10_port, TESTS_10,
> 71: handler_cls=RequestHandler10)
> 71: self.assertIsNotNone(server10, TEST_SERVER_ERROR %
> self.http_server10_port)
> 71:
> 71: self.EA2.wait_connectors()
> 71:
> 71: client11 = ThreadedTestClient(TESTS_11,
> 71: self.http_listener11_port,
> 71: repeat=2)
> 71: client11.wait()
> 71: self.assertIsNone(client11.error)
> 71: > self.assertEqual(4, client11.count)
> 71: E AssertionError: 4 != 2
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]