On 04/02/11 08:33, Claudio Valderrama C. wrote:
> At this time, I assume isql is invoked by the batch process, since I only
> see a screen to select the debugger. When I select VC9, I go into
> PluginManager.cpp and the problematic line is signaled below:
>
>               ~PluginModule()
>               {
>                       if (next)
>                       {
>                               next->prev = prev;
>                       }
>                       *prev = next;
>
>                       for (unsigned int i = 0; i < regPlugins.getCount();
> ++i)
>                       {
>                               regPlugins[i].factory->dispose();
>                       }
>
>                       if (cleanup)
>                       {
> -->                           cleanup->doClean();
>                       }
>               }
>
> The problem is that "this" is:
>
> +             this    0x00aa4d90 {module=??? cleanup=??? regPlugins=???
> ....} Firebird::`anonymous-namespace'::PluginModule * const
>
> and cleanup is 0xcccccccc, clearly invalid memory (uninitialized or
> deallocated memory, don't remember which pattern is 0xcc).

Claudio, please try this patch. It should fix this bug.
And can you please also provide full stacktrace for this case? For me
cleanup member was never left uninitialized cause all modules were doing
setCleanup(). I wonder what module caused this.

Index: src/yvalve/PluginManager.cpp
===================================================================
--- src/yvalve/PluginManager.cpp        (revision 52620)
+++ src/yvalve/PluginManager.cpp        (working copy)
@@ -571,7 +571,7 @@
        PluginModule* current = NULL;
 
        PluginModule::PluginModule(ModuleLoader::Module* pmodule, const 
PathName& pname)
-                       : module(pmodule), regPlugins(getPool()), next(modules),
+                       : module(pmodule), cleanup(NULL), 
regPlugins(getPool()), next(modules),
                          prev(&modules), name(getPool(), pname)
        {
                if (next)
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to