Pregunta

Tengo una aplicación que está construida contra OpenSceneGraph (2.6.1) y, por lo tanto, indirectamente OpenGL. La aplicación se inicializa y comienza a ejecutarse, pero luego aparece la siguiente excepción "intento de ejecutar una secuencia de bloqueo no válida". en OpenGL32.dll. Cuando lo vuelvo a ejecutar, a veces obtengo esta excepción, y a veces una excepción sobre una "instrucción privilegiada". Parece que la pila de llamadas está dañada, por lo que realmente no puedo decir exactamente de dónde se está lanzando la excepción. Ejecuté la aplicación hace un par de días y nunca vi este comportamiento. Desde entonces he agregado una cláusula else a un par de ifs, y eso es todo. Mi aplicación es una aplicación de consola, está construida con Visual Studio 2008 y establece OpenScenGraph en modo SingleThreaded. ¿Alguien ha visto esto antes? ¿Algún consejo de depuración?

¿Fue útil?

Solución

¿Puedes reproducirlo con uno de los ejemplos estándar?
¿Puedes crear una aplicación mínima que cause esto?
¿Tiene una máquina con una tarjeta de video de una marca diferente en la que puede probarla (por ejemplo, Nvidia vs. ATI)? Hay algunos problemas con el OpenScenegraph y los malos controladores de OpenGL.

¿Has intentado publicar en osg-users@lists.openscenegraph.org

Otros consejos

El problema resultó ser que nuestra aplicación estaba recogiendo una versión incorrecta de la DLL de OpenGL, en lugar de la instalada en System32.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top