Skip to content

Hang on when run in pytest #157

@derentw

Description

@derentw

I use TestLink-API-Python-client to integrate pytest and TestLink, and my pytest run on docker.
Sometime it hang on, I only can stop docker container to cancel my test.
It look like hang on socket receive data.

I got some information from gdb.

gdb /usr/bin/python3 -p <pid>
....
(gdb) py-bt
Traceback (most recent call first):
  File "/usr/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.8/http/client.py", line 277, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 1604, in getresponse
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1166, in single_request
    resp = http_conn.getresponse()
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1153, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 2218, in __request
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1109, in __call__
    return self.__send(self.__name, args)
  File "/usr/local/lib/python3.8/dist-packages/testlink/testlinkapigeneric.py", line 2057, in _callServer
Python Exception <class 'UnicodeDecodeError'> 'ascii' codec can't decode byte 0xc2 in position 6878: ordinal not in range(128): 
Error occurred in Python: 'ascii' codec can't decode byte 0xc2 in position 6878: ordinal not in range(128)

(gdb) py-list
 664            self._checkReadable()
 665            if self._timeout_occurred:
 666                raise OSError("cannot read from timed out object")
 667            while True:
 668                try:
>669                    return self._sock.recv_into(b)
 670                except timeout:
 671                    self._timeout_occurred = True
 672                    raise
 673                except error as e:
 674                    if e.args[0] in _blocking_errnos:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions