-
Bug
-
Resolution: Not an Issue
-
P4
-
None
-
8
-
x86
-
windows_2012
ADDITIONAL SYSTEM INFORMATION :
An exception has occurred in the compiler (1.8.0_231) on Oracle database server standard 12.2.0.1.0 x64 on Windows 2016 standard x64
A DESCRIPTION OF THE PROBLEM :
An exception has occurred in the compiler (1.8.0_231) when compiling Oracle java component:
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED XXX.TA_C_DIRLIST_JAVA
RESOLVER (( ))
as import java.io.*;
import java.sql.*;
public class TA_C_DIRLIST
{
static private String dateStr( java.util.Date x )
{
if ( x != null )
return (x.getYear()+1900) + "/" + (x.getMonth()+1) + "/" + x.getDate() +
" " +
x.getHours() + ":" + x.getMinutes() + ":" + x.getSeconds();
else return null;
}
public static void getList(String directory)
throws SQLException
{
File path = new File( directory );
String[] list = path.list();
String element;
for(int i = 0; i < list.length; i++)
{
element = list[i];
String fpath=directory+"/"+list[i];
File f = new File(fpath);
long len;
String ftype;
String sqldate;
Timestamp DateTime;
if (f.isFile()) {
len = f.length();
DateTime = new Timestamp(f.lastModified());
ftype = "F";
} else {
len = 0;
DateTime = null;
ftype = "D";
}
#sql { INSERT INTO TA_C_DIR_LIST (C_FILENAME, C_file_size, C_file_type, C_modified)
VALUES (:element, :len, :ftype, :DateTime) };
}
}
}
/
REGRESSION : Last worked in version 8
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try to compile the referenced component in the description
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The component compiles without error
ACTUAL -
0 0 java.lang.IllegalArgumentException
0 0 An exception has occurred in the compiler (1.8.0_231). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
0 0 at oracle.aurora.rdbms.Compiler.doCompile(Compiler.java)
0 0 at oracle.aurora.rdbms.Compiler.compile(Compiler.java)
0 0 at oracle.aurora.rdbms.Compiler.access$000(Compiler.java)
0 0 at oracle.aurora.rdbms.Compiler$1.run(Compiler.java)
0 0 at oracle.aurora.jdkcompiler.JdkDriver.compile(JdkDriver.java)
0 0 at java.security.AccessController.doPrivileged(Native Method)
0 0 at com.sun.tools.javac.util.JCDiagnostic.<init>(JCDiagnostic.java)
0 0 at com.sun.tools.javac.util.JCDiagnostic$Factory.error(JCDiagnostic.java)
0 0 at com.sun.tools.javac.util.JCDiagnostic$Factory.create(JCDiagnostic.java)
0 0 at com.sun.tools.javac.util.AbstractLog.error(AbstractLog.java)
0 0 at com.sun.tools.javac.parser.Scanner.nextToken(Scanner.java)
0 0 at com.sun.tools.javac.parser.JavacParser.typeDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatementAsBlock(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatementAsBlock(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseCompilationUnit(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.nextToken(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.methodDeclaratorRest(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classOrInterfaceOrEnumDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBodyDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBody(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.accept(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavaTokenizer.readToken(JavaTokenizer.java)
0 0 at com.sun.tools.javac.parser.JavaTokenizer.lexError(JavaTokenizer.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java)
---------- BEGIN SOURCE ----------
See description
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
No workaround
FREQUENCY : always
An exception has occurred in the compiler (1.8.0_231) on Oracle database server standard 12.2.0.1.0 x64 on Windows 2016 standard x64
A DESCRIPTION OF THE PROBLEM :
An exception has occurred in the compiler (1.8.0_231) when compiling Oracle java component:
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED XXX.TA_C_DIRLIST_JAVA
RESOLVER (( ))
as import java.io.*;
import java.sql.*;
public class TA_C_DIRLIST
{
static private String dateStr( java.util.Date x )
{
if ( x != null )
return (x.getYear()+1900) + "/" + (x.getMonth()+1) + "/" + x.getDate() +
" " +
x.getHours() + ":" + x.getMinutes() + ":" + x.getSeconds();
else return null;
}
public static void getList(String directory)
throws SQLException
{
File path = new File( directory );
String[] list = path.list();
String element;
for(int i = 0; i < list.length; i++)
{
element = list[i];
String fpath=directory+"/"+list[i];
File f = new File(fpath);
long len;
String ftype;
String sqldate;
Timestamp DateTime;
if (f.isFile()) {
len = f.length();
DateTime = new Timestamp(f.lastModified());
ftype = "F";
} else {
len = 0;
DateTime = null;
ftype = "D";
}
#sql { INSERT INTO TA_C_DIR_LIST (C_FILENAME, C_file_size, C_file_type, C_modified)
VALUES (:element, :len, :ftype, :DateTime) };
}
}
}
/
REGRESSION : Last worked in version 8
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try to compile the referenced component in the description
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The component compiles without error
ACTUAL -
0 0 java.lang.IllegalArgumentException
0 0 An exception has occurred in the compiler (1.8.0_231). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
0 0 at oracle.aurora.rdbms.Compiler.doCompile(Compiler.java)
0 0 at oracle.aurora.rdbms.Compiler.compile(Compiler.java)
0 0 at oracle.aurora.rdbms.Compiler.access$000(Compiler.java)
0 0 at oracle.aurora.rdbms.Compiler$1.run(Compiler.java)
0 0 at oracle.aurora.jdkcompiler.JdkDriver.compile(JdkDriver.java)
0 0 at java.security.AccessController.doPrivileged(Native Method)
0 0 at com.sun.tools.javac.util.JCDiagnostic.<init>(JCDiagnostic.java)
0 0 at com.sun.tools.javac.util.JCDiagnostic$Factory.error(JCDiagnostic.java)
0 0 at com.sun.tools.javac.util.JCDiagnostic$Factory.create(JCDiagnostic.java)
0 0 at com.sun.tools.javac.util.AbstractLog.error(AbstractLog.java)
0 0 at com.sun.tools.javac.parser.Scanner.nextToken(Scanner.java)
0 0 at com.sun.tools.javac.parser.JavacParser.typeDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatementAsBlock(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatementAsBlock(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.parseCompilationUnit(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.nextToken(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.methodDeclaratorRest(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classOrInterfaceOrEnumDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBodyDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBody(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.classDeclaration(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavacParser.accept(JavacParser.java)
0 0 at com.sun.tools.javac.parser.JavaTokenizer.readToken(JavaTokenizer.java)
0 0 at com.sun.tools.javac.parser.JavaTokenizer.lexError(JavaTokenizer.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java)
0 0 at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java)
---------- BEGIN SOURCE ----------
See description
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
No workaround
FREQUENCY : always