Выполнение зависает при вызове PAPI_start_counters

Я столкнулся со странной проблемой, когда программа зависает при вызове функции PAPI_start_counters.

Например, когда я использую код из здесь и после компиляции как «gcc -o papitest high_level.c -lpapi» и запуска ./papitest я получаю вывод: В этой системе 11 счетчиков а потом ничего. Если я попытаюсь убить программу с помощью Ctrl + C, ничего не произойдет, а также ничего не произойдет с kill -9. Моя система такова:

Операционная система: Debian GNU / Linux 8 (jessie) Ядро: Linux 3.16.0-5-amd64 Архитектура: x86-64 С 32 ядрами процессора Intel (R) Xeon (R) E5-4603 v2 @ 2,20 ГГц

Я помню, как раньше использовал PAPI на том же сервере с более старым ядром.

Обновлено: вот что появляется при запуске dmesg:

[ 2039.025224] INFO: task papitest:2022 blocked for more than 120 seconds.
[ 2039.025284]       Tainted: G         C    3.16.0-5-amd64 #1
[ 2039.025335] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 2039.025421] papitest        D ffff88081daf0050     0  2022   2008 0x00000000
[ 2039.025427]  ffff88081fb180d0 0000000000000086 0000000000013b40 ffff88081e823fd8
[ 2039.025431]  0000000000013b40 ffff88081daf0050 ffff88103f4619f8 ffff88081e823de0
[ 2039.025435]  ffff88103f4619fc ffff88081daf0050 00000000ffffffff ffff88103f461a00
[ 2039.025439] Call Trace:
[ 2039.025447]  [<ffffffff815227c5>] ? schedule_preempt_disabled+0x25/0x70
[ 2039.025452]  [<ffffffff81524263>] ? __mutex_lock_slowpath+0xd3/0x1d0
[ 2039.025457]  [<ffffffff81133fc0>] ? remote_function+0x40/0x50
[ 2039.025461]  [<ffffffff8152437b>] ? mutex_lock+0x1b/0x2a
[ 2039.025466]  [<ffffffff81134800>] ? perf_event_read_value+0x30/0xd0
[ 2039.025470]  [<ffffffff811348cd>] ? __perf_read_group_add+0x2d/0x190
[ 2039.025475]  [<ffffffff81136e1a>] ? _perf_event_disable+0x5a/0xb0
[ 2039.025479]  [<ffffffff8113500f>] ? perf_read+0xbf/0x250
[ 2039.025483]  [<ffffffff811afca3>] ? vfs_read+0x93/0x170
[ 2039.025486]  [<ffffffff811b08d2>] ? SyS_read+0x42/0xa0
[ 2039.025492]  [<ffffffff81525c00>] ? system_call_fast_compare_end+0x10/0x15

Вы использовали отладчик? Какой стек у приложения пока зависает?

Zulan 02.05.2018 15:49

Я не знаю, как это сделать, так как я не могу прервать выполнение программы, например, чтобы выполнить команду "where" в gdb

dbilid 02.05.2018 16:19

Просто запустите программу с gdb ./a.out и прервите ее, нажав ctrl + c.

Zulan 02.05.2018 18:26

Я не могу сделать это. Программа не отвечает на прерывание, а также, если я убью терминал, процесс перестает работать.

dbilid 02.05.2018 19:18

Вы пробовали именно то, что я предложил? Обычно gdb получает прерывание и сообщает вам о стеке программы.

Zulan 02.05.2018 19:33

Да, пробовал, но ничего не получается. Кстати, я добавил сообщения ядра на случай, если это поможет

dbilid 02.05.2018 22:07

Похоже на тупик в ядре. Разве Джесси не должно быть хотя бы на 3.16.56-1?

Zulan 03.05.2018 09:38

Да, должно. У меня возникла проблема с пакетом, из-за которого я задерживал обновление dist. Я исправил это, но проблема осталась с ядром 3.16.56-1. С другой стороны, обновление до Debian 9 с ядром 4.9.88-1 решает проблему.

dbilid 04.05.2018 12:59
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
8
59
0

Другие вопросы по теме