#4734 closed defect (needsinfo)
Crash if GLSL is enabled
Reported by: | kf30 | Owned by: | |
---|---|---|---|
Priority: | Must Have | Milestone: | |
Component: | Core engine | Keywords: | |
Cc: | Patch: |
Description
Much to our regret we must report the program has encountered an error.
Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.
Details: unhandled exception (Access violation writing 0x0446D904)
Location: unknown:0 (?)
Call stack:
(error while dumping stack: No stack frames found) errno = 34 (?) OS error = 487 (Attempt to access invalid address.)
Attachments (2)
Change History (19)
by , 7 years ago
Attachment: | crashlog.txt added |
---|
by , 7 years ago
Attachment: | crashlog.dmp added |
---|
comment:1 by , 7 years ago
comment:3 by , 7 years ago
> ig4icd32.dll!1569b6c9() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for ig4icd32.dll] pyrogenesis.exe!CShaderProgram::Uniform(CStrIntern id={...}, const CVector3D & v={...}) Line 745 C++ pyrogenesis.exe!TerrainRenderer::PrepareShader(const std::shared_ptr<CShaderProgram> & shader, ShadowMap * shadow=0x1811acc0) Line 475 C++ pyrogenesis.exe!CPatchRData::RenderBlends(const std::vector<CPatchRData *,std::allocator<CPatchRData *> > & patches, const CShaderDefines & context, ShadowMap * shadow=0x1811acc0, bool isDummyShader=false, const std::shared_ptr<CShaderProgram> & dummy={...}) Line 1014 C++ pyrogenesis.exe!TerrainRenderer::RenderTerrainShader(const CShaderDefines & context={...}, int cullGroup=-1010818308, ShadowMap * shadow=0x1811acc0) Line 511 C++ pyrogenesis.exe!CRenderer::RenderPatches(const CShaderDefines & context={...}, int cullGroup=3) Line 942 C++ pyrogenesis.exe!CRenderer::RenderRefractions(const CShaderDefines & context={...}, const CBoundingBoxAligned & scissor={...}) Line 1305 C++ pyrogenesis.exe!CRenderer::RenderSubmissions(const CBoundingBoxAligned & waterScissor={...}) Line 1517 C++ pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1885 C++ pyrogenesis.exe!CGameView::Render() Line 489 C++ pyrogenesis.exe!Render() Line 228 C++ pyrogenesis.exe!Frame() Line 372 C++ pyrogenesis.exe!RunGameOrAtlas(int argc=1, const char * * argv=0x00190008) Line 581 C++ pyrogenesis.exe!SDL_main(int argc=1, char * * argv=0x00190008) Line 623 C++ pyrogenesis.exe!main_utf8(int argc=1, char * * argv=0x00190008) Line 126 C pyrogenesis.exe!wmain(int argc=1, unsigned short * * wargv=0x00761170, unsigned short * wenvp=0x00762a38) Line 151 C pyrogenesis.exe!__tmainCRTStartup() Line 623 C pyrogenesis.exe!CallStartupWithinTryBlock() Line 364 C++ kernel32.dll!@BaseThreadInitThunk@12 () Unknown ntdll.dll!___RtlUserThreadStart@8 () Unknown ntdll.dll!__RtlUserThreadStart@8 () Unknown
Looking at the log I'd suggest you disable GLSL and postprocessing.
follow-up: 16 comment:4 by , 7 years ago
Milestone: | Backlog → Alpha 23 |
---|---|
Priority: | Should Have → Release Blocker |
Summary: | unhandled exception → Crash if GLSL is enabled |
Assuming this is the same GLSL issue everyone else has, tagging this as a release blocker (that might be set back to must-have).
Another report of that here https://wildfiregames.com/forum/index.php?/topic/22804-game-crash/
comment:5 by , 7 years ago
In #4739:
do this: http://www.techadvisor.co.uk/how-to/pc-components/how-set-default-graphics-card-3612668/ after doing that i'm now able to alt+tab as i like, so at least tell them a guide about that until you fix the intel 4k+ problem
comment:6 by , 7 years ago
Call stack reported here https://wildfiregames.com/forum/index.php?/topic/22804-game-crash/&page=2
> pyrogenesis.exe! PerformErrorReaction (ErrorReactionInternal, er=ERI_BREAK, unsigned, int, flags=0, volatile, int * suppress=0x00000000)line 426 C++ Pyrogenesis.exe! Debug_DisplayError (const wchar_t * description=0x0138e158 unsigned, int flags=0, void * context=0x0138ed18, const * wchar_t lastFuncToSkip=0x011dc150 wchar_t * pathname=0x0138e670 int, const, line=0, const, char * func= 0x0138d150 volatile * suppress=0x00000000, int) for 483 C++ Pyrogenesis.exe! Wseh_ExceptionFilter (_EXCEPTION_POINTERS * ep=0x0138e7e4) line 289 C++ Pyrogenesis.exe! CallStartupWithinTryBlock () line 365 C++ [external code] [the following frames may be incorrect and / or missing, no symbols loaded for ntdll.dll] Pyrogenesis.exe... CShaderProgram:: Uniform (CStrIntern, id={,}, float, v0=-1.#QNAN000, float, v1=4.764e-044#DEN, float, v2=3.44938300e-010, float, v3=1.01771369e-010) line 755 C++ Pyrogenesis.exe! CShaderProgram:: Uniform (CStrIntern id={...}, unsigned, int, count=34, const, CMatrix3D * v=0x2fbda1c0) line 765 C++ Pyrogenesis.exe! InstancingModelRenderer:: RenderModel (const std:: shared_ptr<CShaderProgram> & shader={...}, int, __formal=1, CModel * model=0x2f7a0ec0, CModelRData * __formal=0x306e2ba0) line 376 C++ Pyrogenesis.exe! ShaderModelRenderer:: Render (const std:: shared_ptr<RenderModifier> & modifier={...}, const, CShaderDefines & context={...}, int, cullGroup=1, int, flags=1) line 765 C++ Pyrogenesis.exe! CRendererInternals:: CallModelRenderers (const, CShaderDefines & context={,}, int, cullGroup=1, int, flags=1) line 379 C++ Pyrogenesis.exe! CRenderer:: RenderShadowMap (const CShaderDefines & context={...}) line 910 C++ Pyrogenesis.exe! CRenderer:: RenderSubmissions (const CBoundingBoxAligned & waterScissor={...}) line 1501 C++ Pyrogenesis.exe! CRenderer:: RenderScene (Scene & scene={...}) line 1885 C++ Pyrogenesis.exe! CGameView:: Render () line 489 C++ Pyrogenesis.exe! Render () line 228 C++ Pyrogenesis.exe! CGame:: ReallyStartGame () line 322 C++ Pyrogenesis.exe! ProgressiveLoad () line 233 C++ Pyrogenesis.exe! Frame () line 322 C++ Pyrogenesis.exe! RunGameOrAtlas (int, argc=1, const, char * * argv=0x03370008) line 581 C++ Pyrogenesis.exe! SDL_main (int, argc=1, char * * argv=0x03370008) line 623 C++ Pyrogenesis.exe! Main_utf8 (int, argc=1, char * * argv=0x03370008) line 126 C++ Pyrogenesis.exe! Wmain (int, argc=1, unsigned, short * *, wargv=0x015d5730, unsigned, short * wenvp=0x015e71f8) line 151 C++ [external code] Pyrogenesis.exe! CallStartupWithinTryBlock () line 364 C++ [external code]
comment:8 by , 7 years ago
@elexis We need Yves Updates the new features of OpenGL in the 0AD code, let it support OpenGL4.0 or 4.4.
comment:9 by , 6 years ago
Crash from #4861 Works better when vs wants to work.
> ig8icd32.dll!6ffd8301() Unknown No symbols loaded. [Frames below may be incorrect and/or missing, no symbols loaded for ig8icd32.dll] Annotated Frame pyrogenesis.exe!CShaderProgramGLSL::Link() Line 380 C++ Symbols loaded. pyrogenesis.exe!CShaderProgramGLSL::Reload() Line 465 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::NewProgram(const char * name, const CShaderDefines & baseDefines, std::shared_ptr<CShaderProgram> & program) Line 271 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::LoadProgram(const char * name, const CShaderDefines & defines) Line 68 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::NewEffect(const char * name, const CShaderDefines & baseDefines, std::shared_ptr<CShaderTechnique> & tech) Line 545 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::LoadEffect(CStrIntern name, const CShaderDefines & defines1, const CShaderDefines & defines2) Line 369 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::LoadEffect(CStrIntern name) Line 351 C++ Symbols loaded. pyrogenesis.exe!OverlayRenderer::RenderForegroundOverlays(const CCamera & viewCamera) Line 605 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderSubmissions(const CBoundingBoxAligned & waterScissor) Line 1608 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1885 C++ Symbols loaded. pyrogenesis.exe!CGameView::Render() Line 489 C++ Symbols loaded. pyrogenesis.exe!Render() Line 228 C++ Symbols loaded. pyrogenesis.exe!CGame::ReallyStartGame() Line 322 C++ Symbols loaded. pyrogenesis.exe!ProgressiveLoad() Line 233 C++ Symbols loaded. pyrogenesis.exe!Frame() Line 322 C++ Symbols loaded. pyrogenesis.exe!RunGameOrAtlas(int argc, const char * * argv) Line 581 C++ Symbols loaded. pyrogenesis.exe!SDL_main(int argc, char * * argv) Line 623 C++ Symbols loaded. pyrogenesis.exe!main_utf8(int argc, char * * argv) Line 126 C Symbols loaded. pyrogenesis.exe!wmain(int argc, unsigned short * * wargv, unsigned short * wenvp) Line 151 C Symbols loaded. [External Code] Annotated Frame pyrogenesis.exe!CallStartupWithinTryBlock() Line 364 C++ Symbols loaded. [External Code] Annotated Frame
comment:10 by , 6 years ago
Call stack from #4953
> ig9icd32.dll!62a48b21() Unknown No symbols loaded. [Frames below may be incorrect and/or missing, no symbols loaded for ig9icd32.dll] Annotated Frame pyrogenesis.exe!CShaderProgramGLSL::Link() Line 380 C++ Symbols loaded. pyrogenesis.exe!CShaderProgramGLSL::Reload() Line 465 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::NewProgram(const char * name, const CShaderDefines & baseDefines, std::shared_ptr<CShaderProgram> & program) Line 271 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::LoadProgram(const char * name, const CShaderDefines & defines) Line 68 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::NewEffect(const char * name, const CShaderDefines & baseDefines, std::shared_ptr<CShaderTechnique> & tech) Line 545 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::LoadEffect(CStrIntern name, const CShaderDefines & defines1, const CShaderDefines & defines2) Line 369 C++ Symbols loaded. pyrogenesis.exe!CShaderManager::LoadEffect(CStrIntern name) Line 351 C++ Symbols loaded. pyrogenesis.exe!SkyManager::RenderSky() Line 262 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderSubmissions(const CBoundingBoxAligned & waterScissor) Line 1526 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1885 C++ Symbols loaded. pyrogenesis.exe!CGameView::Render() Line 489 C++ Symbols loaded. pyrogenesis.exe!Render() Line 228 C++ Symbols loaded. pyrogenesis.exe!CGame::ReallyStartGame() Line 322 C++ Symbols loaded. pyrogenesis.exe!ProgressiveLoad() Line 233 C++ Symbols loaded. pyrogenesis.exe!Frame() Line 322 C++ Symbols loaded. pyrogenesis.exe!RunGameOrAtlas(int argc, const char * * argv) Line 581 C++ Symbols loaded. pyrogenesis.exe!SDL_main(int argc, char * * argv) Line 623 C++ Symbols loaded. pyrogenesis.exe!main_utf8(int argc, char * * argv) Line 126 C Symbols loaded. pyrogenesis.exe!wmain(int argc, unsigned short * * wargv, unsigned short * wenvp) Line 151 C Symbols loaded. [External Code] Annotated Frame pyrogenesis.exe!CallStartupWithinTryBlock() Line 364 C++ Symbols loaded. [External Code] Annotated Frame
comment:11 by , 6 years ago
Is it correct it only (or mostly) affects intel graphics? If so, a quick and dirty solution could be disabling glsl for intel graphics by default.
follow-up: 13 comment:12 by , 6 years ago
Another call stack, slightly different, but same driver as before. (I made a dll bank to get hexa code). Maybe someone from Intel could tell us more, but I don't have that kind of friends.
I do know some people that work at Intel though :)
> ig8icd32.dll!635fcaa1() Unknown No symbols loaded. [Frames below may be incorrect and/or missing, no symbols loaded for ig8icd32.dll] Annotated Frame ig8icd32.dll!635ff083() Unknown No symbols loaded. ig8icd32.dll!635f7b6a() Unknown No symbols loaded. ig8icd32.dll!637b424b() Unknown No symbols loaded. kernel32.dll!_GlobalFreeStub@4 () Unknown Non-user code. Symbols loaded. ig8icd32.dll!639f1d8b() Unknown No symbols loaded. ig8icd32.dll!6360279e() Unknown No symbols loaded. ig8icd32.dll!635f623e() Unknown No symbols loaded. ig8icd32.dll!637afc1d() Unknown No symbols loaded. [Inline Frame] msvcr120.dll!_heap_alloc(unsigned int) Line 57 C Non-user code. Symbols loaded. msvcr120.dll!malloc(unsigned int size=0x2a1b24a0) Line 92 C Non-user code. Symbols loaded. msvcr120.dll!operator new(unsigned int size=0x000000ef) Line 59 C++ Non-user code. Symbols loaded. 000000e6() Unknown Non-user code
comment:13 by , 6 years ago
Replying to stanislas69:
Another call stack, slightly different, but same driver as before. (I made a dll bank to get hexa code). Maybe someone from Intel could tell us more, but I don't have that kind of friends.
Do we have someone, who can stable reproduce the problem? We need to try run it in Debug mode and try to write to Intel.
comment:14 by , 6 years ago
Stack trace of #5063
> atioglxx.dll!15117b3d() Unknown No symbols loaded. [Frames below may be incorrect and/or missing, no symbols loaded for atioglxx.dll] Annotated Frame kernel32.dll!_HeapFree@12 () Unknown Non-user code. Symbols loaded. pyrogenesis.exe!CPostprocManager::ApplyBlurDownscale2x(unsigned int inTex=0x00000005, unsigned int outTex=0x00000007, int inWidth=0x00000320, int inHeight=0x000001c2) Line 249 C++ Symbols loaded. pyrogenesis.exe!CPostprocManager::ApplyBlur() Line 351 C++ Symbols loaded. pyrogenesis.exe!CPostprocManager::ApplyPostproc() Line 502 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderSubmissions(const CBoundingBoxAligned & waterScissor) Line 1579 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1885 C++ Symbols loaded. pyrogenesis.exe!CGameView::Render() Line 489 C++ Symbols loaded. pyrogenesis.exe!Render() Line 228 C++ Symbols loaded. pyrogenesis.exe!CGame::ReallyStartGame() Line 322 C++ Symbols loaded. pyrogenesis.exe!ProgressiveLoad() Line 233 C++ Symbols loaded. pyrogenesis.exe!Frame() Line 322 C++ Symbols loaded. pyrogenesis.exe!RunGameOrAtlas(int argc=0x00000001, const char * * argv=0x00430008) Line 581 C++ Symbols loaded. pyrogenesis.exe!SDL_main(int argc=0x00000001, char * * argv=0x00430008) Line 623 C++ Symbols loaded. pyrogenesis.exe!main_utf8(int argc=0x00000001, char * * argv=0x00430008) Line 126 C Symbols loaded. pyrogenesis.exe!wmain(int argc=0x00000001, unsigned short * * wargv=0x00309a20, unsigned short * wenvp=0x002f4d00) Line 151 C Symbols loaded. pyrogenesis.exe!__tmainCRTStartup() Line 623 C Non-user code. Symbols loaded. pyrogenesis.exe!CallStartupWithinTryBlock() Line 364 C++ Symbols loaded. kernel32.dll!@BaseThreadInitThunk@12 () Unknown Non-user code. Symbols loaded. ntdll.dll!___RtlUserThreadStart@8 () Unknown Non-user code. Symbols loaded. ntdll.dll!__RtlUserThreadStart@8 () Unknown Non-user code. Symbols loaded.
comment:15 by , 6 years ago
Component: | UI & Simulation → Core engine |
---|---|
Priority: | Release Blocker → Must Have |
Noone of us can reproduce the issue.
comment:16 by , 6 years ago
Milestone: | Alpha 23 |
---|---|
Resolution: | → needsinfo |
Status: | new → closed |
There are 6 callstacks in here, but it doesn't state if the callstacks actually occured if and only if GLSL was enabled. So it could be that we mix 6 different issues.
As it's most likely some driver issue, we (would) have to experimentally find out which graphics cards are affected and in which way.
Replying to elexis:
Assuming this is the same GLSL issue everyone else has, tagging this as a release blocker (that might be set back to must-have).
Speaking of one GLSL issue that everyone has while there are 6 different callstacks and the unrelated alt+tab crash linked seems as oversimplifying as claiming ancient celtic tribes to be a unified nationstate.
Another report of that here https://wildfiregames.com/forum/index.php?/topic/22804-game-crash/
That was gameboy enabling gpuskinning
which is claimed to be experimental and can't be enabled through the UI.
When does that happen?
By any chance when doing Alt+Tab?
When finishing the loading screen? If so try disabling all graphics effects.