Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2018-12-09 14:29:08

monx94
Олімпієць
Зареєстрований: 2018-10-10
Повідомлень: 16

Не работает онлайн-проверка

Когда я пытаюсь загрузить файл с решением на сайт, сайт не отправляет ответ, и в итоге после долгого ожидания выдаёт ошибку 501.
Эта проблема только у меня? Что можно с этим сделать? Проверял на заданиях, которые раньше работали, но результат тот же.

Поза форумом

 

#2 2018-12-12 20:42:36

ezhovich
Олімпієць
Зареєстрований: 2018-12-12
Повідомлень: 1

Re: Не работает онлайн-проверка

У меня тоже не работает, отправляю задачи на python3

Поза форумом

 

#3 2018-12-12 21:10:08

monx94
Олімпієць
Зареєстрований: 2018-10-10
Повідомлень: 16

Re: Не работает онлайн-проверка

К слову, у меня уже работает, но пишу на С++. Причём, только задачи 2 тура

Поза форумом

 

#4 2018-12-14 23:29:33

monx94
Олімпієць
Зареєстрований: 2018-10-10
Повідомлень: 16

Re: Не работает онлайн-проверка

Снова та же ошибка..

Поза форумом

 

#5 2018-12-18 15:01:23

IgorPyl
Олімпієць
Зареєстрований: 2018-12-18
Повідомлень: 4

Re: Не работает онлайн-проверка

У меня не работает не онлайн-проверка, не официальная. Пишу на Pascal и на Python3. Просто зависает сайт.

Поза форумом

 

#6 2018-12-21 18:19:51

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 391

Re: Не работает онлайн-проверка

Причина "зависания" он-лайн проверки - это ее самозащита от деструктивного кода, который  присылают на проверку отдельные участники. Кто-то (кто-знаем)  "надоумился" слать конвертированные в ассемблер решения. Иногда это проходило (уже не будет), а чаще - "вешало" систему. Использование таких "технологий" не предусмотрено никакими правилами. Подобные решения с ассемблером будут отвергаться без предварительной компиляции.

Поза форумом

 

#7 2018-12-23 00:33:05

monx94
Олімпієць
Зареєстрований: 2018-10-10
Повідомлень: 16

Re: Не работает онлайн-проверка

У меня опять проблема, но только с задачей Treats. Все остальные задачи нормально работают, но вот когда пытаюсь проверить Treats, проверка отправляет "HTTP/1.1 501 Not Implemented Content-type: text/html" и временно отключается. Я всё проверил и перепроверил, выдаёт всё быстро и без проблем, и на стандарте C++98 ни единой ошибки или предупреждения, при любых значениях все без пререканий, но проверка всё "виснет". Что может быть причиной?

Поза форумом

 

#8 2018-12-24 12:14:45

IgorPyl
Олімпієць
Зареєстрований: 2018-12-18
Повідомлень: 4

Re: Не работает онлайн-проверка

monx94 написав:

У меня опять проблема, но только с задачей Treats. Все остальные задачи нормально работают, но вот когда пытаюсь проверить Treats, проверка отправляет "HTTP/1.1 501 Not Implemented Content-type: text/html" и временно отключается. Я всё проверил и перепроверил, выдаёт всё быстро и без проблем, и на стандарте C++98 ни единой ошибки или предупреждения, при любых значениях все без пререканий, но проверка всё "виснет". Что может быть причиной?

У меня похожее сайт выдаёт.

Відредаговано IgorPyl (2018-12-24 12:15:03)

Поза форумом

 

#9 2018-12-24 18:11:14

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 391

Re: Не работает онлайн-проверка

Убирайте системные вызовы в коде, даже в комментариях.

Поза форумом

 

#10 2018-12-25 00:27:42

Dim_ov
Новий користувач
Зареєстрований: 2009-11-29
Повідомлень: 281
Вебсайт

Re: Не работает онлайн-проверка

Жюри_Пасихов написав:

Убирайте системные вызовы в коде, даже в комментариях.

Перевірте, будь ласка, уважніше свою систему перевірки. Можна звісно продовжувати говорити, що причина падінь в "деструктивному коді", але від повторення бажане не стане дійсним. Проблема не в асемблерних вставках, а в перевіряючій системі.

По-перше падає система при відправці на перевірку будь-яких рішень задачі Treats. Приклад такого неймовірно деструктивного коду:

Код:

int main(){}

По-друге, коли спрацьовує ваш "захист", то система не лягає, а просто видає 501 помилку. У випадку Treats - після 501 помилки перевірка падає, і протягом найближчих хвилин 10-15 відправити нічого неможливо (схоже, що вотчдог прикрутили недавно. На початку туру лягало все не на 10 хвилин, а до тих пір, поки не (пере-)запустять вручну).
По-третє, "деструктивний" код з асемблерними вставками - це абсолютно валідний С++ код, який коректно збирається компілятором, що стоїть на перевіряючому сервері і робить точно те ж саме, що і код без асм. вставок. І більш деструктивним від наявності асемблеру він не стає.

Жюри_Пасихов написав:

чаще - "вешало" систему

"Кто-то (кто-знаем)" відправляє подібний код на NetOI уже років 3 і жодного разу проблем з цим не було.


Звісно, якщо єдиний спосіб захисту від усіх можливих деструктивних дій - це тупий фільтр по входженню різних підрядків у текст рішення, як у випадку з новим фільтром на рядок "_asm_" (причому навіть не в рішенні після пре-процесора! Банальний макрос дозволяв обійти перевірку, а наявність "забороненого слова" в коментарі - провалити її!), то так, асемблерні вставки можуть становити загрозу безпеці системи. Але в такому випадку загрозу безпеці становить все що завгодно. І працює така "безпека" виключно завдяки принципу "Невловимого Джо". Існує безліч способів обійти такий "захист" і в компайл-таймі і в рантаймі, незалежно від наявності можливості використання асемблерних вставок.

Жюри_Пасихов написав:

Использование таких "технологий" не предусмотрено никакими правилами.

"Использование таких технологий" цілком передбачено правилами олімпіади. Як я вже писав вище, код з асемблером - абсолютно валідний. Компілятор його коректно компілює і лінкує. Жодного деструктивного навантаження в код не додається через використання асемблерних вставок. Він робить точно те саме, що і код без таких вставок. Щоб це стало не передбачено правилами - треба внести зміни в ці правила.
Ну а відповідь на питання, наскільки коректно міняти правила уже посеред олімпіади лежить, напевно, десь поряд з відповіддю на питання, наскільки коректно давати задачу, у якій не вказані обмеження на частину вхідних даних.

Відредаговано Dim_ov (2018-12-25 01:05:34)

Поза форумом

 

#11 2018-12-26 14:22:16

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 391

Re: Не работает онлайн-проверка

1. Все перевірили. Ще раз стверджую: якщо присилається те, що можливо назвати розв'язком задачі (вірним чи не дуже) однією з дозволених мов програмування - система працює корректно, працює он-лайн перевірка та приймання рішень. ПЕРЕВІРЯТЕ!!!!  В інших випадках - асемблер (не вставки, а препроцесор), різного роду "костилі" та "болванки" - на неадикватні звернення можлива неадекватна поведінка системи.

2. Готовий погдитися з тезою щодо "Невловимого ДЖО".Якщо хтось поставить за мету його зловити - раніше чи пізніше зловить. Ми сподіваємося, що мета у учасників олімпіади інша - навчтися розв'язувати задачі з інформатики. Зараз ми працюємо над новою версією сайта та перевіряючої системи. Скоро буде.  Версії, що працює, виповнилось 20 років.

Поза форумом

 

#12 2018-12-27 18:26:50

Dim_ov
Новий користувач
Зареєстрований: 2009-11-29
Повідомлень: 281
Вебсайт

Re: Не работает онлайн-проверка

Жюри_Пасихов написав:

Все перевірили.

Дякую! Тепер дійсно працює.

Жюри_Пасихов написав:

Ми сподіваємося, що мета у учасників олімпіади інша - навчтися розв'язувати задачі з інформатики.

Так, але учасники, все таки, бувають різні. А коректне налаштування прав і квот процесу рішення було б значно ефективнішим захистом, ніж пошук "поганих слів" у коді. І у плані безпосередньо захисту, і у плані відсутності "хибних спрацьовувань", коли системою не приймається цілком коректний код.

Жюри_Пасихов написав:

Зараз ми працюємо над новою версією сайта та перевіряючої системи. Скоро буде.  Версії, що працює, виповнилось 20 років.

Це круто (і ювілей, і нова версія). Будемо чекати smile

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt