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 Xiaofan Zhou <Xi...@businessobjects.com> on 2006/03/23 02:47:24 UTC

RE: NetAccessorException

 
Alberto,

I tried to port the fix in 2.7 back to 1.7 (the SocketJanitor stuff), but seems it did not solve my problem. I am still getting NetAccessorException after my application called the schema parser a few times. And same again, after re-start my application, I am able to import the schema that previously failed to import. On the other front, I am actually trying to upgrade my application to use Xerces 2.7, and in that environment, I do see that I am not getting the NetAccessorException. But I still need to support the old version though!

Any thoughts?  Thanks in advance.

Frank


-----Original Message-----
From: Alberto Massari [mailto:amassari@datadirect.com] 
Sent: 2006年1月16日 12:32
To: c-dev@xerces.apache.org
Subject: Re: NetAccessorException

Xerces 2.7 has a fix in the NetAccessor, where a socket was leaked if an exception was thrown while trying to reach a web server; if you need to stay on Xerces 1.7 you can try to backport the changes found at http://svn.apache.org/viewcvs.cgi?rev=231009&view=rev

Alberto

At 11:03 AM 1/16/2006 -0800, David Bertoni wrote:
>Xiaofan Zhou wrote:
>>Dave,
>>Thanks much for the reply. The error message is like this:
>>         XML parser failed: error <An exception occurred!
>>Type:NetAccessorException, Message:Could not connect to the socket for 
>>URL '{0}'. Error {1}> at line <0> char <0> in <<xsd:schema ...blabla...
>>>.
>>So it does look like having something to do with socket. I haven't 
>>tried to use newer version of XERCES-c, because it requires lots of 
>>code in my application.
>
>Well, the error message isn't very helpful, is it?
>
>I suggest you take a look at the source code for Xerces-C 1.7 to see if 
>there's a leak.  A leak-detection tool might also help find the problem.
>
>Dave
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
>For additional commands, e-mail: c-dev-help@xerces.apache.org


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

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


RE: NetAccessorException

Posted by Alberto Massari <am...@datadirect.com>.
Hi Frank,
unfortunately I don't have any other suggestion on where is the code 
that yields the different behavior. You will have to start debugging 
the 1.7 code base.

Just a suggestion: the message "Could not connect to the socket" is 
generated by this code

     if (connect(s, (struct sockaddr *) &sa, sizeof(sa)) < 0)
     {
         ThrowXML(NetAccessorException,
                  XMLExcepts::NetAcc_ConnSocket);
     }

You may want to change it to be

     int errCode=connect(s, (struct sockaddr *) &sa, sizeof(sa));
     if (errCode < 0)
     {
         ThrowXML(NetAccessorException,
                  XMLExcepts::NetAcc_ConnSocket,
urlSource.getURLText(), errCode);
     }

so that you get the connect() error code in the message.

Hope this helps,
Alberto

At 05:47 PM 3/22/2006 -0800, Xiaofan Zhou wrote:
>
>Alberto,
>
>I tried to port the fix in 2.7 back to 1.7 (the SocketJanitor 
>stuff), but seems it did not solve my problem. I am still getting 
>NetAccessorException after my application called the schema parser a 
>few times. And same again, after re-start my application, I am able 
>to import the schema that previously failed to import. On the other 
>front, I am actually trying to upgrade my application to use Xerces 
>2.7, and in that environment, I do see that I am not getting the 
>NetAccessorException. But I still need to support the old version though!
>
>Any thoughts?  Thanks in advance.
>
>Frank
>
>
>-----Original Message-----
>From: Alberto Massari [mailto:amassari@datadirect.com]
>Sent: 2006$BG/(J1$B7n(J16$BF|(J 12:32
>To: c-dev@xerces.apache.org
>Subject: Re: NetAccessorException
>
>Xerces 2.7 has a fix in the NetAccessor, where a socket was leaked 
>if an exception was thrown while trying to reach a web server; if 
>you need to stay on Xerces 1.7 you can try to backport the changes 
>found at http://svn.apache.org/viewcvs.cgi?rev=231009&view=rev
>
>Alberto
>
>At 11:03 AM 1/16/2006 -0800, David Bertoni wrote:
> >Xiaofan Zhou wrote:
> >>Dave,
> >>Thanks much for the reply. The error message is like this:
> >>         XML parser failed: error <An exception occurred!
> >>Type:NetAccessorException, Message:Could not connect to the socket for
> >>URL '{0}'. Error {1}> at line <0> char <0> in <<xsd:schema ...blabla...
> >>>.
> >>So it does look like having something to do with socket. I haven't
> >>tried to use newer version of XERCES-c, because it requires lots of
> >>code in my application.
> >
> >Well, the error message isn't very helpful, is it?
> >
> >I suggest you take a look at the source code for Xerces-C 1.7 to see if
> >there's a leak.  A leak-detection tool might also help find the problem.
> >
> >Dave
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
> >For additional commands, e-mail: c-dev-help@xerces.apache.org
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
>For additional commands, e-mail: c-dev-help@xerces.apache.org
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
>For additional commands, e-mail: c-dev-help@xerces.apache.org


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