Интерактивная задача и нестабильность

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
aropan
Posts:64
Joined:13 April 2012, 18:22
Re: Интерактивная задача и нестабильность

Post by aropan » 19 April 2012, 02:05

cher wrote:SIGSEGV в чекере - это ошибка в чекере, надо ее искать

про SIGPIPE: http://linux.die.net/man/7/pipe
Так дело в том что ошибка в строчке где я вывожу решению код завершиться... и когда ответ ответ корректный, то все хорошо отрабатывает, а когда нет, то почему то проблемит.

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

Re: Интерактивная задача и нестабильность

Post by cher » 19 April 2012, 07:11

Сложно что-либо сказать, не видя исходного кода и примера, на котором падает.

aropan
Posts:64
Joined:13 April 2012, 18:22

Re: Интерактивная задача и нестабильность

Post by aropan » 19 April 2012, 14:31

cher wrote:Сложно что-либо сказать, не видя исходного кода и примера, на котором падает.
Вот например интерактор.

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

Re: Интерактивная задача и нестабильность

Post by cher » 19 April 2012, 14:43

Так в SIGSEGV падает же чекер?

aropan
Posts:64
Joined:13 April 2012, 18:22

Re: Интерактивная задача и нестабильность

Post by aropan » 19 April 2012, 15:52

cher wrote:Так в SIGSEGV падает же чекер?
Так SIGPIPE у решения когда ответ не ok. А вот если закомментировать if (msg == NULL) в 68 строчке, то уже у интерактора на этих тестах становиться SIGSEGV.

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

Re: Интерактивная задача и нестабильность

Post by cher » 20 April 2012, 11:51

проверьте, что msg != NULL

aropan
Posts:64
Joined:13 April 2012, 18:22

Re: Интерактивная задача и нестабильность

Post by aropan » 20 April 2012, 14:54

cher wrote:проверьте, что msg != NULL
есть такое:

Code: Select all

	if (msg)
		count_move = -1;
	else
		msg = "ok";

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

Re: Интерактивная задача и нестабильность

Post by cher » 20 April 2012, 15:50

Да. Так в каком месте падает?
Может s переполняется, или f == NULL?

aropan
Posts:64
Joined:13 April 2012, 18:22

Re: Интерактивная задача и нестабильность

Post by aropan » 20 April 2012, 17:33

так Runtime error у решения с ошибкой SIGPIPE:

Code: Select all

	if (msg == NULL)
	{
		puts("0");
		fflush(stdout);
	}
а если просто, то SIGSEGV у интерактора:

Code: Select all

	puts("0");
	fflush(stdout);

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

Re: Интерактивная задача и нестабильность

Post by cher » 21 April 2012, 06:37

Чтобы не было SIGPIPE допишите

Code: Select all

  fclose(stdout);
  int c;
  while ((c = getchar()) != EOF) {}

Post Reply