Hi guys,
We have an application running fine for most of our users. It’s been tested on Windows XP, 7, 8, 8.1 and 10. Most of our users can run it fine, but a very few of them experience crashes for all of the time at the same point.
We start up the application, load some files and display them as textures. After pressing a button, we change the text displayed on a one of the gui elements. The issue is either of the following two functions crashes:
- SDL_CreateTextureFromSurface
- SDL_ConvertSurface
We have a ResourceManager object which manages all the SDL calls, and works fine for all the program for most of our users, but it looks like to be causing issues on a few of them. We are correctly guarding against NULL pointers, etc…
The question is, under what circumstances these calls can crash in an access violation?
Attached some info from windbg:
EXCEPTION_RECORD: ffffffff – (.exr 0xffffffffffffffff)
ExceptionAddress: 009f7bf1 (program!SDL_CreateTextureFromSurface+0x00000051)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000019
Attempt to read from address 00000019
DEFAULT_BUCKET_ID: NULL_CLASS_PTR_READ
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
BUGCHECK_STR: APPLICATION_FAULT_NULL_CLASS_PTR_READ
Thank you for your answers!------------------------
ePic Character Generator - endless character stream in your games using SDL 2.0:
Teaser video: