zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #11131
[Bug 1015618] [NEW] Memory Heap error on Windows
Public bug reported:
When I run a query with a namespace added from StaticContext and used in
the query, like in this example:
#include <zorba/zorba.h>
int main(int argc, char* argv[])
{
void* lStore = zorba::StoreManager::getStore();
zorba::Zorba* lZorba = zorba::Zorba::getInstance(lStore);
zorba::StaticContext_t lContext = lZorba->createStaticContext();
lContext->addNamespace("foo", "http://www.foo.com");
zorba::XQuery_t lQuery = lZorba->compileQuery("<foo:e/>", lContext);
lQuery->execute(std::cout);
lQuery->free();
lContext->free();
lZorba->shutdown();
zorba::StoreManager::shutdownStore(lStore);
return 0;
}
When the program finishes in debug mode I get the error:
Debug error:
HEAP CORRUPTION DETECTED: before Normal block (#103257) at 0x0275D170
CRT detected that the application wrote to memory before start of heap buffer.
This is the call stack:
> msvcr100d.dll!_free_dbg_nolock(void * pUserData, int nBlockUse) Line 1353 + 0x3b bytes C++
msvcr100d.dll!_free_dbg(void * pUserData, int nBlockUse) Line 1265 + 0xd bytes C++
msvcr100d.dll!operator delete(void * pUserData) Line 54 + 0x10 bytes C++
zorba_simplestore.dll!std::allocator<std::_Container_proxy>::deallocate(std::_Container_proxy * _Ptr, unsigned int __formal) Line 182 + 0x9 bytes C++
zorba_simplestore.dll!std::_String_val<char,std::allocator<char> >::~_String_val<char,std::allocator<char> >() Line 481 C++
zorba_simplestore.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >() Line 754 + 0xf bytes C++
zorba_simplestore.dll!zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD::~SIMPLE_HASHOUT_FIELD() + 0x16 bytes C++
zorba_simplestore.dll!zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>::~HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>() Line 85 + 0xb bytes C++
zorba_simplestore.dll!zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>::`scalar deleting destructor'() + 0x16 bytes C++
zorba_simplestore.dll!std::_Destroy<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Ptr) Line 64 C++
zorba_simplestore.dll!std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >::destroy(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Ptr) Line 213 + 0x9 bytes C++
zorba_simplestore.dll!std::_Dest_val<std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >,zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >(std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > & _Alval, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Pdest) Line 288 C++
zorba_simplestore.dll!std::_Destroy_range<std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _First, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Last, std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > & _Al, std::_Nonscalar_ptr_iterator_tag __formal) Line 97 + 0xd bytes C++
zorba_simplestore.dll!std::_Destroy_range<std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _First, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Last, std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > & _Al) Line 88 + 0x29 bytes C++
zorba_simplestore.dll!std::vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >::_Destroy(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _First, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Last) Line 1270 + 0x14 bytes C++
zorba_simplestore.dll!std::vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >::_Tidy() Line 1307 C++
zorba_simplestore.dll!std::vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >::~vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >() Line 706 C++
zorba_simplestore.dll!zorba::checked_vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >::~checked_vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >() + 0x16 bytes C++
zorba_simplestore.dll!zorba::HashMap<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *,zorba::serialization::Archiver::SimpleHashoutFieldCompare>::~HashMap<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *,zorba::serialization::Archiver::SimpleHashoutFieldCompare>() Line 412 + 0x1d bytes C++
zorba_simplestore.dll!zorba::HashMap<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *,zorba::serialization::Archiver::SimpleHashoutFieldCompare>::`scalar deleting destructor'() + 0x16 bytes C++
zorba_simplestore.dll!zorba::serialization::Archiver::~Archiver() Line 173 + 0x25 bytes C++
zorba_simplestore.dll!zorba::serialization::MemArchiver::~MemArchiver() + 0x51 bytes C++
zorba_simplestore.dll!zorba::serialization::MemArchiver::`scalar deleting destructor'() + 0x16 bytes C++
zorba_simplestore.dll!zorba::serialization::ClassSerializer::~ClassSerializer() Line 96 + 0x25 bytes C++
zorba_simplestore.dll!`zorba::serialization::ClassSerializer::getInstance'::`2'::`dynamic atexit destructor for 'theInstance''() + 0xd bytes C++
zorba_simplestore.dll!_CRT_INIT(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 415 C
zorba_simplestore.dll!__DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 526 + 0x11 bytes C
zorba_simplestore.dll!_DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 476 + 0x11 bytes C
** Affects: zorba
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Zorba
Coders, which is the registrant for Zorba.
https://bugs.launchpad.net/bugs/1015618
Title:
Memory Heap error on Windows
Status in Zorba - The XQuery Processor:
New
Bug description:
When I run a query with a namespace added from StaticContext and used
in the query, like in this example:
#include <zorba/zorba.h>
int main(int argc, char* argv[])
{
void* lStore = zorba::StoreManager::getStore();
zorba::Zorba* lZorba = zorba::Zorba::getInstance(lStore);
zorba::StaticContext_t lContext = lZorba->createStaticContext();
lContext->addNamespace("foo", "http://www.foo.com");
zorba::XQuery_t lQuery = lZorba->compileQuery("<foo:e/>", lContext);
lQuery->execute(std::cout);
lQuery->free();
lContext->free();
lZorba->shutdown();
zorba::StoreManager::shutdownStore(lStore);
return 0;
}
When the program finishes in debug mode I get the error:
Debug error:
HEAP CORRUPTION DETECTED: before Normal block (#103257) at 0x0275D170
CRT detected that the application wrote to memory before start of heap buffer.
This is the call stack:
> msvcr100d.dll!_free_dbg_nolock(void * pUserData, int nBlockUse) Line 1353 + 0x3b bytes C++
msvcr100d.dll!_free_dbg(void * pUserData, int nBlockUse) Line 1265 + 0xd bytes C++
msvcr100d.dll!operator delete(void * pUserData) Line 54 + 0x10 bytes C++
zorba_simplestore.dll!std::allocator<std::_Container_proxy>::deallocate(std::_Container_proxy * _Ptr, unsigned int __formal) Line 182 + 0x9 bytes C++
zorba_simplestore.dll!std::_String_val<char,std::allocator<char> >::~_String_val<char,std::allocator<char> >() Line 481 C++
zorba_simplestore.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >() Line 754 + 0xf bytes C++
zorba_simplestore.dll!zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD::~SIMPLE_HASHOUT_FIELD() + 0x16 bytes C++
zorba_simplestore.dll!zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>::~HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>() Line 85 + 0xb bytes C++
zorba_simplestore.dll!zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>::`scalar deleting destructor'() + 0x16 bytes C++
zorba_simplestore.dll!std::_Destroy<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Ptr) Line 64 C++
zorba_simplestore.dll!std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >::destroy(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Ptr) Line 213 + 0x9 bytes C++
zorba_simplestore.dll!std::_Dest_val<std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >,zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >(std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > & _Alval, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Pdest) Line 288 C++
zorba_simplestore.dll!std::_Destroy_range<std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _First, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Last, std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > & _Al, std::_Nonscalar_ptr_iterator_tag __formal) Line 97 + 0xd bytes C++
zorba_simplestore.dll!std::_Destroy_range<std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _First, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Last, std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > & _Al) Line 88 + 0x29 bytes C++
zorba_simplestore.dll!std::vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >::_Destroy(zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _First, zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> * _Last) Line 1270 + 0x14 bytes C++
zorba_simplestore.dll!std::vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >::_Tidy() Line 1307 C++
zorba_simplestore.dll!std::vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >::~vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *>,std::allocator<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> > >() Line 706 C++
zorba_simplestore.dll!zorba::checked_vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >::~checked_vector<zorba::HashEntry<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *> >() + 0x16 bytes C++
zorba_simplestore.dll!zorba::HashMap<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *,zorba::serialization::Archiver::SimpleHashoutFieldCompare>::~HashMap<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *,zorba::serialization::Archiver::SimpleHashoutFieldCompare>() Line 412 + 0x1d bytes C++
zorba_simplestore.dll!zorba::HashMap<zorba::serialization::Archiver::SIMPLE_HASHOUT_FIELD,zorba::serialization::archive_field *,zorba::serialization::Archiver::SimpleHashoutFieldCompare>::`scalar deleting destructor'() + 0x16 bytes C++
zorba_simplestore.dll!zorba::serialization::Archiver::~Archiver() Line 173 + 0x25 bytes C++
zorba_simplestore.dll!zorba::serialization::MemArchiver::~MemArchiver() + 0x51 bytes C++
zorba_simplestore.dll!zorba::serialization::MemArchiver::`scalar deleting destructor'() + 0x16 bytes C++
zorba_simplestore.dll!zorba::serialization::ClassSerializer::~ClassSerializer() Line 96 + 0x25 bytes C++
zorba_simplestore.dll!`zorba::serialization::ClassSerializer::getInstance'::`2'::`dynamic atexit destructor for 'theInstance''() + 0xd bytes C++
zorba_simplestore.dll!_CRT_INIT(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 415 C
zorba_simplestore.dll!__DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 526 + 0x11 bytes C
zorba_simplestore.dll!_DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 476 + 0x11 bytes C
To manage notifications about this bug go to:
https://bugs.launchpad.net/zorba/+bug/1015618/+subscriptions
Follow ups
References