You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/05/05 16:36:50 UTC

DO NOT REPLY [Bug 19671] New: - Reloading a webapp does not release DLLs

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=19671>.
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=19671

Reloading a webapp does not release DLLs

           Summary: Reloading a webapp does not release DLLs
           Product: Tomcat 4
           Version: 4.1.24
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: rnaegele@mgm-edv.de


When a webapp is reloaded, either explicitly via manager or automatically
because the context is reloadable, native libraries (DLLs) are not released.

In our concrete case, we use Oracle IFS via JDBC OCI driver. After a reload of
the webapp, we get the following exception:

java.lang.UnsatisfiedLinkError: Native Library D:\ora9ias\BIN\ocijdbc9.dll
already loaded in another classloader
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1437)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1397)
	at java.lang.Runtime.loadLibrary0(Runtime.java:788)
	at java.lang.System.loadLibrary(System.java:832)
	at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:300)
	at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:355)
	at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:457)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:332)
	at java.sql.DriverManager.getConnection(DriverManager.java:512)
	at java.sql.DriverManager.getConnection(DriverManager.java:171)
	at oracle.ifs.server.LibraryConnection.(LibraryConnection.java:245)
	at
oracle.ifs.server.ConnectionPool.constructLibraryConnection(ConnectionPool.java:712)
	at
oracle.ifs.server.ConnectionPool.createLibraryConnection(ConnectionPool.java:673)
	at oracle.ifs.server.ConnectionPool.(ConnectionPool.java:311)
	at
oracle.ifs.server.S_LibraryService.resetConnectionPools(S_LibraryService.java:3204)
	at oracle.ifs.server.S_LibraryService.(S_LibraryService.java:1051)
	at oracle.ifs.server.S_LibraryService.startService(S_LibraryService.java:1408)
	at oracle.ifs.beans.LibraryService.startService(LibraryService.java:255)
	at oracle.ifs.beans.LibraryService.startService(LibraryService.java:303)
...


As a workaround, we put the classes12.jar into <TOMCAT_HOME>\shared\lib, which
is not really a good solution but works for now since there are no other webapps
running on this tomcat which might cause conflicts.

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