Ошибка неверной последовательности блокировки в приложении OpenSceneGraph - PullRequest
0 голосов
/ 11 ноября 2008

У меня есть приложение, созданное на основе OpenSceneGraph (2.6.1) и, следовательно, косвенно OpenGL. Приложение инициализируется и начинает работать, но затем я получаю следующее исключение «была предпринята попытка выполнить недопустимую последовательность блокировки» в OpenGL32.dll. Когда я перезапускаю его, я иногда получаю это исключение, а иногда исключение о «привилегированной инструкции». Стек вызовов выглядит так, как будто он поврежден, поэтому я не могу точно сказать, откуда выбрасывается исключение. Я запускал приложение несколько дней назад и никогда не видел такого поведения. С тех пор я добавил условие else к паре ifs, и это все. Мое приложение представляет собой консольное приложение, созданное с помощью Visual Studio 2008, и оно устанавливает OpenScenGraph в режим SingleThreaded. Кто-нибудь видел это раньше? Любые советы по отладке?

Ответы [ 2 ]

1 голос
/ 11 ноября 2008

Можете ли вы воспроизвести его на одном из стандартных примеров?
Можете ли вы создать минимальное приложение, которое вызывает это?
У вас есть машина с видеокартой другой марки, на которой вы можете ее протестировать (например, Nvidia против ATI), есть некоторые проблемы с openscenegraph и плохими драйверами OpenGL.

Вы пробовали отправлять сообщения на адрес osg-users@lists.openscenegraph.org

0 голосов
/ 25 ноября 2008

Проблема оказалась в том, что наше приложение подбирало неверную версию библиотеки OpenGL вместо установленной в System32.

...