Freed-memory write in AtomicXQType
Bug #1097101 reported by
Chris Hillery
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zorba |
Fix Released
|
Critical
|
Markos Zaharioudakis |
Bug Description
Not sure when this cropped up, although I'm nearly sure it wasn't in Zorba 2.7.
Running pretty much any Zorba test through valgrind will report an Invalid Pointer Write during Zorba shutdown. For instance, run
ctest -R numerics/comp01 -V -T MemCheck
(Linux only). I'll attach the full stack trace.
Changed in zorba: | |
status: | New → Fix Committed |
Changed in zorba: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
921: ==16746== Invalid read of size 8 SimpleRCObject: :removeReferenc e(zorba: :RCLock* ) (rchandle.h:149) rchandle< zorba:: XQType> ::~rchandle( ) (rchandle.h:201) const_rchandle< zorba:: XQType> ::~const_ rchandle( ) (rchandle.h:367) const_rchandle< zorba:: XQType> ::~const_ rchandle( ) (rchandle.h:367) UserDefinedXQTy pe::~UserDefine dXQType( ) (typeimpl.h:759) UserDefinedXQTy pe::~UserDefine dXQType( ) (typeimpl.h:759) UserDefinedXQTy pe::~UserDefine dXQType( ) (typeimpl.h:759) XQType: :free() (typeimpl.h:338) SimpleRCObject: :removeReferenc e(zorba: :RCLock* ) (rchandle.h:151) rchandle< zorba:: XQType> ::~rchandle( ) (rchandle.h:201) const_rchandle< zorba:: XQType> ::~const_ rchandle( ) (rchandle.h:367) const_rchandle< zorba:: XQType> ::~const_ rchandle( ) (rchandle.h:367) RootTypeManager ::~RootTypeMana ger() (in /home/ceej/ zo/src/ build/src/ libzorba_ simplestore. so.2.7. 0) RootTypeManager ::~RootTypeMana ger() (root_typemanag er.cpp: 549) SimpleRCObject: :free() (rchandle.h:141) SimpleRCObject: :removeReferenc e(zorba: :RCLock* ) (rchandle.h:151) RCHelper: :removeReferenc e<zorba: :RootTypeManage r>(zorba: :RootTypeManage r*) (rchandle.h:420) GlobalEnvironme nt::destroy( ) (globalenv.cpp:139) ZorbaImpl: :shutdownIntern al(bool) (zorbaimpl.cpp:132) ZorbaImpl: :~ZorbaImpl( ) (zorbaimpl.cpp:86) malloc. c:457) AtomicXQType: :~AtomicXQType( ) (typeimpl.h:451) RootTypeManager ::~RootTypeMana ger() (root_typemanag er.cpp: 626) RootTypeManager ::~RootTypeMana ger() (root_typemanag er.cpp: 549) SimpleRCObject: :free() (rchandle.h:141) SimpleRCObject: :removeReferenc e(zorba: :RCLock* ) (rchandle.h:151) RCHelper: :removeReferenc e<zorba: :RootTypeManage r>(zorba: :RootTypeManage r*) (rchandle.h:420) GlobalEnvironme nt::destroy( ) (globalenv.cpp:139) ZorbaImpl: :shutdownIntern al(bool) (zorbaimpl.cpp:132)
921: ==16746== at 0x5C138C4: zorba::
921: ==16746== by 0x5C344C2: zorba::
921: ==16746== by 0x5C34474: zorba::
921: ==16746== by 0x5C2B2E4: zorba::
921: ==16746== by 0x6897D4C: zorba::
921: ==16746== by 0x6895FF4: zorba::
921: ==16746== by 0x6896017: zorba::
921: ==16746== by 0x6895A9A: zorba::
921: ==16746== by 0x5C138F0: zorba::
921: ==16746== by 0x5C344C2: zorba::
921: ==16746== by 0x5C34474: zorba::
921: ==16746== by 0x5C2B2E4: zorba::
921: ==16746== by 0x688737F: zorba::
921: ==16746== by 0x6880DA7: zorba::
921: ==16746== by 0x5C5709D: zorba::
921: ==16746== by 0x5C138F0: zorba::
921: ==16746== by 0x6011FBB: void zorba::
921: ==16746== by 0x6011E8E: zorba::
921: ==16746== by 0x5C04808: zorba::
921: ==16746== by 0x5C046B7: zorba::
921: ==16746== by 0xA779900: __run_exit_handlers (exit.c:78)
921: ==16746== by 0xA779984: exit (exit.c:100)
921: ==16746== by 0xA75F773: (below main) (libc-start.c:258)
921: ==16746== Address 0xb2d9978 is 8 bytes inside a block of size 40 free'd
921: ==16746== at 0x4C2A366: operator delete(void*) (vg_replace_
921: ==16746== by 0x6895D08: zorba::
921: ==16746== by 0x6886089: zorba::
921: ==16746== by 0x6880DA7: zorba::
921: ==16746== by 0x5C5709D: zorba::
921: ==16746== by 0x5C138F0: zorba::
921: ==16746== by 0x6011FBB: void zorba::
921: ==16746== by 0x6011E8E: zorba::
921: ==16746== by 0x5C04808: zorba::
921: ==16746== by 0x5C046B7: zorba::Z...