DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4556>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4556

Xerces fails to locate DTD file when application has been running for awhile

           Summary: Xerces fails to locate DTD file when application has
                    been running for awhile
           Product: Xerces-C++
           Version: 1.4
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Validating Parser (DTD)
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


We are using the Xerces library in an application that every so often reloads
it's XML configuration files when a SIGHUP signal is sent to the application. 
Sending a HUP signal immediately after start up or a short while later does not 
seem to cause any problems reloading the XML config files. However, if the app 
has been running for several weeks (the app is a server) it may begin to fail on 
XML file reloads with the following error:

ERROR: Failed to load vendors configuration: Fatal Error at file vendors.xml, 
line 2, column 69-
=- Message: An exception occured! Type:RuntimeException, Message:Could not open 
DTD file 'vendors.dtd'

The vendors.dtd file has not moved location from when the app originally 
started. Also, this problem has been seen occuring on two different 
installations of the app so far.

We feel it may be a file descriptor issue with Xerces. Xerces possibly thinks it 
has run out of available open file descriptors after so many HUPS. The work 
around is while the server is between HUPs, to embed the dtd right into the xml 
file. On the very next HUP the XML file is successfully loaded. This method 
seems to trick the library into using the OS's FD open instead of the Xerces FD 
open (a suggestion made by a colleague of mine). Another work around is to 
completely stop the application and restart it, however, this is not desireable 
nor is the embedded DTD/XML solution. We think this is still an issue as well in 
v1.5.1 of the library.

Some more details:
- Xerces library version: libxerces-c.so.1.2.0
- Library built on Solaris 7 using SUNWspro 5.0 (Sun Workshop compiler suite)

Please let me know if you need any more details. Thanks!
Giulio

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

Reply via email to