Your message dated Tue, 29 Jan 2019 01:06:42 +0000
with message-id <e1gohro-000grz...@fasolo.debian.org>
and subject line Bug#920703: Removed package(s) from unstable
has caused the Debian Bug report #828836,
regarding libmysql-java: ClassNotFound exception IF running in a v8 JVM
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
828836: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828836
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libmysql-java
Version: 5.1.39-1~deb7u1
Severity: important
Tags: patch

Dear Maintainer,

The latest backport of libmysql-java in [security] crashes with a
ClassNotFound exception, *IF* running under a v8 virtual machine.
(I'm using a wheezy backport of OpenJDK-8 which is available here:
http://download.opensuse.org/repositories/home:/ods/Debian_7.0/ )

I investigated the source package and found the reason:

In several locations of the generic code, there is code like
this (pseudo-code follows):

if (Util.isJdbc42()) {
  ... invoke JDBC42 classes
} else {
  ... use older implementation specifics
}

The method Util.isJdbc4() returns true, if running under a v8 JVM.
In order to *COMPLETELY* disable invocation of JDBC42 specific code, the
method Util.isJdbc4() should *ALWAYS* return false.

The following patch fixes that:
=============================== SNIP =================================
--- a/src/com/mysql/jdbc/Util.java      2016-06-28 11:05:51.065799452 +0200
+++ b/src/com/mysql/jdbc/Util.java      2016-06-28 11:07:34.545802936 +0200
@@ -62,7 +62,7 @@
 
     private static boolean isJdbc4;
 
-    private static boolean isJdbc42;
+    private static boolean isJdbc42 = false;
 
     private static int jvmVersion = -1;
 
@@ -76,13 +76,6 @@
             isJdbc4 = false;
         }
 
-        try {
-            Class.forName("java.sql.JDBCType");
-            isJdbc42 = true;
-        } catch (Throwable t) {
-            isJdbc42 = false;
-        }
-
         String jvmVersionString = System.getProperty("java.version");
         int startPos = jvmVersionString.indexOf('.');
         int endPos = startPos + 1;
=============================== SNIP =================================

Cheers
 -Fritz

-- System Information:
Debian Release: 7.10
  APT prefers oldstable-updates
  APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- a/src/com/mysql/jdbc/Util.java	2016-06-28 11:05:51.065799452 +0200
+++ b/src/com/mysql/jdbc/Util.java	2016-06-28 11:07:34.545802936 +0200
@@ -62,7 +62,7 @@
 
     private static boolean isJdbc4;
 
-    private static boolean isJdbc42;
+    private static boolean isJdbc42 = false;
 
     private static int jvmVersion = -1;
 
@@ -76,13 +76,6 @@
             isJdbc4 = false;
         }
 
-        try {
-            Class.forName("java.sql.JDBCType");
-            isJdbc42 = true;
-        } catch (Throwable t) {
-            isJdbc42 = false;
-        }
-
         String jvmVersionString = System.getProperty("java.version");
         int startPos = jvmVersionString.indexOf('.');
         int endPos = startPos + 1;
--- a/src/com/mysql/jdbc/Util.java	2016-06-28 11:05:51.065799452 +0200
+++ b/src/com/mysql/jdbc/Util.java	2016-06-28 11:07:34.545802936 +0200
@@ -62,7 +62,7 @@
 
     private static boolean isJdbc4;
 
-    private static boolean isJdbc42;
+    private static boolean isJdbc42 = false;
 
     private static int jvmVersion = -1;
 
@@ -76,13 +76,6 @@
             isJdbc4 = false;
         }
 
-        try {
-            Class.forName("java.sql.JDBCType");
-            isJdbc42 = true;
-        } catch (Throwable t) {
-            isJdbc42 = false;
-        }
-
         String jvmVersionString = System.getProperty("java.version");
         int startPos = jvmVersionString.indexOf('.');
         int endPos = startPos + 1;
--- src/com/mysql/jdbc/Util.java.orig	2016-06-28 11:05:51.065799452 +0200
+++ src/com/mysql/jdbc/Util.java	2016-06-28 11:07:34.545802936 +0200
@@ -62,7 +62,7 @@
 
     private static boolean isJdbc4;
 
-    private static boolean isJdbc42;
+    private static boolean isJdbc42 = false;
 
     private static int jvmVersion = -1;
 
@@ -76,13 +76,6 @@
             isJdbc4 = false;
         }
 
-        try {
-            Class.forName("java.sql.JDBCType");
-            isJdbc42 = true;
-        } catch (Throwable t) {
-            isJdbc42 = false;
-        }
-
         String jvmVersionString = System.getProperty("java.version");
         int startPos = jvmVersionString.indexOf('.');
         int endPos = startPos + 1;

--- End Message ---
--- Begin Message ---
Version: 5.1.45-1+rm

Dear submitter,

as the package mysql-connector-java has just been removed from the Debian 
archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/920703

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmas...@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)

--- End Message ---

Reply via email to