Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-3693

On ubuntu 16 and Java 1.8 the package beam-sdks-java-core 2.2.0 throws Invalid value for MonthOfYear

Details

    • Bug
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • 2.2.0
    • Not applicable
    • build-system
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              thiagomata Thiago Henrique Ramos da Mata
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: