Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Access Violation (idg10iumd64.dll)  (Read 5953 times)

0 Members and 1 Guest are viewing this topic.

Fear

  • Newbie
  • *
  • Posts: 6
    • View Profile
Access Violation (idg10iumd64.dll)
« on: September 22, 2015, 05:05:23 am »
Alright, I've spent hours trying to find the cause for this error. This will occur at some time during the main program loop - usually from 2 to 10 loops will trigger this to happen:

#include "SFML\Graphics.hpp"

int main()
{
        sf::RenderWindow window(sf::VideoMode(800, 400), "hi");

        while (window.isOpen())
        {
                sf::Event e;
                while (window.pollEvent(e))
                {
                        if (e.type == sf::Event::Closed)
                                window.close();
                }
                window.clear(sf::Color::Black);
                window.display();
        }


        return 0;
}



For context, this error has followed me through two different versions of SFML since I encountered it this morning: 2.2 and 2.3.2.
I have tried the builds from the download page and my own builds from the source, neither seem to affect this issue.
Additionally, I've tried using both 32 bit and 64 bit builds on both of the aforementioned sfml versions.
I've also tried using both static and dynamic linking (debug) both with 32 and 64 bit on both versions.
Yes, I did change my settings to adjust for the different build versions.

From what I can gather, this error might be somehow related to my graphics card (Intel(R) HD Graphics 4000).

I have a hunch this error is related to my upgrade to Windows 10. Certainly, I never had anything like this on 8.1.

Here are all my project settings etc:
https://imgur.com/a/j4670/all

If anybody can shed some light onto what is happening, your help would be greatly appreciated.
Alternatively, if you can show me some way of debugging this issue myself, that would also be welcome.
« Last Edit: September 22, 2015, 05:00:19 pm by Fear »

GraphicsWhale

  • Full Member
  • ***
  • Posts: 131
    • View Profile
Re: Access Violation (idg10iumd64.dll)
« Reply #1 on: September 22, 2015, 05:29:33 am »
From what I can gather, this error might be somehow related to my graphics card (Intel(R) HD Graphics 4000).

Probably is. Try updating your drivers.

This appears to be the driver you'd need (and I'm assuming you use 64 bit Windows), but I can't guarantee anything:
https://downloadcenter.intel.com/download/25308/Intel-Iris-Iris-Pro-and-HD-Graphics-Driver-for-4th-Gen-Windows-10-64bit

Fear

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Access Violation (idg10iumd64.dll)
« Reply #2 on: September 22, 2015, 05:59:30 am »
My graphics drivers are up to date, and the page you linked is not for the graphics card I have.

GraphicsWhale

  • Full Member
  • ***
  • Posts: 131
    • View Profile
Re: Access Violation (idg10iumd64.dll)
« Reply #3 on: September 22, 2015, 04:40:06 pm »
Have you tried reinstalling your drivers?

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Access Violation (idg10iumd64.dll)
« Reply #4 on: September 22, 2015, 04:47:31 pm »
How did you verify they're up-to-date? Keep in mind that the Windows device manager is not reliable in that respect. You need to consult the manufacturer's homepage. Never download drivers from inofficial sources.

What's the callstack of that access violation? Does it always occur at the same place?

And, most importantly, are you absolutely sure that everything is linked correctly, with the correct compiler versions, flags and configurations? You don't mix anything between SFML and your project? I'm asking because there have been many threads here where people were allegedly sure, and after 2 pages of discussion it was a silly overlook in the tutorial ;) so please double- and triple-check your configuration.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Fear

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Access Violation (idg10iumd64.dll)
« Reply #5 on: September 22, 2015, 04:59:58 pm »
How did you verify they're up-to-date? Keep in mind that the Windows device manager is not reliable in that respect. You need to consult the manufacturer's homepage. Never download drivers from inofficial sources.

What's the callstack of that access violation? Does it always occur at the same place?

And, most importantly, are you absolutely sure that everything is linked correctly, with the correct compiler versions, flags and configurations? You don't mix anything between SFML and your project? I'm asking because there have been many threads here where people were allegedly sure, and after 2 pages of discussion it was a silly overlook in the tutorial ;) so please double- and triple-check your configuration.

Ok, I installed Intel's own driver update utility, however when it tries to update my drivers, at some point during the installation my screen will go black (although I can still see my mouse?), and I have to turn my laptop off and back on.

As for configuration issues, I linked an imgur gallery showing all of my configuration, even images of the directories I'm using. Just to check, I tried running an older project of mine which uses opengl and sfml, and got the exact same issue. This issue has never occurred to me before.
Additionally, I'm usually able to run my project once with no issue. In fact, this problem is very intermittent, it will usually break, but not always. If it doesn't crash within the first second, it won't crash again.

Finally, after playing around with it, it seems that the error occurs on the 'window.display()' method.

Here is the call stack I can see when the breakpoint is hit

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Access Violation (idg10iumd64.dll)
« Reply #6 on: September 22, 2015, 05:14:20 pm »
Ok, I installed Intel's own driver update utility, however when it tries to update my drivers, at some point during the installation my screen will go black (although I can still see my mouse?), and I have to turn my laptop off and back on.
How long have you waited? Since we're talking about the graphics driver, it's not unusual that graphics functionality may be interrupted for some time during installation. You should really try that again, and if it doesn't work, try a different driver/installation tool. If it is indeed a problem with the graphics driver, there's not much else that we can do. Sometimes even reverting to an older version helps.

The callstack seems to be from a Release build, right? I can see no SFML or OpenGL functions, only system and driver calls.

Thanks for providing your configuration. The link is broken (I needed to remove the "/all"). It looks like you're building a x64 application with Visual Studio 2013. Have you also compiled SFML for x64, again with VS 2013? Your CMake settings would also be interesting, for that exact build of course. GLEW_STATIC is no longer needed.

Are you linking the C++ standard/runtime libraries statically (because of the "static-std" directory)? If so, try it dynamically.

By the way, please avoid full quotes, they make threads unreadable.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Fear

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Access Violation (idg10iumd64.dll)
« Reply #7 on: September 22, 2015, 06:35:37 pm »
No, this is a Debug build.
Again, I'd like to stress that this error is not dependant on whether I build for release, debug, static or dynamic.
As I said in my previous post, this error is now occurring on sfml projects which previously had no issues - even if my current project was somehow misconfigured, these others would not be.

I managed to update my drivers finally, to no effect.
Incidentally, the update manager now offers to download the driver software which is apparently the exact same version as mine.
https://i.gyazo.com/0e6b49bd286686746d18d0fe55a37951.png

No, the std libraries are not being statically linked.

Sorry about the quote.

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Access Violation (idg10iumd64.dll)
« Reply #8 on: September 22, 2015, 07:00:19 pm »
Hmm... Does this problem also appear in other OpenGL applications? Most Windows apps and games use DirectX, but maybe you happen to have/download a few OpenGL ones?
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Fear

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Access Violation (idg10iumd64.dll)
« Reply #9 on: September 22, 2015, 07:07:32 pm »
Ah yes, the intermittent nature of this bug made me think it was just dependant on my projects, but I tried opening osu! four or so times and it crashed in the same way (you can set osu! to use OpenGL as the renderer).

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Access Violation (idg10iumd64.dll)
« Reply #10 on: September 22, 2015, 07:14:28 pm »
So it's definitely the OpenGL driver. Unfortunately I don't have a recipe to deal with a broken driver other than trying another one :-\

As I mentioned earlier, sometimes it even helps to downgrade to an earlier driver version. You can also try to search if other people have had the same problem with that graphics card or driver.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Fear

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Access Violation (idg10iumd64.dll)
« Reply #11 on: September 22, 2015, 10:50:47 pm »
This error was caused by Windows 10.
I'm not sure if it was because W10 force updated my Intel drivers or something stupid, but I've reverted back to 8.1 and now everything is working perfectly again.

From what I can gather, W10 updates Intel drivers to a new version which doesn't support OpenGL 2.0+, or something ridiculous like that.