You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Boris Kolpackov (JIRA)" <xe...@xml.apache.org> on 2009/02/12 12:59:59 UTC

[jira] Closed: (XERCESC-1845) ABW: Array bounds write: xercesc_3_0::XMemory::XMemory() [libxerces-c.a]

     [ https://issues.apache.org/jira/browse/XERCESC-1845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Boris Kolpackov closed XERCESC-1845.
------------------------------------

    Resolution: Cannot Reproduce
      Assignee: Boris Kolpackov

I am closing this issue for two reasons: (1) seeing that the same code works fine on GNU/Linux and Windows, it is probably a problem with Purify on Solaris rather than Xerces-C++ code; (2) none of the active developers have access to Purify on this platform to try to reproduce the problem. If someone is capable and willing to investigate this further, feel free to reopen this issue.


> ABW: Array bounds write:   xercesc_3_0::XMemory::XMemory() [libxerces-c.a]
> --------------------------------------------------------------------------
>
>                 Key: XERCESC-1845
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1845
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 3.0.0
>         Environment: SunOS merlin.sce.carleton.ca 5.9 Generic_122300-21 sun4u sparc SUNW,Sun-Blade-100
>            Reporter: Greg Franks
>            Assignee: Boris Kolpackov
>             Fix For: 3.0.1, 3.1.0
>
>
> Rational Purify is complaining about memory write overruns:  Here is some sample output:
>       ABW: Array bounds write
>       This is occurring while in:
>             xercesc_3_0::XMemory::XMemory() [libxerces-c.a]
>             xercesc_3_0::XMLMutexMgr::XMLMutexMgr() [libxerces-c.a]
>             xercesc_3_0::PosixMutexMgr::PosixMutexMgr() [PosixMutexMgr.cpp]
>             xercesc_3_0::XMLMutexMgr*xercesc_3_0::XMLPlatformUtils::makeMutexMgr(xercesc_3_0::MemoryManager*const) [PlatformUtils.cpp:702]
>                        #if XERCES_USE_MUTEXMGR_NOTHREAD
>                                mgr = new (memmgr) NoThreadMutexMgr;
>                        #elif XERCES_USE_MUTEXMGR_POSIX
>             =>                 mgr = new (memmgr) PosixMutexMgr;
>                        #elif XERCES_USE_MUTEXMGR_WINDOWS
>                                mgr = new (memmgr) WindowsMutexMgr;
>                        #else
>             void xercesc_3_0::XMLPlatformUtils::Initialize(const char*const,const char*const,xercesc_3_0::PanicHandler*const,xercesc_3_0::MemoryManager*const) [PlatformUtils.cpp:220]
>                
>                
>                    // Initialize the platform-specific mutex and file mgrs
>             =>     fgMutexMgr          = makeMutexMgr(fgMemoryManager);
>                    fgFileMgr           = makeFileMgr(fgMemoryManager);
>                
>                
>             xercesc_3_0::DOMDocument*readXML(const char*) [xmlcommon.cc:174]
>       Writing 1 byte to 0x148341c in the heap.
>       Address 0x148341c is 1 byte past end of a malloc'd block at 0x1483410 of 12 bytes.
>       This block was allocated from:
>             malloc         [rtlib.o]
>             c2n6Fi_Pv___1  [libCrun.so.1]
>             void*operator new(unsigned) [rtlib.o]
>             void*xercesc_3_0::MemoryManagerImpl::allocate(unsigned) [MemoryManagerImpl.cpp:40]
>                {
>                    void* memptr;
>                    try {
>             =>         memptr = ::operator new(size);
>                    }
>                    catch(...) {
>                        throw OutOfMemoryException();
>             void*xercesc_3_0::XMemory::operator new(unsigned,xercesc_3_0::MemoryManager*) [XMemory.cpp:68]
>             xercesc_3_0::XMLMutexMgr*xercesc_3_0::XMLPlatformUtils::makeMutexMgr(xercesc_3_0::MemoryManager*const) [PlatformUtils.cpp:702]
> This only occurs on a Sun Sparc using SunPro CC 5.0.  Xerces works fine on Linux and Windoze.  This is from the 3.0.0 tarball build.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org