Отказ от ответственности : Это не решение, а какой-то шаг, который может помочь вам определить или решить проблему.
Что еще больше убивает игру и запускает ее снова?t help
Это означает, что вы, скорее всего, столкнулись с проблемой уровня драйвера.Любая проблема приложения будет исправлена путем ее перезапуска (при условии, что ваше приложение работает так же).И тот факт, что он зависает, плюс ссылки на sem_waitcommon
и просмотр стека, конечно, означает, что вы попали в тупик, исходящий из libbrcmEGL.so
, видеодрайвера.Плохая новость заключается в том, что ошибки в видеодрайвере случаются, их может быть довольно сложно решить, и, поскольку драйвер является закрытым исходным кодом, вы не сможете исправить его самостоятельно или исправить его сообществом ...
Мне не удалось найти проблему, точно совпадающую с вашей, которая может указывать на ошибку, которая еще не идентифицирована, из-за конкретной комбинации программного обеспечения и используемой вами версии:
- Ваш текущийдистрибутив: kernel, glibc, версия прошивки cbrm
- Ваш движок: SFML, SFML PI
- И тот факт, что вы используете EGL, а не X11
Ниже приведенынекоторые шаги, начиная с самого простого
Peek at dmesg
Это очень простой первый шаг, который может дать ценную информацию.Когда проблема возникает, после первого и второго зависания, посмотрите, появляется ли что-нибудь.Здесь будет поднята любая важная проблема, и вы сможете пролить свет на вашу проблему.
Сообщить об ошибке
Первый шаг, вероятно, - сообщить о проблеме в raspberrypi / linux , с MVE.Это может занять некоторое время, но, возможно, вам лучше всего решить эту проблему, поскольку встроенное программное обеспечение графического процессора (Videocore IV, как libbrcmEGL.so
) является закрытым.
SFML / SFML PI
Ваша ошибка, вероятно, связана с определенным набором операций над драйвером, который в итоге вызывает ошибку, которую вы видите.Я бы порекомендовал сократить ваш код до минимума, чтобы попытаться определить причину проблемы.К сожалению, тот факт, что это происходит случайно, не поможет.Даже если это, вероятно, не решит основную проблему, вы можете обойти ее.
Попробуйте другую версию SFML
Либо обновите, либо понизьте версию SFML и SFML PI.Используем.Опять же, это не решит проблему с ядром, но может ее избежать.
Прошивка старого дистрибутива Raspbian
Если это регрессия в видеодрайвере, вы можете исправить этопрошивая старую версию дистрибутива, от здесь
Чтобы минимизировать усилия, вы можете попробовать вручную извлечь другую версию libEGL*
и libbrcmEGL.so
из raspberry /прошивка , но вы можете столкнуться с проблемами совместимости с их зависимостями.
Переключиться на X11
Я знаю ... EGL определенно даст вам лучшую производительность, и вы, вероятно, ненужен этот рабочий стол и состав.Но, учитывая более широкое сообщество и использование, скорее всего, вы столкнетесь с гораздо меньшими проблемами.И поскольку он использует libbrcmGLESv2.so
, вам гарантированно, что тот же (возможно, ошибочный) код не будет выполнен.