Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6392390

REGRESSION: Creation of JDBC Connection Pool fails when configured with JDK1.6.0

XMLWordPrintable

    • 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.

            ssharmasunw Sushmita Sharma (Inactive)
            avishentsunw Alexey Vishentsev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: