FalagardWRModule destruct error

For help with anything that CEGUI doesn't offer straight out-of-the-box, e.g.:
- Implementation of new features, such as new Core classes, widgets, WindowRenderers, etc. ...
- Modification of any existing features for specific purposes
- Integration of CEGUI in new engines or frameworks and writing of new plugins (Renderer, Parser, ...) or modules

Moderators: CEGUI MVP, CEGUI Team

kili
Not too shy to talk
Not too shy to talk
Posts: 45
Joined: Fri Apr 27, 2007 06:17

FalagardWRModule destruct error

Postby kili » Wed Oct 21, 2009 11:31

Hi,
we use CEGUI0.7, the log is:

********************************************************************************
21/10/2009 17:13:50 (Std) * -------- START OF ESSENTIAL SECTION TO BE POSTED ON THE FORUM -------- *
21/10/2009 17:13:50 (Std) ********************************************************************************
21/10/2009 17:13:50 (Std) ---- Version 0.7.9999 (Build: Oct 20 2009 Debug Microsoft Windows MSVC++ 8.0 32 bit) ----
21/10/2009 17:13:50 (Std) ---- Renderer module is: CEGUIGamebryoRenderer ----
21/10/2009 17:13:50 (Std) ---- XML Parser module is: CEGUI::ExpatParser - Official expat based parser module for CEGUI ----
21/10/2009 17:13:50 (Std) ---- Image Codec module is: SILLYImageCodec - Official SILLY based image codec ----
21/10/2009 17:13:50 (Std) ---- Scripting module is: None ----
21/10/2009 17:13:50 (Std) ********************************************************************************
21/10/2009 17:13:50 (Std) * -------- END OF ESSENTIAL SECTION TO BE POSTED ON THE FORUM -------- *
21/10/2009 17:13:50 (Std) ********************************************************************************

our AP would crash when d_registry in FalagardWRModule deallocated.

Code: Select all

FalagardWRModule::~FalagardWRModule()
{
    FactoryRegistry::iterator i = d_registry.begin();
    for ( ; i != d_registry.end(); ++i)
        delete (*i);
}  //after this line, then:


Code: Select all

template<class _Ty,
   class _Alloc> inline
   void _Destroy_range(_Ty *_First, _Ty *_Last, _Alloc& _Al)
   {   // destroy [_First, _Last)
   _Destroy_range(_First, _Last, _Al, _Ptr_cat(_First, _Last));   //crash
   }



Could anyone help me?

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: FalagardWRModule destruct error

Postby CrazyEddie » Thu Oct 22, 2009 08:44

Hi,

It appears to be a memory release issue; is there some kind of memory manager / custom allocator in use? Is the error an actual crash / exception (if so which one), or is it an assert of some kind? In either case, can we see a backtrace / callstack from the point of failure? (because I'm interested in what's a bit higher up :)).

I don't think there should be any actual bugs here (but there could be); it seems more like a config issue (either those items mentioned above, or c/c++ runtime settings and so on).

CE.

kili
Not too shy to talk
Not too shy to talk
Posts: 45
Joined: Fri Apr 27, 2007 06:17

Re: FalagardWRModule destruct error

Postby kili » Mon Oct 26, 2009 01:26

umm...maybe the reason is MultiThread. I changed the CELayoutEditor to MTd,
then this appears, too. I'll check this later.


Return to “Modifications / Integrations / Customisations”

Who is online

Users browsing this forum: No registered users and 13 guests