Hi Susan,

This is an issue with the STLport and how it's configured.  Can I assume
you are talking about a zOS build?  I think we found this problem in a
earlier version of the zOS toolkit.  You should check to make sure you have
the following in your copy of OS390Definitions.hpp:

   // STL Port Definitions
   #define _REENTRANT
   #define __STL_NO_SGI_IOSTREAMS
   #include <stl/_config.h>

If you don't, add #define _REENTRANT to the file, and rebuild.  If you do
have such a line, then there must be some bug in the STLport with regard to
threading, because this is internal STLport code.

Dave



                                                                                       
                                  
                      Suzanne Dirkers                                                  
                                  
                      <[EMAIL PROTECTED]         To:      [EMAIL PROTECTED]            
                             
                      com>                     cc:      (bcc: David N 
Bertoni/Cambridge/IBM)                             
                                               Subject: protection exception in 
__node_alloc<1,0>::allocate(unsigned     
                      03/28/2003 11:22         int)                                    
                                  
                      AM                                                               
                                  
                      Please respond                                                   
                                  
                      to xalan-dev                                                     
                                  
                                                                                       
                                  








----- Forwarded by Suzanne Dirkers/Raleigh/IBM on 03/28/2003 02:26 PM -----

                      Suzanne Dirkers

                                               To:
[EMAIL PROTECTED]
                      03/28/2003 01:48         cc:

                      PM                       From:     Suzanne
Dirkers/Raleigh/[EMAIL PROTECTED]
                                               Subject:  protection
exception in __node_alloc<1,0>::allocate(unsigned int)





Hi Folks,

I am getting the following protection exception trying to run an xpath
expression in an application that uses about 35 worker threads servicing
more than about 60 objects. If I run the same application but have it try
to service less than 60 objects, I don't get this protection exception.

But, is there a bug that this protection exception is happening?  Can
anyone explain what exactly is going on here? It looks like the code is
having problems allocating space for a vector to be used in
XalanDOMHashTable...but why should the allocation routine get a Protection
Exception unless it is trying to allocate somewhere invalid?  And since
only reading is ever   going on for the input buffer for Xpath, I don't see
why there should ever be a problem.

  I have been careful to make sure that each object has its own copy of the
input source, which all threads are merely reading, not ever writing to.

The stack call looks like this:

A              CEEPLPKA  UQ71260  Call
    0C9C4910                0BB11D38  +000000DE
__node_alloc<1,0>::allocate(uns
igned int)
                                                               0BB11D38
+000000
DE              *PATHNAM           Exception
    0C9C4838                0BB270A8  +0000007A  allocator<const
XalanDOMString*
>::allocate(unsigned int,cons
                                                               0BB270A8
+000000
7A              *PATHNAM           Call
    0C9C4768                0BB27868  +00000080  _STL_alloc_proxy<const
XalanDOM
String**,const XalanDOMString
                                                               0BB27868
+000000
80              *PATHNAM           Call
    0C9C4698                0BB28B08  +00000140  __vector<const
XalanDOMString*,
allocator<const XalanDOMStrin
                                                               0BB28B08
+000001
40              *PATHNAM           Call
    0C9C45C8                0B6DA868  +0000007A
XalanDOMStringHashTable::insert
(const XalanDOMString&,unsign
                                                               0B6DA868
+000000
7A              *PATHNAM           Call
    0C9C44F8                0B6DE248  +00000152
XalanDOMStringPool::get(const u
nsigned short*,unsigned int)
                                                               0B6DE248
+000001
52              *PATHNAM           Call
    0C9C43E8                0B720748  +00000178
XalanSourceTreeDocument::create
ElementNode(const unsigned sh
@
"CEEDUMP.20030328.133104.67109738" 153266 lines, 17321993 characters


             *PATHNAM           Call
    0C9C4310                0B717128  +000000C2
XalanSourceTreeContentHandler::
createElement(const unsigned
                                                               0B717128
+000000
C2              *PATHNAM           Call
    0C9C4238                0B7164A8  +000000A0
XalanSourceTreeContentHandler::
startElement(const unsigned s
                                                               0B7164A8
+000000
A0              *PATHNAM           Call
    0C9C3CB8                0C41E9E8  +00000C4A
SAX2XMLReaderImpl::startElement
(const XMLElementDecl&,const
                                                               0C41E9E8
+00000C
4A              *PATHNAM           Call
    0C9C36B0                0C2BAAE8  +00002DE6
XMLScanner::scanStartTagNS(int&
)
                                                               0C2BAAE8
+00002D
E6              *PATHNAM           Call
    0C9C3540                0C14E290  +0000051C
XMLScanner::scanContent(const i
nt)
                                                               0C14E290
+000005
1C              *PATHNAM           Call
    0C9C3440                0C14D9A0  +000003D0
XMLScanner::scanDocument(const
InputSource&,const int)
                                                               0C14D9A0
+000003
D0              *PATHNAM           Call
    0C9C32E8                0C2352C0  +00000124
SAX2XMLReaderImpl::parse(const
InputSource&)
                                                               0C2352C0
+000001
24              *PATHNAM           Call
    0C9C31B8                0B740430  +0000022A
XalanSourceTreeParserLiaison::p
arseXMLStream(const InputSour


Thanks,
Suzanne



Reply via email to