Crash in OgreXMLConverter 1.11.3

Problems building or running the engine, queries about how to use features etc.
Post Reply
glennr
Halfling
Posts: 87
Joined: Thu Jun 05, 2008 3:26 am
Location: Hikutaia, New Zealand

Crash in OgreXMLConverter 1.11.3

Post by glennr » Thu Nov 08, 2018 12:19 am

Ogre Version: 1.11.3
Operating System: Win10
Render System: na

I just updated to 1.11.3 from 1.10.8 and I'm seeing this crash in OgreXMLConverter when converting a fairly simple .xml to .mesh.
e.g.

Code: Select all

 OgreXMLConverter mymesh.mesh.xml mymesh.mesh

Code: Select all

 	OgreMain_d.dll!Ogre::HardwareBufferManagerBase::_notifyVertexBufferDestroyed(Ogre::HardwareVertexBuffer * buf) Line 392	C++
 	OgreMain_d.dll!Ogre::HardwareVertexBuffer::~HardwareVertexBuffer() Line 61	C++
 	OgreMain_d.dll!Ogre::DefaultHardwareVertexBuffer::~DefaultHardwareVertexBuffer() Line 52	C++
 	[External Code]	
 	OgreMain_d.dll!Ogre::VertexBufferBinding::unsetAllBindings() Line 777	C++
 	OgreMain_d.dll!Ogre::VertexBufferBinding::~VertexBufferBinding() Line 751	C++
 	[External Code]	
 	OgreMain_d.dll!Ogre::HardwareBufferManagerBase::destroyVertexBufferBindingImpl(Ogre::VertexBufferBinding * binding) Line 126	C++
 	OgreMain_d.dll!Ogre::HardwareBufferManagerBase::destroyAllBindings() Line 147	C++
 	OgreMain_d.dll!Ogre::HardwareBufferManagerBase::~HardwareBufferManagerBase() Line 73	C++
 	OgreMain_d.dll!Ogre::HardwareBufferManager::~HardwareBufferManager() Line 50	C++
 	[External Code]	
 	OgreXMLConverter_d.exe!main(int numargs, char * * args) Line 602	C++
 	[External Code]	

The crash is caused by ~HardwareVertexBuffer attempting to access an instance of HardwareBufferManagerBase through a pointer that has already been deleted. The mesh does get successfully converted and the crash happens as it cleans up.

Is this a known issue and is there a fix?
Last edited by glennr on Thu Nov 08, 2018 6:58 pm, edited 1 time in total.
0 x

paroj
OGRE Team Member
OGRE Team Member
Posts: 620
Joined: Sun Mar 30, 2014 2:51 pm
x 86
Contact:

Re: Crash in OgreXMLConverter 1.11.3

Post by paroj » Thu Nov 08, 2018 1:38 pm

no, this is a new issue.

However I cannot reproduce this crash here (g++7). Also it seems that the codepath is valid, as the this pointer in ~HardwareBufferManagerBase is still valid and thus the _notifyVertexBufferDestroyed call should succeed.
0 x

glennr
Halfling
Posts: 87
Joined: Thu Jun 05, 2008 3:26 am
Location: Hikutaia, New Zealand

Re: Crash in OgreXMLConverter 1.11.3

Post by glennr » Thu Nov 08, 2018 7:01 pm

This has been compiled with VS2017.

The pointer that the HardwareVertexBuffer has for HardwareBufferManagerBase is not the same as the one in the call stack.
0 x

Post Reply