[ 
https://issues.apache.org/jira/browse/MCOMPILER-473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17432527#comment-17432527
 ] 

Michael Osipov commented on MCOMPILER-473:
------------------------------------------

This is a Scala/sbt problem. We don't provide anything for both: 
https://github.com/davidB/scala-maven-plugin

> ArrayIndexOutOfBoundsException when building Spark 3.x on zOS
> -------------------------------------------------------------
>
>                 Key: MCOMPILER-473
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-473
>             Project: Maven Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 3.8.1
>            Reporter: Nicholas Marion
>            Priority: Major
>
> When building Spark on zOS, we're randomly getting the following error:
> {noformat}
> [INFO] Compiling 491 Scala sources and 45 Java sources to 
> /u/sprkbld/workspace/IzODA_zSpark_ZSPARK-303_port-3.2/sql/core/target/scala-2.12/test-classes
>  ...
> java.lang.ArrayIndexOutOfBoundsException
>       at sun.nio.fs.UnixPath.initOffsets(UnixPath.java:255)
>       at sun.nio.fs.UnixPath.getParent(UnixPath.java:314)
>       at sun.nio.fs.UnixPath.getParent(UnixPath.java:55)
>       at 
> scala.tools.nsc.backend.jvm.ClassfileWriters$DirEntryWriter.ensureDirForPath(ClassfileWriters.scala:237)
>       at 
> scala.tools.nsc.backend.jvm.ClassfileWriters$DirEntryWriter.writeFile(ClassfileWriters.scala:266)
>       at 
> scala.tools.nsc.backend.jvm.ClassfileWriters$ClassfileWriter$SingleClassWriter.writeClass(ClassfileWriters.scala:119)
>       at 
> scala.tools.nsc.backend.jvm.PostProcessor.sendToDisk(PostProcessor.scala:86)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler.$anonfun$postProcessUnit$3(GeneratedClassHandler.scala:125)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler.$anonfun$postProcessUnit$2(GeneratedClassHandler.scala:125)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler$$Lambda$26107.000000007B4C2770.apply$mcV$sp(Unknown
>  Source)
>       at 
> scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
>       at 
> scala.tools.nsc.backend.jvm.PostProcessorFrontendAccess$PostProcessorFrontendAccessImpl.withThreadLocalReporter(PostProcessorFrontendAccess.scala:232)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler.$anonfun$postProcessUnit$1(GeneratedClassHandler.scala:124)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler$$Lambda$26103.000000007B4C0B50.apply$mcV$sp(Unknown
>  Source)
>       at 
> scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
>       at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:659)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler$$Lambda$26104.000000007B4C1210.apply(Unknown
>  Source)
>       at scala.util.Success.$anonfun$map$1(Try.scala:255)
>       at scala.util.Success.map(Try.scala:213)
>       at scala.concurrent.Future.$anonfun$map$1(Future.scala:292)
>       at scala.concurrent.Future$$Lambda$26105.000000007B458350.apply(Unknown 
> Source)
>       at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)
>       at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33)
>       at 
> scala.concurrent.impl.Promise$$Lambda$26106.000000007B4C1830.apply(Unknown 
> Source)
>       at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$SyncWritingClassHandler$$anonfun$$lessinit$greater$1.execute(GeneratedClassHandler.scala:179)
>       at 
> scala.concurrent.impl.ExecutionContextImpl.execute(ExecutionContextImpl.scala:24)
>       at 
> scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:72)
>       at 
> scala.concurrent.impl.Promise$KeptPromise$Kept.onComplete(Promise.scala:372)
>       at 
> scala.concurrent.impl.Promise$KeptPromise$Kept.onComplete$(Promise.scala:371)
>       at 
> scala.concurrent.impl.Promise$KeptPromise$Successful.onComplete(Promise.scala:379)
>       at scala.concurrent.impl.Promise.transform(Promise.scala:33)
>       at scala.concurrent.impl.Promise.transform$(Promise.scala:31)
>       at 
> scala.concurrent.impl.Promise$KeptPromise$Successful.transform(Promise.scala:379)
>       at scala.concurrent.Future.map(Future.scala:292)
>       at scala.concurrent.Future.map$(Future.scala:292)
>       at 
> scala.concurrent.impl.Promise$KeptPromise$Successful.map(Promise.scala:379)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler.postProcessUnit(GeneratedClassHandler.scala:120)
>       at 
> scala.tools.nsc.backend.jvm.GeneratedClassHandler$WritingClassHandler.process(GeneratedClassHandler.scala:113)
>       at scala.tools.nsc.backend.jvm.CodeGen.genUnit(CodeGen.scala:73)
>       at 
> scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.apply(GenBCode.scala:74)
>       at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:453)
>       at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:400)
>       at 
> scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.super$run(GenBCode.scala:80)
>       at 
> scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.$anonfun$run$1(GenBCode.scala:80)
>       at 
> scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.run(GenBCode.scala:78)
>       at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1514)
>       at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1498)
>       at scala.tools.nsc.Global$Run.compileSources(Global.scala:1491)
>       at scala.tools.nsc.Global$Run.compile(Global.scala:1620)
>       at xsbt.CachedCompiler0.run(CompilerInterface.scala:153)
>       at xsbt.CachedCompiler0.run(CompilerInterface.scala:125)
>       at xsbt.CompilerInterface.run(CompilerInterface.scala:39)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
>       at java.lang.reflect.Method.invoke(Method.java:508)
>       at sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:248)
>       at 
> sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
>       at 
> sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$240.000000002AD5DA70.apply$mcV$sp(Unknown
>  Source)
>       at 
> scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$232.000000002AD59410.apply(Unknown
>  Source)
>       at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
>       at 
> sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl$$Lambda$172.000000002AB78DB0.apply(Unknown
>  Source)
>       at sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
>       at 
> sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
>       at 
> sbt.internal.inc.Incremental$$$Lambda$215.000000002AD11F70.apply(Unknown 
> Source)
>       at 
> sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
>       at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
>       at 
> sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
>       at 
> sbt.internal.inc.Incremental$$$Lambda$213.000000002AD0F2B0.apply(Unknown 
> Source)
>       at sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
>       at sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
>       at sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl$$Lambda$45.0000000027BE4D30.apply(Unknown
>  Source)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
>       at 
> sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
>       at 
> sbt_inc.SbtIncrementalCompiler.compile(SbtIncrementalCompiler.java:173)
>       at 
> scala_maven.ScalaCompilerSupport.incrementalCompile(ScalaCompilerSupport.java:297)
>       at 
> scala_maven.ScalaCompilerSupport.compile(ScalaCompilerSupport.java:109)
>       at 
> scala_maven.ScalaCompilerSupport.doExecute(ScalaCompilerSupport.java:91)
>       at scala_maven.ScalaMojoSupport.execute(ScalaMojoSupport.java:554)
>       at 
> scala_maven.ScalaTestCompileMojo.execute(ScalaTestCompileMojo.java:49)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
>       at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
>       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:972)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
>       at java.lang.reflect.Method.invoke(Method.java:508)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347){noformat}
> This happens randomly throughout the build process. It may happen immediately 
> or after 30 or so minutes. Only occurs on Spark 3.x builds. (I can kick off 
> one build and it fails, kick if off again and it passes. Without any 
> changes.) Spark 2.4 uses 3.7.0 and never hits this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to