We're using xerces-c compiled with cc 4.2 on Solaris 2.6, but it doesn't
work .... the code that uses the library is the following:


     try
     {
        XMLPlatformUtils::Initialize();
     }
    catch (const XMLException& toCatch)
     {

        //cout << "Error during initialization! :\n" << toCatch.getMessage() << "\n";
        //return 1;


          try
          {
               Xerror("Error en la inicializacion","ConstructorBufferFML()",(const 
char *)toCatch.getMessage(),0,0).raise();
          }
          catch(Xerror &err)
          {
          }
    }



    parser = XMLReaderFactory::createXMLReader();

    parser->setFeature(XMLString::transcode("http://xml.org/sax/features/validation";), 
true);

    
parser->setFeature(XMLString::transcode("http://apache.org/xml/features/validation/dynamic";),
 true);

     
parser->setFeature(XMLString::transcode("http://apache.org/xml/features/validation/reuse-validator";),
 true);


    m_manejador = new HandlerConversorGenerico();
    m_errHandler = m_manejador;
    parser->setContentHandler(m_manejador);
    parser->setErrorHandler(m_errHandler);
}

FBFR32* ConstructorBufferFML::construirFML(BufferXML buffer)
{


     try
     {

          oTrazas->Log(2,"el buffer antes de parsear vale=%s",buffer);

          MemBufInputSource memInputSource((const 
XMLByte*)buffer,strlen(buffer),"entrada.xml",false);

          parser->parse(memInputSource); // ******* This is the error line 
***********************************

      }
    catch (const XMLException& toCatch)
     {

       // cout << "\nFile not found: '" << xmlFile << "'\n"
       //      << "Exception message is: \n" << toCatch.getMessage() << "\n" ;
       // return -1;

          try
          {
               Xerror("Error al parsear el buffer XML","ConstruirFML()",(const 
char*)toCatch.getMessage(),0,0).raise();
          }
          catch(Xerror &err)
          {

          }
    }

     //return maneja.obtenerBufferFML();

     return m_manejador->obtenerBufferFML();
}


**************************************************************************
When the application is running and calls the function construirFML(buffer)
we obtain the following error:

detected a multithreaded program
t@1 (l@1) terminated by signal SEGV (no mapping at the fault address)
(dbx) where
current thread: t@1
=>[1] XMLScanner::scanReset(0x8f600, 0xefffe7bc, 0xef6da124, 0xefffe7bc, 0x8f600
, 0x5786e), at 0xef67a794
  [2] XMLScanner::scanDocument(0x8f600, 0xefffe7bc, 0x1, 0x8f600, 0xef1a3680, 0x
ef1a7470), at 0xef6739a0
  [3] SAX2XMLReaderImpl::parse(0x8f500, 0xefffe7bc, 0xef6da124, 0xefffe7bc, 0x8f
500, 0xef6da124), at 0xef647764
  [4] ConstructorBufferFML::construirFML(0x7ded0, 0x86d98, 0xef1a70e0, 0x0, 0x57
263, 0x959e8), at 0x2e8f8

.... Does anyone know the causes of this error?

Thanks!!

David Rey





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to