sys.version_info(major=3, minor=9, micro=2, releaselevel='final', serial=0) test {'COOKIES': '', 'DOCUMENT_NAME': 'subserver.py.cgi', 'DOCUMENT_ROOT': '/srv/www/roxen/', 'DOCUMENT_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'localhost:8081', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; ' 'compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'LAST_MODIFIED': 'Fri, 13 Dec 2019 15:21:06 GMT', 'LC_CTYPE': 'C.UTF-8', 'REMOTE_ADDR': '172.18.0.1', 'REMOTE_PORT': '45538', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_FILENAME': '/srv/www/users/hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_NAME': '/~hugo/tmp/hack2/subserver.py.cgi', 'SERVER_NAME': 'www.lysator.liu.se', 'SERVER_PORT': '8080', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'Roxen/8.2.668-git', 'SERVER_URL': 'https://www.lysator.liu.se/', 'SUPPORTS': 'center html cookies frames ssl trade vary javascript java tables ' 'font images forms gifinline mailto noscript divisions supsub ' 'bigsmall align jpeginline imagealign pull backgrounds autogunzip ' 'js_image_object pjpeginline fontcolor tablecolor stylesheets ' 'tableimages pnginline js_inner_html div', 'SUPPORTS_align': 'true', 'SUPPORTS_autogunzip': 'true', 'SUPPORTS_backgrounds': 'true', 'SUPPORTS_bigsmall': 'true', 'SUPPORTS_center': 'true', 'SUPPORTS_cookies': 'true', 'SUPPORTS_div': 'true', 'SUPPORTS_divisions': 'true', 'SUPPORTS_font': 'true', 'SUPPORTS_fontcolor': 'true', 'SUPPORTS_forms': 'true', 'SUPPORTS_frames': 'true', 'SUPPORTS_gifinline': 'true', 'SUPPORTS_html': 'true', 'SUPPORTS_imagealign': 'true', 'SUPPORTS_images': 'true', 'SUPPORTS_java': 'true', 'SUPPORTS_javascript': 'true', 'SUPPORTS_jpeginline': 'true', 'SUPPORTS_js_image_object': 'true', 'SUPPORTS_js_inner_html': 'true', 'SUPPORTS_mailto': 'true', 'SUPPORTS_noscript': 'true', 'SUPPORTS_pjpeginline': 'true', 'SUPPORTS_pnginline': 'true', 'SUPPORTS_pull': 'true', 'SUPPORTS_ssl': 'true', 'SUPPORTS_stylesheets': 'true', 'SUPPORTS_supsub': 'true', 'SUPPORTS_tablecolor': 'true', 'SUPPORTS_tableimages': 'true', 'SUPPORTS_tables': 'true', 'SUPPORTS_trade': 'true', 'SUPPORTS_vary': 'true'} stderr = stdout os.geteuid() : 65534 os.getcwd() : / os.listdir() : ['home', 'opt', 'media', 'boot', 'tmp', 'etc', 'var', 'usr', 'mnt', 'sys', 'proc', 'bin', 'root', 'sbin', 'run', 'lib', 'lib64', 'dev', 'srv', '.dockerenv'] ================================================== uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup) ================================================== asdf unicode: asåädf tes2 öΑΒΓΔ Content-Type: text/plain sys.version_info(major=3, minor=9, micro=2, releaselevel='final', serial=0) test {'COOKIES': '', 'DOCUMENT_NAME': 'subserver.py.cgi', 'DOCUMENT_ROOT': '/srv/www/roxen/', 'DOCUMENT_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'localhost:8081', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; ' 'compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'LAST_MODIFIED': 'Fri, 13 Dec 2019 15:21:06 GMT', 'LC_CTYPE': 'C.UTF-8', 'REMOTE_ADDR': '172.18.0.1', 'REMOTE_PORT': '45538', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_FILENAME': '/srv/www/users/hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_NAME': '/~hugo/tmp/hack2/subserver.py.cgi', 'SERVER_NAME': 'www.lysator.liu.se', 'SERVER_PORT': '8080', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'Roxen/8.2.668-git', 'SERVER_URL': 'https://www.lysator.liu.se/', 'SUPPORTS': 'center html cookies frames ssl trade vary javascript java tables ' 'font images forms gifinline mailto noscript divisions supsub ' 'bigsmall align jpeginline imagealign pull backgrounds autogunzip ' 'js_image_object pjpeginline fontcolor tablecolor stylesheets ' 'tableimages pnginline js_inner_html div', 'SUPPORTS_align': 'true', 'SUPPORTS_autogunzip': 'true', 'SUPPORTS_backgrounds': 'true', 'SUPPORTS_bigsmall': 'true', 'SUPPORTS_center': 'true', 'SUPPORTS_cookies': 'true', 'SUPPORTS_div': 'true', 'SUPPORTS_divisions': 'true', 'SUPPORTS_font': 'true', 'SUPPORTS_fontcolor': 'true', 'SUPPORTS_forms': 'true', 'SUPPORTS_frames': 'true', 'SUPPORTS_gifinline': 'true', 'SUPPORTS_html': 'true', 'SUPPORTS_imagealign': 'true', 'SUPPORTS_images': 'true', 'SUPPORTS_java': 'true', 'SUPPORTS_javascript': 'true', 'SUPPORTS_jpeginline': 'true', 'SUPPORTS_js_image_object': 'true', 'SUPPORTS_js_inner_html': 'true', 'SUPPORTS_mailto': 'true', 'SUPPORTS_noscript': 'true', 'SUPPORTS_pjpeginline': 'true', 'SUPPORTS_pnginline': 'true', 'SUPPORTS_pull': 'true', 'SUPPORTS_ssl': 'true', 'SUPPORTS_stylesheets': 'true', 'SUPPORTS_supsub': 'true', 'SUPPORTS_tablecolor': 'true', 'SUPPORTS_tableimages': 'true', 'SUPPORTS_tables': 'true', 'SUPPORTS_trade': 'true', 'SUPPORTS_vary': 'true'} stderr = stdout os.geteuid() : 65534 os.getcwd() : / os.listdir() : ['home', 'opt', 'media', 'boot', 'tmp', 'etc', 'var', 'usr', 'mnt', 'sys', 'proc', 'bin', 'root', 'sbin', 'run', 'lib', 'lib64', 'dev', 'srv', '.dockerenv'] ================================================== uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup) ================================================== Traceback (most recent call last): File "/srv/www/users/hugo/tmp/hack2/subserver.py.cgi", line 39, in with socketserver.TCPServer(("", 8040), Handler) as httpd: File "/usr/lib/python3.9/socketserver.py", line 452, in __init__ self.server_bind() File "/usr/lib/python3.9/socketserver.py", line 466, in server_bind self.socket.bind(self.server_address) OSError: [Errno 98] Address already in use