LINUX.ORG.RU

Нужна помощь! Ошибка сегментирования (core dumped)!

 


0

4

Здравствуйте. Система: CentOS 7 64x. При выполнении (gdb) bt full:

#0  0x080e38f2 in _mm_set_epi32 ()
No symbol table info available.
#1  0xdfffffef in ?? ()
No symbol table info available.
#2  0xddfecb7f in ?? ()
No symbol table info available.
#3  0xbffaffff in ?? ()
No symbol table info available.
#4  0x08098331 in world_horse_initialize () at world_horse.c:318
        land_path = "../../data/horse/personality.csv", '\000' <repeats 223 times>
        i = 0
#5  0x08088662 in sv_initialize (max_world_num=100) at sv.c:167
No locals.
#6  0x080a39c6 in main_initialize () at main.c:158
No locals.
#7  0x080e68bc in svbase_initialize ()
No symbol table info available.
#8  0x080a36c7 in main (argc=1, argv=0xbffff754) at main.c:51
No locals.
(gdb) info frame
Stack level 0, frame at 0xbfff29d8:
 eip = 0x80e38f2 in _mm_set_epi32; saved eip 0xdfffffef
 called by frame at 0xbfff29dc
 Arglist at 0xbfff29d0, args: 
 Locals at 0xbfff29d0, Previous frame's sp is 0xbfff29d8
 Saved registers:
  eip at 0xbfff29d4
Если все правильно понимаю, то ошибка происходит при вызове метода _mm_set_epi32() который относится к Module x86intrin::sse2 - инструкции Intel. Могу быть не прав. При открытии бинарника в IDA был найден участок кода, который вызывает ошибку (1 строка):
mm_set_epi32();
  _mm_store_si128((__m128i *)&v34, a1);
  mm_load_si128();
  _mm_store_si128((__m128i *)&v36, a1);
  mm_load_si128();
  _mm_store_si128((__m128i *)&v35, a1);
Метод: int gen_rand_all(__m128i vallue) <- int gen_rand32(__m128i vallue). То есть, данная часть кода предназначена для генерации случайных Int значений посредством инструкций Intel (но снова, могу ошибаться). В поле flags информации о процессорах поддержка sse2 имеется. Без каких-либо вариантов в чем может быть проблема (грешу на библиотеки, т.к. приложении достаточно старое - 2008-2010 годов). Прошу помощи, если есть желающие, то дам удаленку, либо сам файл приложения для пробного запуска\анализа, за результат само собой будет оплата.

Если дело в библиотеках, то вот список используемых:

.init:0804A868 ; Format      : ELF for Intel 386 (Executable)
.init:0804A868 ; Imagebase   : 8048000
.init:0804A868 ; Interpreter '/lib/ld-linux.so.2'
.init:0804A868 ; Needed Library 'librt.so.1'
.init:0804A868 ; Needed Library 'libm.so.6'
.init:0804A868 ; Needed Library 'libbz2.so.1'
.init:0804A868 ; Needed Library 'libexpat.so.0'
.init:0804A868 ; Needed Library 'libpq.so.3'
.init:0804A868 ; Needed Library 'libmysqlclient.so.14'
.init:0804A868 ; Needed Library 'libz.so.1'
.init:0804A868 ; Needed Library 'libcrypt.so.1'
.init:0804A868 ; Needed Library 'libnsl.so.1'
.init:0804A868 ; Needed Library 'libssl.so.4'
.init:0804A868 ; Needed Library 'libcrypto.so.4'
.init:0804A868 ; Needed Library 'libc.so.6'

NecroMacro ()

Традиционный вопрос про:

1) обновление микрокода

2) использование другой версии ядра

Проблема проявляется при описанных выше пунктах?

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

1. Обновление микрокода не устанавливал.

2. Пробовал на следующем:

CentOS release 5.5 (Final Ядро: Linux 2.6.18-194.el5PAE

CentOS Linux release 7.5.1804 (Core) Ядро: Linux 3.10.0-862.el7.x86_64

NecroMacro ()
Ответ на: комментарий от post-factum

Здравствуйте, я уже успел написать вам письмо на почту. Можно с вами как-либо связаться?

Телеграм\вк\телефон, что угодно, как будет удобно.

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