OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   xerces-c utils ValueVectorOf sigbus

[ Lists Home | Date Index | Thread Index ]
  • To: <xml-dev@lists.xml.org>
  • Subject: xerces-c utils ValueVectorOf sigbus
  • From: "Fred Crable" <fcrable@voyence.com>
  • Date: Mon, 5 Dec 2005 02:18:43 -0600
  • Thread-index: AcX5dIDxnHuNTc/JQt6JhoCRTUUK/A==
  • Thread-topic: xerces-c utils ValueVectorOf sigbus

I'm running the same systems on Linux & Solaris 2.9 and I'm hitting a
wall here.  On Linux I'm great, but on Solaris I get an occasional
SigBus.  I know this may be my fault but it is very strange that I keep
sigbus in the same section of the xerces-c code every time.  It always
is crashing in the ValueVectorOf descructor.  Note, I've removed the
memory manager allocate from this code just for something else to try
but in general it's crashing here:

Loaded symbols for /usr/lib/libthread.so.1
#0  0xfec872d4 in xercesc_2_7::ValueVectorOf<int>::~ValueVectorOf()
(this=0x406fd33)
    at
/export/home/build/3.5.0/cvs/Thirdparty/devlibs/xerces-c-src_2_7_0/inclu
de/xercesc/util/ValueVectorOf.c:80
80          delete [] fElemList;
(gdb) print fElemList
$1 = (int *) 0x8056ea4
(gdb) print *fElemList
Cannot access memory at address 0x8056ea4
(gdb) where
#0  0xfec872d4 in xercesc_2_7::ValueVectorOf<int>::~ValueVectorOf()
(this=0x406fd33)
    at
/export/home/build/3.5.0/cvs/Thirdparty/devlibs/xerces-c-src_2_7_0/inclu
de/xercesc/util/ValueVectorOf.c:80
#1  0xfecc4e64 in xercesc_2_7::ValueStackOf<int>::~ValueStackOf()
(this=0x406fd33)
    at
/export/home/build/3.5.0/cvs/Thirdparty/devlibs/xerces-c-src_2_7_0/inclu
de/xercesc/util/ValueStackOf.c:45
#2  0xfeb57124 in xercesc_2_7::XPathMatcherStack::cleanUp()
(this=0x406fd33) at XPathMatcherStack.cpp:66

g++ (GCC) 3.2.3
GNU gdb 6.0
SunOS sol9-280-01 5.9 Generic_118558-11 sun4u sparc SUNW,Sun-Fire-280R


Has anyone seen anything like this!?  I'm not even getting a full stack
trace and it's in the descructor and I'm basically stuck.  Is xerces on
Solaris 2.9 just a bad idea?  What else can I try?

FYI -- Some background on this process.  It's a multi-threaded process
that is doing quite a bit of xml parsing just for settings and stuff.
It's basically chewing on the same XML over and over again in different
threads.  It works fine on Linux but here it fails badly.  I thought I
may of run out of memory but I have to GB ram & 5 GB swap setup.  Anyway
worth a shot asking the question to see.

Also, this is what I was playing with and doesn't amount to a hill of
beans:
diff -r1.2 ValueVectorOf.c
79c79,80
<     fMemoryManager->deallocate(fElemList); //delete [] fElemList;
---
>     //fMemoryManager->deallocate(fElemList); //
>     delete [] fElemList;
96c97,98
<         fMemoryManager->deallocate(fElemList); //delete [] fElemList;
---
>         //fMemoryManager->deallocate(fElemList); //
>         delete [] fElemList;
249c251,252
<     fMemoryManager->deallocate(fElemList); //delete [] fElemList;
---
>     //fMemoryManager->deallocate(fElemList); //
>     delete [] fElemList;

Thanks in advance,
Fred Crable





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS