[
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
|