assertion failed: tdur <= contest_dur

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
andgein
Posts:4
Joined:06 May 2008, 15:32
Location:Екатеринбург. УрГУ
Contact:
assertion failed: tdur <= contest_dur

Post by andgein » 14 March 2017, 16:36

Поставил новую версию из гита сегодня утром. В режиме дорешивания при попытке посмотреть положение участников из интерфейса участника возникает ошибка recv_packed failed, и еджадж падает. В логах пишется:

2017-03-14T13:29:46Z:2:emerg:Internal: html.c: 3907: assertion failed: tdur <= contest_dur
Андрей Гейн,
vk.com/andgein
t.me/andgein

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: assertion failed: tdur <= contest_dur

Post by cher » 14 March 2017, 19:07

Коду в окресности той строки > 10 лет. Нужно больше информации.

andgein
Posts:4
Joined:06 May 2008, 15:32
Location:Екатеринбург. УрГУ
Contact:

Re: assertion failed: tdur <= contest_dur

Post by andgein » 14 March 2017, 20:56

Контест виртуальный, по системе киров. Мне кажется, именно виртуальность может влиять на нарушение условия вида tdur <= contest_dur?
Андрей Гейн,
vk.com/andgein
t.me/andgein

andgein
Posts:4
Joined:06 May 2008, 15:32
Location:Екатеринбург. УрГУ
Contact:

Re: assertion failed: tdur <= contest_dur

Post by andgein » 14 March 2017, 21:20

Прошу прощения, перепутал. Это не виртуальный киров, а виртуальный olympiad. Функция do_write_standings разве вообще должна вызываться для olympiad?
Андрей Гейн,
vk.com/andgein
t.me/andgein

User avatar
majicman3
Posts:57
Joined:06 February 2014, 13:43
Location:Ханты-Мансийск

Re: assertion failed: tdur <= contest_dur

Post by majicman3 » 14 March 2017, 22:29

При запуске дорешивания контест становится бесконечным, при этом переменная

Code: Select all

contest_dur = run_get_duration(state->runlog_state);
принимает значение 0 (html.c:3752).

Потом в html.c:3907 идет assert, который в таком случае всегда возвращает false. Возможно, стоит в режиме дорешивания (при contest_dur == 0) всегда показывать все посылки.

Однако, в любом случае, непонятно, почему вызывается функция do_write_standings, а не do_write_kirov_standings, хотя в html.c:4388 стоит if, и такого происходить не должно.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: assertion failed: tdur <= contest_dur

Post by cher » 14 March 2017, 23:07

Действительно, в virtual olympiad мы никогда не должны попадать в эту точку программы.

И что такое дорешивание для виртуального турнира?

User avatar
majicman3
Posts:57
Joined:06 February 2014, 13:43
Location:Ханты-Мансийск

Re: assertion failed: tdur <= contest_dur

Post by majicman3 » 14 March 2017, 23:14

cher wrote:И что такое дорешивание для виртуального турнира?
Возможность решать эти же задачи без изменения положения участников после окончания виртуального турнира.

User avatar
majicman3
Posts:57
Joined:06 February 2014, 13:43
Location:Ханты-Мансийск

Re: assertion failed: tdur <= contest_dur

Post by majicman3 » 15 March 2017, 07:29

do_write_standings вызывается не из html.c:4788, а из unpriv_standings_page.csp:77

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: assertion failed: tdur <= contest_dur

Post by cher » 15 March 2017, 16:01

Скорее всего.
Пока показ результатов для пользователя отключен.

Post Reply