Problem mit OpenGL-Rendering Methode (Aufruf von Ig4icd32.dll)



  • Hallo Leute,
    Ich habe ein Problem in meinem C++ Projekt, was sich meiner Vermutung nach auf OpenGL bezieht.
    Mein Laptop hat Windows 7 (64bit) drauf einen Celeron – Prozessor mit 2.13 Ghz und eine GMA X3100 Grafikkarte.
    Ich benutze Visual Studio 2010.

    Mein Projekt:
    Benutzt OpenCV und die Ogre SDK. Es ist eine Art virtuelle Welt mit Billboards Meshs Interaktion usw.
    Als Renderingsystem hab ich OpenGL eingestellt.
    Andere Projekte die einfache Translationen mit OpenGL- Befehlen vornehmen funktionieren auch ganz normal.
    Das Projekt läuft auf meinem Hauptrechner einwandfrei, jetzt möchte ich es auch auf meinem Laptop zum laufen bringen und stoße auf folgendes Problem.

    Das Problem:
    Im Debug-Mode kompiliert es ganz normal doch wenn er es anzeigen will kommt kurz das Fenster und dann die Unbehandelte Ausnahme bei 0x03ff0138 in Projekt.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xfeeeff6e.
    Wenn ich diese Ausnahme unterbreche zeigt er an: Es ist keine quelle verfügbar.
    Es sind keine symbole für aufruflistenrahmen geladen. Der quellcode kann nicht angezeigt werden
    Aufruflistenort: Ig4icd32.dll
    Wenn ich das Dissassembly anzeigen lasse steht er bei der Stelle:

    03D80138 cmp dword ptr [eax+80h],esi

    Im Release-Mode kommt der selbe Fehler, jedoch ist hier der Ursprung wohl die mscvr100.dll. beim unterbrechen der Ausnahmebehandlung springt er dann in die free.c . Dort steht:
    RTCCALLBACK(_RTC_Free_hook, (pBlock, 0));

    retval = HeapFree(_crtheap, 0, pBlock);
    if (retval == 0)
    {
    errno = _get_errno_from_oserr(GetLastError());
    }
    }
    Wobei hier der Pfeil auf dem if-Befehl steht.

    Gescheiterte Lösungsversuche:
    Treiber der Grafikkarte aktualisiert, neuinstalliert, alten Treiber aufgesetzt.
    Pathvariablen neu gesetzt.
    Ig4icd32.dll ersetzt. (wobei ich hier Probleme mit der Registrierung hatte)

    Könnt Ihr was mit dem Fehler anfangen und mir evtl. Lösungsvorschläge geben?

    Vielen Dank im Voraus und frohe Feiertage.

    Grüße Thomas



  • Ich würde bei sowas ja immer bei mir selbst den Fehler zuerst suchen, also den Stack hochwandern, beim Debuggen.


  • Mod

    nulp3 schrieb:

    und eine GMA X3100 Grafikkarte...

    darauf wollten bei mir nichtmal die sdk samples laufen, als der erste dx10 treiber rauskam 😞

    Projekt.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xfeeeff6e.

    das bedeutet dass auf einen freigegebenen speicher nochmal indiziert wird, und zwar mit 128.

    03D80138 cmp dword ptr [eax+80h],esi

    genau so 🙂

    Im Release-Mode kommt der selbe Fehler, jedoch ist hier der Ursprung wohl die mscvr100.dll. beim unterbrechen der Ausnahmebehandlung springt er dann in die free.c . Dort steht:
    RTCCALLBACK(_RTC_Free_hook, (pBlock, 0));

    retval = HeapFree(_crtheap, 0, pBlock);
    if (retval == 0)
    {
    errno = _get_errno_from_oserr(GetLastError());
    }
    }
    Wobei hier der Pfeil auf dem if-Befehl steht.

    zeigt also dass, dass was mit speicher schiefgeht.

    Gescheiterte Lösungsversuche:
    Treiber der Grafikkarte aktualisiert, neuinstalliert, alten Treiber aufgesetzt.
    Pathvariablen neu gesetzt.
    Ig4icd32.dll ersetzt. (wobei ich hier Probleme mit der Registrierung hatte)

    Könnt Ihr was mit dem Fehler anfangen und mir evtl. Lösungsvorschläge geben?

    naja, da blindes versuchen jetzt nicht mehr weiterhilft, musst du wohl von hand debuggen. bau immer mehr aus bis du eine version hast die noch laeuft. irgendwo dazwischen ist dann der grund weshalb es abstuertzt.


Anmelden zum Antworten