-
Bug
-
Resolution: Not an Issue
-
P2
-
None
-
6
-
generic
-
generic
A DESCRIPTION OF THE REGRESSION :
Creation of a JDBC connection pool fails when the Pointbase server is configured with JDK1.6.0 in Sun JAVA System Application Server8.1 UR2 (EE and PE b17). The followinf errors occur at the admin console and pointbase server respectively:
Admin Console:
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: Connection failure. java.io.EOFException.
Pointbase server:
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-1" sun.misc.ServiceConfigurationError: java.sql.Driver: Provider sun.jdbc.odbc.JdbcOdbcDriver could not be instantiated: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at sun.misc.Service.fail(Service.java:120)
at sun.misc.Service.access$200(Service.java:111)
at sun.misc.Service$LazyIterator.next(Service.java:276)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:477)
at java.sql.DriverManager.initialize(DriverManager.java:579)
at java.sql.DriverManager.registerDriver(DriverManager.java:270)
at com.pointbase.jdbc.jdbcUniversalDriver.<clinit>(DashoA13*..:88)
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:321)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:273)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
... 6 more
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-2" java.lang.NoClassDefFoundError: Could not initialize class com.pointbase.jdbc.jdbcUniversalDriver
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
The above works fine when pointbase server is configured with JDK1.5.0_06.
The test case is given below.
REPRODUCIBLE TESTCASE OR STEPS TO REPRODUCE:
TEST CASE:
1. Install SUN Java Sytem Application Server 8.1 UR2(PE or EE build 17).
2. Start the domain from admin CLI :start-domain --user ${USER} domain1
3. Configure the JAVA_HOME varialbe to the installation directory of JDK 1.6.0.
4. Start the pointbase server from ${SJAS_HOME}/SUNWappserver/pointbase/tools/serveroption/
5. Create a JDBC connection pool from admin console using the following properties:
JNDI name:anything
Resource Type:javax.sql.XADataSource or may be any other also.
Database Vendor:Pointbase
URL: jdbc:pointbase:server://localhost:9092/sun-appserv-samples
user:pbPublic
password:pbPublic
Note:The properties can be configured as user's choice.
6. Try to Ping the connection to check.
7.You will receive the below mentioned errors at the admin console.
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: Connection failure. java.io.EOFException.
Error at the Pointbase server :
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-1" sun.misc.ServiceConfigurationError: java.sql.Driver: Provider sun.jdbc.odbc.JdbcOdbcDriver could not be instantiated: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at sun.misc.Service.fail(Service.java:120)
at sun.misc.Service.access$200(Service.java:111)
at sun.misc.Service$LazyIterator.next(Service.java:276)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:477)
at java.sql.DriverManager.initialize(DriverManager.java:579)
at java.sql.DriverManager.registerDriver(DriverManager.java:270)
at com.pointbase.jdbc.jdbcUniversalDriver.<clinit>(DashoA13*..:88)
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:321)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:273)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
... 6 more
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-2" java.lang.NoClassDefFoundError: Could not initialize class com.pointbase.jdbc.jdbcUniversalDriver
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
The above works fine when pointbase server is configured with JDK1.5.0_06.
JAVA_HOME=/usr/jdk1.5.0_06
RELEASE LAST WORKED:
5.0 Update 6
RELEASE TEST FAILS:
mustang-beta
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
"Ping Succeded" admin console.
No error at pointbase server.
ACTUAL -
Admin console:
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: Connection failure. java.io.EOFException.
Pointbase server:
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-1" sun.misc.ServiceConfigurationError: java.sql.Driver: Provider sun.jdbc.odbc.JdbcOdbcDriver could not be instantiated: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at sun.misc.Service.fail(Service.java:120)
at sun.misc.Service.access$200(Service.java:111)
at sun.misc.Service$LazyIterator.next(Service.java:276)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:477)
at java.sql.DriverManager.initialize(DriverManager.java:579)
at java.sql.DriverManager.registerDriver(DriverManager.java:270)
at com.pointbase.jdbc.jdbcUniversalDriver.<clinit>(DashoA13*..:88)
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:321)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:273)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
... 6 more
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-2" java.lang.NoClassDefFoundError: Could not initialize class com.pointbase.jdbc.jdbcUniversalDriver
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
APPLICATION NAME: Creation of JDBC resource APPLICATION VERSION: SUN java system application server8.1 (b17 PE or EE)
APPLICATION NAME: Any deployed application using JDBC connection APPLICATION VERSION: SUN java system application server8.1 (b17 PE or EE)
OBSERVED APPLICATION IMPACT:
1. Any Enterprise application deployed on Appserver using JDBC connection will fail if configured with JDK1.6.0
2. Almost all web-tier and other apps. require DB connection which would fail due to configuration with JDK1.6.0.
2006-02-27 11:26:43.388 ###@###.###
Pointbase service running in default configuration does not have access to sun.* packages due to security policy restrictions.
Changing policy file ${SJAS_HOME}/SUNWappserver/pointbase/databases/pointbase.policy solves customer's problem. Note that Sun App Server in described configuration is not supported under mustang. So, this is not a regression.
Release Regression From : 1.5.0
The above release value was the last known release where this
bug was known to work. Since then there has been a regression.
Creation of a JDBC connection pool fails when the Pointbase server is configured with JDK1.6.0 in Sun JAVA System Application Server8.1 UR2 (EE and PE b17). The followinf errors occur at the admin console and pointbase server respectively:
Admin Console:
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: Connection failure. java.io.EOFException.
Pointbase server:
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-1" sun.misc.ServiceConfigurationError: java.sql.Driver: Provider sun.jdbc.odbc.JdbcOdbcDriver could not be instantiated: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at sun.misc.Service.fail(Service.java:120)
at sun.misc.Service.access$200(Service.java:111)
at sun.misc.Service$LazyIterator.next(Service.java:276)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:477)
at java.sql.DriverManager.initialize(DriverManager.java:579)
at java.sql.DriverManager.registerDriver(DriverManager.java:270)
at com.pointbase.jdbc.jdbcUniversalDriver.<clinit>(DashoA13*..:88)
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:321)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:273)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
... 6 more
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-2" java.lang.NoClassDefFoundError: Could not initialize class com.pointbase.jdbc.jdbcUniversalDriver
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
The above works fine when pointbase server is configured with JDK1.5.0_06.
The test case is given below.
REPRODUCIBLE TESTCASE OR STEPS TO REPRODUCE:
TEST CASE:
1. Install SUN Java Sytem Application Server 8.1 UR2(PE or EE build 17).
2. Start the domain from admin CLI :start-domain --user ${USER} domain1
3. Configure the JAVA_HOME varialbe to the installation directory of JDK 1.6.0.
4. Start the pointbase server from ${SJAS_HOME}/SUNWappserver/pointbase/tools/serveroption/
5. Create a JDBC connection pool from admin console using the following properties:
JNDI name:anything
Resource Type:javax.sql.XADataSource or may be any other also.
Database Vendor:Pointbase
URL: jdbc:pointbase:server://localhost:9092/sun-appserv-samples
user:pbPublic
password:pbPublic
Note:The properties can be configured as user's choice.
6. Try to Ping the connection to check.
7.You will receive the below mentioned errors at the admin console.
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: Connection failure. java.io.EOFException.
Error at the Pointbase server :
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-1" sun.misc.ServiceConfigurationError: java.sql.Driver: Provider sun.jdbc.odbc.JdbcOdbcDriver could not be instantiated: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at sun.misc.Service.fail(Service.java:120)
at sun.misc.Service.access$200(Service.java:111)
at sun.misc.Service$LazyIterator.next(Service.java:276)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:477)
at java.sql.DriverManager.initialize(DriverManager.java:579)
at java.sql.DriverManager.registerDriver(DriverManager.java:270)
at com.pointbase.jdbc.jdbcUniversalDriver.<clinit>(DashoA13*..:88)
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:321)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:273)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
... 6 more
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-2" java.lang.NoClassDefFoundError: Could not initialize class com.pointbase.jdbc.jdbcUniversalDriver
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
The above works fine when pointbase server is configured with JDK1.5.0_06.
JAVA_HOME=/usr/jdk1.5.0_06
RELEASE LAST WORKED:
5.0 Update 6
RELEASE TEST FAILS:
mustang-beta
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
"Ping Succeded" admin console.
No error at pointbase server.
ACTUAL -
Admin console:
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: Connection failure. java.io.EOFException.
Pointbase server:
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-1" sun.misc.ServiceConfigurationError: java.sql.Driver: Provider sun.jdbc.odbc.JdbcOdbcDriver could not be instantiated: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at sun.misc.Service.fail(Service.java:120)
at sun.misc.Service.access$200(Service.java:111)
at sun.misc.Service$LazyIterator.next(Service.java:276)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:477)
at java.sql.DriverManager.initialize(DriverManager.java:579)
at java.sql.DriverManager.registerDriver(DriverManager.java:270)
at com.pointbase.jdbc.jdbcUniversalDriver.<clinit>(DashoA13*..:88)
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:321)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:273)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
... 6 more
Exception in thread "SUN-APPSERV-SAMPLES/pbPublic from: (127.0.0.1)Thread-2" java.lang.NoClassDefFoundError: Could not initialize class com.pointbase.jdbc.jdbcUniversalDriver
at com.pointbase.net.netConnectionHandler.run(DashoA13*..:598)
at java.lang.Thread.run(Thread.java:626)
APPLICATION NAME: Creation of JDBC resource APPLICATION VERSION: SUN java system application server8.1 (b17 PE or EE)
APPLICATION NAME: Any deployed application using JDBC connection APPLICATION VERSION: SUN java system application server8.1 (b17 PE or EE)
OBSERVED APPLICATION IMPACT:
1. Any Enterprise application deployed on Appserver using JDBC connection will fail if configured with JDK1.6.0
2. Almost all web-tier and other apps. require DB connection which would fail due to configuration with JDK1.6.0.
2006-02-27 11:26:43.388 ###@###.###
Pointbase service running in default configuration does not have access to sun.* packages due to security policy restrictions.
Changing policy file ${SJAS_HOME}/SUNWappserver/pointbase/databases/pointbase.policy solves customer's problem. Note that Sun App Server in described configuration is not supported under mustang. So, this is not a regression.
Release Regression From : 1.5.0
The above release value was the last known release where this
bug was known to work. Since then there has been a regression.
- relates to
-
JDK-6392376 Restricted code cannot access to resources in resources.jar
-
- Closed
-