Opened 5 years ago

Closed 5 years ago

#5539 closed defect (wontfix)

Grid.h access violation [VS2013 release]

Reported by: Silier Owned by:
Priority: Release Blocker Milestone:
Component: Core engine Keywords:
Cc: Patch: Phab:D2125

Description (last modified by historic_bruno)

While trying to compile and run game with vs2013 toolset I got:
Unhandled exception at 0x75BF2C92 in pyrogenesis.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0073E99C.

The strange thing about this is, that I am able to get this exception only in VS2013 release, even VS2013 debug is fine.

VS2015 release and debug cannot get this. As we are already moving to VS2015, bad_alloc and access violation should not happen.

Exception thrown: read access violation. this was 0x88028EC3.

pyrogenesis.exe!LongPathfinder::ComputeJPSPath(const HierarchicalPathfinder & hierPath, CFixed<int,2147483647,32,15,16,65536> x0, CFixed<int,2147483647,32,15,16,65536> z0, const PathGoal & origGoal, unsigned short passClass, WaypointPath & path) Line 893
	at d:\a.0.development\source\simulation2\helpers\longpathfinder.cpp(893)
pyrogenesis.exe!LongPathfinder::ComputePath(const HierarchicalPathfinder & hierPath, CFixed<int,2147483647,32,15,16,65536> x0, CFixed<int,2147483647,32,15,16,65536> z0, const PathGoal & origGoal, unsigned short passClass, WaypointPath & path) Line 1006
	at d:\a.0.development\source\simulation2\helpers\longpathfinder.cpp(1006)
pyrogenesis.exe!CCmpPathfinder::ProcessLongRequests(const std::vector<LongPathRequest,std::allocator<LongPathRequest> > & longRequests) Line 760
	at d:\a.0.development\source\simulation2\components\ccmppathfinder.cpp(760)
pyrogenesis.exe!CCmpPathfinder::ProcessSameTurnMoves() Line 803
	at d:\a.0.development\source\simulation2\components\ccmppathfinder.cpp(803)
pyrogenesis.exe!CSimulation2Impl::UpdateComponents(CSimContext & simContext, CFixed<int,2147483647,32,15,16,65536> turnLengthFixed, const std::vector<SimulationCommand,std::allocator<SimulationCommand> > & commands) Line 562
	at d:\a.0.development\source\simulation2\simulation2.cpp(562)
pyrogenesis.exe!CSimulation2Impl::Update(int turnLength, const std::vector<SimulationCommand,std::allocator<SimulationCommand> > & commands) Line 402
	at d:\a.0.development\source\simulation2\simulation2.cpp(402)
pyrogenesis.exe!CTurnManager::Update(float simFrameLength, unsigned int maxTurns) Line 165
	at d:\a.0.development\source\simulation2\system\turnmanager.cpp(165)
pyrogenesis.exe!CGame::Update(const double deltaRealTime, bool doInterpolate) Line 397
	at d:\a.0.development\source\ps\game.cpp(397)
pyrogenesis.exe!Frame() Line 395
	at d:\a.0.development\source\main.cpp(395)
pyrogenesis.exe!RunGameOrAtlas(int argc, const char * * argv) Line 638
	at d:\a.0.development\source\main.cpp(638)
pyrogenesis.exe!SDL_main(int argc, char * * argv) Line 684
	at d:\a.0.development\source\main.cpp(684)
pyrogenesis.exe!main_utf8(int argc, char * * argv) Line 126
	at c:\projects\sdl\src\main\windows\sdl_windows_main.c(126)
pyrogenesis.exe!wmain(int argc, unsigned short * * wargv, unsigned short * wenvp) Line 151
	at c:\projects\sdl\src\main\windows\sdl_windows_main.c(151)

Change History (7)

comment:1 by wraitii, 5 years ago

This sounds a lot like VS is doing something dumb with placement new -_-

comment:3 by historic_bruno, 5 years ago

Description: modified (diff)
Priority: Must HaveRelease Blocker

comment:4 by elexis, 5 years ago

Patch: Phab:D2125

comment:5 by elexis, 5 years ago

Summary: Exception thrown: read access violation. [VS2013 release]Grid.h access violation [VS2013 release]

comment:6 by elexis, 5 years ago

I suggest to wait this week (see abence thread) and let Itms decide whether it's useful to revert the C++11 dependent fix and revert the revert and then drop VS2013 afterwards #5379.

comment:7 by elexis, 5 years ago

Milestone: Alpha 24
Resolution: wontfix
Status: newclosed

Correct me if I'm wrong and we keep vs2013 support (#5379).

Note: See TracTickets for help on using tickets.