[Bug 92214] Flightgear crashes during splashboot with R600 driver and mesa 11.0.2

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Oct 1 14:36:25 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=92214

--- Comment #9 from Barto <mister.freeman at laposte.net> ---
with apitrace I found maybe an interesting thing when I replay my trace file
for the bug :

t seems that the function "glRasterPos2i(0,0)" is the last openGL call before
the crash, if I try to run this call in apitrace ( with a double click ) I can
see this error message :

caught an unhandled exception
glretrace+0x23c99c
/usr/lib/libpthread.so.0+0x10d5f
?+0x7f2f764655eb
apitrace: info: taking default action for signal 4

I followed my instinct, I found a C++ source code in google about
glRasterPos2i() function and I compile it in order to test the glRasterPos2i()
function :

#include <iostream>
#include <GL/glut.h>
#include <string>

using namespace std;


void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();

    glColor3ub(255,0,0);
    glPushMatrix();
        glScalef(5,5,5);
        glBegin(GL_QUADS);
            glVertex2f(-1,-1);
            glVertex2f(1,-1);
            glVertex2f(1,1);
            glVertex2f(-1,1);
        glEnd();
    glPopMatrix();

    glColor3ub(0,255,0);    // A
    glRasterPos2i(0,0);     // B

    string tmp( "wha-hey!" );
    for( size_t i = 0; i < tmp.size(); ++i )
    {
        glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, tmp[i]);
    }

    glutSwapBuffers();
}

void reshape(int w, int h)
{
    glViewport(0, 0, w, h);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    double aspect_ratio = (double)w / (double)h;
    glOrtho(-10*aspect_ratio, 10*aspect_ratio, -10, 10, -1, 1);
}

int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE);

    glutInitWindowSize(800,600);
    glutCreateWindow("Text");

    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutMainLoop();
    return EXIT_SUCCESS;
}

If I run this test code I get the same error message : "illegal instruction",

but if I comment the line "glRasterPos2i(0,0);" then there is no bug, the test
program can run and I see a screen with a red square,

I am a newbie in openGL programming but it seems that mesa 11.0.2 has a problem
with "glRasterPos2i()" function if the r600 gallium driver is used ( amd radeon
HD4650 Pcie graphic card )

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20151001/abbc766d/attachment.html>


More information about the dri-devel mailing list