Skip to content

500 Internal Server Error on team page, when contest delay start. #3417

@cubercsl

Description

@cubercsl

Description of the problem

500 Internal Server Error on team page, when the contest delay start.

Your environment

DOMjudge 9.0 / Ubuntu 24.04 / Nginx

Steps to reproduce

  1. Create a test contest, set a contest start time.
  2. Import problems from zip.
  3. Delay contest start.
  4. Jury submits another solution for testing.

Expected behaviour

Jury can make submission without any error.

Actual behaviour

An error occurred when jury making a submission.

No negative values allowed in score key element, got -423.000000000.

Resuming contest start can mitigate this.

[2026-02-01T21:21:56.966732+08:00] request.INFO: Matched route "team_submit". {"route":"team_submit","route_parameters":{"_route":"team_submit","problem":null,"_controller":"App\\Controller\\Team\\SubmissionController::createAction"},"request_uri":"https://dj.ecf.icpc.site/team/submit","method":"POST"} []
[2026-02-01T21:21:56.969648+08:00] security.DEBUG: Read existing security token from the session. {"key":"_security_domjudge","token_class":"Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken"} []
[2026-02-01T21:21:56.971273+08:00] php.INFO: User Deprecated: MySQL 5.6 support is deprecated and will be removed in DBAL 4. Consider upgrading to MySQL 5.7 or later. (AbstractMySQLDriver.php:113 called by AbstractDriverMiddleware.php:68, https://github.com/doctrine/dbal/pull/5072, package doctrine/dbal) {"exception":"[object] (ErrorException(code: 0): User Deprecated: MySQL 5.6 support is deprecated and will be removed in DBAL 4. Consider upgrading to MySQL 5.7 or later. (AbstractMySQLDriver.php:113 called by AbstractDriverMiddleware.php:68, https://github.com/doctrine/dbal/pull/5072, package doctrine/dbal) at /opt/domjudge/domserver/webapp/vendor/doctrine/deprecations/src/Deprecation.php:208)"} []
[2026-02-01T21:21:56.975873+08:00] security.DEBUG: User was reloaded from a user provider. {"provider":"Symfony\\Bridge\\Doctrine\\Security\\User\\EntityUserProvider","username":"jury"} []
[2026-02-01T21:21:56.976105+08:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":3} []
[2026-02-01T21:21:56.976116+08:00] security.DEBUG: Checking support on authenticator. {"firewall_name":"main","authenticator":"App\\Security\\DOMJudgeXHeadersAuthenticator"} []
[2026-02-01T21:21:56.977726+08:00] security.DEBUG: Authenticator does not support the request. {"firewall_name":"main","authenticator":"App\\Security\\DOMJudgeXHeadersAuthenticator"} []
[2026-02-01T21:21:56.977744+08:00] security.DEBUG: Checking support on authenticator. {"firewall_name":"main","authenticator":"App\\Security\\DOMJudgeIPAuthenticator"} []
[2026-02-01T21:21:56.978174+08:00] security.DEBUG: Authenticator does not support the request. {"firewall_name":"main","authenticator":"App\\Security\\DOMJudgeIPAuthenticator"} []
[2026-02-01T21:21:56.978186+08:00] security.DEBUG: Checking support on authenticator. {"firewall_name":"main","authenticator":"Symfony\\Component\\Security\\Http\\Authenticator\\FormLoginAuthenticator"} []
[2026-02-01T21:21:56.978204+08:00] security.DEBUG: Authenticator does not support the request. {"firewall_name":"main","authenticator":"Symfony\\Component\\Security\\Http\\Authenticator\\FormLoginAuthenticator"} []
[2026-02-01T21:21:57.010778+08:00] app.INFO: Submission input verified [] []
[2026-02-01T21:21:57.024062+08:00] php.INFO: User Deprecated: Nesting transactions without enabling savepoints is deprecated. Call Doctrine\DBAL\Connection::setNestTransactionsWithSavepoints(true) to enable savepoints. (Connection.php:1406 called by UnitOfWork.php:427, https://github.com/doctrine/dbal/pull/5383, package doctrine/dbal) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Nesting transactions without enabling savepoints is deprecated.\nCall Doctrine\\DBAL\\Connection::setNestTransactionsWithSavepoints(true) to enable savepoints. (Connection.php:1406 called by UnitOfWork.php:427, https://github.com/doctrine/dbal/pull/5383, package doctrine/dbal) at /opt/domjudge/domserver/webapp/vendor/doctrine/deprecations/src/Deprecation.php:208)"} []
[2026-02-01T21:21:57.037295+08:00] app.DEBUG: EventLogService::log arguments: 'submission' '[2660]' 'create' '3' '' '' [] []
[2026-02-01T21:21:57.038066+08:00] request.INFO: Matched route "current_app_api_submission_list_1". {"route":"current_app_api_submission_list_1","route_parameters":{"_route":"current_app_api_submission_list_1","_controller":"App\\Controller\\API\\SubmissionController::listAction","_format":"json","cid":"ecf50-judge-test"},"request_uri":"http://localhost/api/contests/ecf50-judge-test/submissions?ids%5B0%5D=2660","method":"GET"} []
[2026-02-01T21:21:57.050489+08:00] app.DEBUG: EventLogService::log created submissions with ID's ["2660"] for 1 contest(s) [] []
[2026-02-01T21:21:57.052370+08:00] app.DEBUG: ScoreboardService::calculateScoreRow '3' '1' '14' [] []
[2026-02-01T21:21:57.077701+08:00] app.DEBUG: ScoreboardService::updateRankCache '3' '1' [] []
[2026-02-01T21:21:57.096328+08:00] request.CRITICAL: Uncaught PHP Exception Exception: "No negative values allowed in score key element, got -423.000000000." at ScoreboardService.php line 578 {"exception":"[object] (Exception(code: 0): No negative values allowed in score key element, got -423.000000000. at /opt/domjudge/domserver/webapp/src/Service/ScoreboardService.php:578)"} []
[2026-02-01T21:21:57.127785+08:00] security.DEBUG: Stored the security token in the session. {"key":"_security_domjudge"} []

Any other information that you want to share?

This can also repro on the main branch. Even the team page is inaccessible with an error

Call to a member function getTimestamp() on null

which may introduced in 8535f48 with #3187.

[2026-02-04T12:27:02.192277+00:00] request.CRITICAL: Uncaught PHP Exception Error: "Call to a member function getTimestamp() on null" at MiscController.php line 109 {"exception":"[object] (Error(code: 0): Call to a member function getTimestamp() on null at /home/domjudge/demoweb/webapp/src/Controller/Team/MiscController.php:109)"} []
[2026-02-04T12:27:02.199272+00:00] security.DEBUG: Stored the security token in the session. {"key":"_security_domjudge"} []

Metadata

Metadata

Assignees

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