Thiago Henrique Ramos da Mata created BEAM-3693:
---------------------------------------------------

             Summary: On ubuntu 16 and Java 1.8 the package beam-sdks-java-core 
2.2.0 throws Invalid value for MonthOfYear
                 Key: BEAM-3693
                 URL: https://issues.apache.org/jira/browse/BEAM-3693
             Project: Beam
          Issue Type: Bug
          Components: beam-model
    Affects Versions: 2.2.0
         Environment: 
    $ mvn version

    Apache Maven 3.3.9
    Maven home: /usr/share/maven
    Java version: 9.0.4, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-9-oracle
    Default locale: en_NZ, platform encoding: UTF-8
    OS name: "linux", version: "4.13.0-32-generic", arch: "amd64", family: 
"unix"

    $ java -version

    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

    $ lsb_release -a

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 16.04.3 LTS
    Release:    16.04
    Codename:   xenial
            Reporter: Thiago Henrique Ramos da Mata
            Assignee: Kenneth Knowles
             Fix For: 2.1.0


The problem is caused by the package beam-sdks-java-core in the version 2.2.0. 
This package was being loaded into the package my.projects.models.

Here is the isolated program that replicates the same error message:

 
## ./pom.xml

     <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.mock.bug</groupId>
        <artifactId>mock-bug</artifactId>
        <version>0.123</version>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.beam</groupId>
                <artifactId>beam-sdks-java-core</artifactId>
                <version>2.2.0</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.0.1</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>
   
## ./src/main/java/com/mock/bug/Main.java

     package com.mock.bug;

    public class Main {
        public void main(String[] input){
            System.out.println("hello workd");
        }
    }

## ./src/test/java/com/mock/bug/DummyHealthCheckTest.java

    package com.mock.bug;

    import org.junit.Test;

    import static org.junit.Assert.*;

    public class DummyHealthCheckTest {
        @Test
        public void DummyCheckTest() {
            boolean t = true;
            assertTrue(t);
        }
    }

## Command to fire the error message:

    mvn -U clean package

## Exception Message
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by 
com.google.inject.internal.cglib.core.$ReflectUtils$1 
(file:/usr/share/maven/lib/guice.jar) to method 
java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of 
com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building mock-bug 0.123
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ mock-bug ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mock-bug 
---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, 
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory 
/home/me/projects/mock-bug/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.5:compile (default-compile) @ mock-bug ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. 
build is platform dependent!
[INFO] Compiling 1 source file to /home/me/projects/mock-bug/target/classes
An exception has occurred in the compiler (9.0.4). 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.
java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 
12): 0
        at 
java.base/java.time.temporal.ValueRange.checkValidValue(ValueRange.java:311)
        at 
java.base/java.time.temporal.ChronoField.checkValidValue(ChronoField.java:714)
        at java.base/java.time.LocalDate.of(LocalDate.java:269)
        at java.base/java.time.LocalDateTime.of(LocalDateTime.java:336)
        at jdk.zipfs/jdk.nio.zipfs.ZipUtils.dosToJavaTime(ZipUtils.java:109)
        at 
jdk.zipfs/jdk.nio.zipfs.ZipFileSystem$Entry.cen(ZipFileSystem.java:1950)
        at 
jdk.zipfs/jdk.nio.zipfs.ZipFileSystem$Entry.readCEN(ZipFileSystem.java:1937)
        at 
jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.getEntry(ZipFileSystem.java:1324)
        at 
jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.newInputStream(ZipFileSystem.java:550)
        at 
jdk.zipfs/jdk.nio.zipfs.JarFileSystem.isMultiReleaseJar(JarFileSystem.java:91)
        at jdk.zipfs/jdk.nio.zipfs.JarFileSystem.<init>(JarFileSystem.java:67)
        at 
jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:134)
        at 
jdk.compiler/com.sun.tools.javac.file.JavacFileManager$ArchiveContainer.<init>(JavacFileManager.java:517)
        at 
jdk.compiler/com.sun.tools.javac.file.JavacFileManager.getContainer(JavacFileManager.java:319)
        at 
jdk.compiler/com.sun.tools.javac.file.JavacFileManager.list(JavacFileManager.java:715)
        at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:722)
        at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.scanUserPaths(ClassFinder.java:655)
        at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:526)
        at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:293)
        at 
jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:633)
        at 
jdk.compiler/com.sun.tools.javac.code.Symbol$PackageSymbol.members(Symbol.java:1120)
        at 
jdk.compiler/com.sun.tools.javac.code.Symtab.listPackageModules(Symtab.java:810)
        at 
jdk.compiler/com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:344)
        at 
jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:529)
        at 
jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:285)
        at 
jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:300)
        at jdk.compiler/com.sun.tools.javac.comp.Enter.complete(Enter.java:570)
        at jdk.compiler/com.sun.tools.javac.comp.Enter.main(Enter.java:554)
        at 
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1052)
        at 
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:923)
        at 
jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:100)
        at 
jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:142)
        at 
jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96)
        at 
jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90)
        at 
org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:125)
        at 
org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:171)
        at 
org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:884)
        at 
org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
        at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at 
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)


If we change the beam-sdks-java-core version from 2.2.0 to 2.1.0 the project 
can be compiled and tested. 

While this information is not enough to fix the issues or to inform why this is 
only happening on some machines, I believe that is the best answer that can be 
extracted from this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to