[BUG]Salt-api usgi | rest_cherry
Open
Nobody has claimed this yet.
bug
pending-discussion
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 5.6k
- Avg merge
- 2d 44m
- Merged PRs (30d)
- 80
Description
Description
127.0.0.1 - - [12/Jan/2021 03:11:57] "POST / HTTP/1.1" 500 0
Traceback (most recent call last):
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 138, in run
self.finish_response()
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 266, in write
"write() argument must be a bytes instance"
AssertionError: write() argument must be a bytes instance
127.0.0.1 - - [12/Jan/2021 03:11:57] "POST / HTTP/1.1" 500 59
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 33872)
Traceback (most recent call last):
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 138, in run
self.finish_response()
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 266, in write
"write() argument must be a bytes instance"
AssertionError: write() argument must be a bytes instance
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 141, in run
self.handle_error()
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 368, in handle_error
self.finish_response()
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 274, in write
self.send_headers()
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 331, in send_headers
if not self.origin_server or self.client_is_modern():
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 344, in client_is_modern
return self.environ['SERVER_PROTOCOL'].upper() != 'HTTP/0.9'
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib64/python3.6/socketserver.py", line 320, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib64/python3.6/socketserver.py", line 351, in process_request
self.finish_request(request, client_address)
File "/usr/lib64/python3.6/socketserver.py", line 364, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib64/python3.6/socketserver.py", line 724, in __init__
self.handle()
File "/usr/lib64/python3.6/wsgiref/simple_server.py", line 133, in handle
handler.run(self.server.get_app())
File "/usr/lib64/python3.6/wsgiref/handlers.py", line 144, in run
self.close()
File "/usr/lib64/python3.6/wsgiref/simple_server.py", line 35, in close
self.status.split(' ',1)[0], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'
Setup
rest_wsgi:
debug: True
port: 8001
rest_cherrypy:
debug: True
disable_ssl: True
port: 8002
Steps to Reproduce the behavior
enable salt-api or cherry with epam: pam and try do login to cherrypy or test.ping to wsgi
Expected behavior
A clear and concise description of what you expected to happen.
Versions Report
Salt Version:
Salt: 3002.2
Dependency Versions:
cffi: 1.11.5
cherrypy: 18.4.0
dateutil: 2.6.1
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 2.10.1
libgit2: 0.26.8
M2Crypto: 0.35.2
Mako: Not Installed
msgpack: 0.6.2
msgpack-pure: Not Installed
mysql-python: Not Installed
pycparser: 2.14
pycrypto: Not Installed
pycryptodome: Not Installed
pygit2: 0.26.4
Python: 3.6.8 (default, Aug 24 2020, 17:57:11)
python-gnupg: Not Installed
PyYAML: 3.12
PyZMQ: 19.0.0
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.3
System Versions:
dist: centos 8
locale: UTF-8
machine: x86_64
release: 4.18.0-240.1.1.el8_3.x86_64
system: Linux
version: CentOS Linux
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The report points to the salt-api rest_cherry and rest_wsgi entry points; begin by reproducing the PAM login and test.ping requests with the listed Salt, Python, CherryPy, and CentOS versions. Done means these requests no longer produce the shown WSGI errors and their API responses are verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100