Skip to content

关于1.6.1版本docker-compose部署 提交代码卡Judging的问题 #480

Open
@wellwei

Description

@wellwei

按照官网的docker-compose一键部署命令部署:

git clone -b v1.6.1 https://github.com/QingdaoU/OnlineJudgeDeploy.git

部署后未更改任何设置,提交非CE代码时卡Judging(CE代码正常)
以下是 ~/data/backend/log/dramatiq.log的日志

[2024-10-18 04:06:50] - [DEBUG] - [dramatiq.worker.ConsumerThread(default):326]  - Pushing message '2e93045a-f01f-468b-9056-2e16a154173b' onto work queue.
[2024-10-18 04:06:50] - [DEBUG] - [dramatiq.worker.WorkerThread:479]  - Received message judge_task('f16d911230421eb40a133701b81a6750', 1) with id '2e93045a-f01f-468b-9056-2e16a154173b'.
[2024-10-18 04:06:50] - [ERROR] - [dramatiq.worker.WorkerThread:513]  - Failed to process message judge_task('f16d911230421eb40a133701b81a6750', 1) with unhandled exception.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/dramatiq/worker.py", line 485, in process_message
    res = actor(*message.args, **message.kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dramatiq/actor.py", line 182, in __call__
    return self.fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/judge/tasks.py", line 14, in judge_task
    JudgeDispatcher(submission_id, problem_id).judge()
  File "/app/judge/dispatcher.py", line 174, in judge
    self._compute_statistic_info(resp["data"])
  File "/app/judge/dispatcher.py", line 106, in _compute_statistic_info
    self.submission.statistic_info["time_cost"] = max([x["cpu_time"] for x in resp_data])
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: max() iterable argument is empty
[2024-10-18 04:06:50] - [WARNING] - [dramatiq.middleware.retries.Retries:103]  - Retries exceeded for message '2e93045a-f01f-468b-9056-2e16a154173b'.
[2024-10-18 04:06:50] - [DEBUG] - [dramatiq.worker.ConsumerThread(default):344]  - Rejecting message '2e93045a-f01f-468b-9056-2e16a154173b'.
[2024-10-18 04:06:50] - [ERROR] - [sentry.errors:686]  - Sentry responded with an error: module 'ssl' has no attribute 'wrap_socket' (url: https://sentry.io/api/263057/store/)
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/raven/transport/threaded.py", line 165, in send_sync
    super(ThreadedHTTPTransport, self).send(url, data, headers)
  File "/usr/local/lib/python3.12/site-packages/raven/transport/http.py", line 38, in send
    response = urlopen(
               ^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/raven/utils/http.py", line 66, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 515, in open
    response = self._open(req, data)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 532, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/raven/utils/http.py", line 46, in https_open
    return self.do_open(ValidHTTPSConnection, req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 1344, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/local/lib/python3.12/http/client.py", line 1331, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1377, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1326, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1085, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.12/http/client.py", line 1029, in send
    self.connect()
  File "/usr/local/lib/python3.12/site-packages/raven/utils/http.py", line 37, in connect
    self.sock = ssl.wrap_socket(
                ^^^^^^^^^^^^^^^
AttributeError: module 'ssl' has no attribute 'wrap_socket'
b"Sentry responded with an error: module 'ssl' has no attribute 'wrap_socket' (url: https://sentry.io/api/263057/store/)"
[2024-10-18 04:06:50] - [ERROR] - [sentry.errors.uncaught:712]  - ["Failed to process message judge_task('f16d911230421eb40a133701b81a6750', 1) with unhandled exception.", '  File "dramatiq/worker.py", line 485, in process_message', '  File "dramatiq/actor.py", line 182, in __call__', '  File "judge/tasks.py", line 14, in judge_task', '  File "judge/dispatcher.py", line 174, in judge', '  File "judge/dispatcher.py", line 106, in _compute_statistic_info']
b'["Failed to process message judge_task(\'f16d911230421eb40a133701b81a6750\', 1) with unhandled exception.", \'  File "dramatiq/worker.py", line 485, in process_message\', \'  File "dramatiq/actor.py", line 182, in __call__\', \'  File "judge/tasks.py", line 14, in judge_task\', \'  File "judge/dispatcher.py", line 174, in judge\', \'  File "judge/dispatcher.py", line 106, in _compute_statistic_info\']'

询问AI可能是docker容器Python版本太高不兼容,不知如何解决
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions