32-разрядные инструменты Intel Pin - ProcessSectionHeaders: 560: утверждение не удалось - PullRequest
1 голос
/ 16 апреля 2019

Я пытаюсь запустить ManualExamples последней версии инструмента Pin от Intel (3.7-97619) на 32-битной Kali (Linux kali32 4.19.0-kali4-686-pae # 1 SMP Debian4.19.28-2kali1 (2019-03-18) i686 GNU / Linux).

Я мог бы скомпилировать примеры, найденные в source / tools / ManualExamples , используя make TARGET = ia32, но как только я запускаю пример с командой .. / .. / .. / pin -t obj-ia32 / isampling.so - / bin / ls из ManualExamples , как предлагается в документации.Тем не менее, я сталкиваюсь со следующей проблемой:

A: Source/pin/elfio/img_elf.cpp: ProcessSectionHeaders: 560: assertion failed: SEC_vaddr_i(sec) >= IMG_seg_text_vaddr_i(img) && SEC_vaddr_i(sec) < IMG_seg_data_vaddr_i(img)

################################################################################
## STACK TRACE
################################################################################
??? at isampling.so+0x24472 

??? at isampling.so+0x90946 

??? at isampling.so+0x98671 

??? at isampling.so+0x14654d 

??? at isampling.so+0x148b9d 

??? at isampling.so+0x148c50 

??? at isampling.so+0x6f243 

??? at isampling.so+0x4bfab 

_ZN14LEVEL_INJECTOR13UNIX_INJECTEE12StartProgramEb+0x10f at /root/pin/ia32/bin/pinbin+0x3354af 

??? at isampling.so+0x48889 

main+0x97 at isampling.so+0x90d7 

_ZN14LEVEL_INJECTOR13UNIX_INJECTEE9StartToolEv+0x1d2 at /root/pin/ia32/bin/pinbin+0x333f12 

_ZN14LEVEL_INJECTOR13UNIX_INJECTEE29RunMainThreadOnPinStackAttachEPS0_+0x3de at /root/pin/ia32/bin/pinbin+0x3374ee 

Pin: pin-3.7-97619-0d0c92f4f
Copyright (c) 2003-2018, Intel Corporation. All rights reserved.

Aborted

Итак, я решил запустить pin без какого-либо инструмента, используя команду pin - / bin / ls , и она работает.Любая идея, почему я получаю это сообщение об ошибке?

Большое спасибо

1 Ответ

0 голосов
/ 17 мая 2019

После нескольких часов, потраченных на расследование этой проблемы с коллегой, мы не смогли выяснить причину этой ошибки. Мы примерили Кали и Debian, которые были в курсе.

Позже я решил попробовать старую виртуальную машину Ubuntu с ядром 4.15.0-47-generic, и это сработало! Точнее:

➜  ~ uname -a
Linux gpu 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
➜  ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:    18.04
Codename:   bionic

Я не пробовал новую версию Ubuntu, поэтому не могу сказать, что это связано с новым программным компонентом, таким как более новая версия ядра. Поэтому мой обходной путь - использовать более старую версию ядра, не имея уверенности, что именно это и вызвало проблему.

Любой ответ на дальнейшее расследование в этой ветке, который лучше определит проблему, будет помечен как ответ.

...