LINUX.ORG.RU

Сегфолт программы xneur

 ,


0

2

У меня xneur с git падает при блокировке экрана xlock.

xneur[6499]: segfault at 7a7163 ip b7ec0320 sp bfe26420 error 4 in libxneur.so.21.0.0[b7eb4000+1f000]

Я пересобрал программу с debug и через gdb определил место в котором падает.

Program received signal SIGSEGV, Segmentation fault.
0xb7ecbf68 in keymap_init (handle=<optimized out>, display=<optimized out>)
    at keymap.c:660

660			if (strcmp(p->handle->languages[i].dir, "us") == 0)

Вот код из программы:

for (int i = 0; i < p->handle->total_languages; i++)
	{
		// FIXME Replace hardcode "us" to setting
		if (strcmp(p->handle->languages[i].dir, "us") == 0)
		{
			p->latin_group = i;
		}
}

И вроде как вполне нормальный код, как на него может влиять мой блокировщик экрана? Если закоментировать этот код, то сегфолта нет.

★★★★★

Последнее исправление: irton (всего исправлений: 1)
Ответ на: комментарий от onhydro

дамп снял, остальное пока не знаю как определить, там оно при replay опять в gdb перекидывает и надо уже по gdb читать.

irton ★★★★★
() автор топика
Ответ на: комментарий от irton

дык ессно, во-первых ui это i/o которое назад не отмотаешь. Во-вторых, если ты всё сделал правильно(rcontinue и всё такое), тебя стопает на каждом обращении к искомой память(man Break Conditions).

onhydro
()
Ответ на: комментарий от irton

hint: если отключить aslr, то можно обойтись меньшей кровью, чем rr.

onhydro
()
Ответ на: комментарий от onhydro

я не расставлял break в коде. скорее всего я ничего правильно не сделал еще. Пока только дамп записал.

irton ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.