Thanks Guillaume for checking this!
When I looked at this issue on 1.36, I had the impression that assertions
might have a role to play in the error, but I could not confirm this
hypothesis.
IMO this smells like a JDK bug (or at least it looks like other resolved
issues); note that it seems we had some similar problems in the past with
older Java8 versions [1].

Independently of the root cause, would it unblock the release process if we
just remove the problematic asserts, or if we substitute them with an
equivalent `if (...) throw new IllegalStateException("...");` ?

Best,
Ruben

[1]
https://github.com/apache/calcite/blob/1506857f404037b63dfd8a11880393b767bd1544/build.gradle.kts#L98



On Mon, Apr 29, 2024 at 11:26 PM Sergey Nuyanzin <snuyan...@gmail.com>
wrote:

> Hi Guilluame,
>
> I played a bit more and I realised that if from commit above I just remove
> one line with assert (assert map != null)
> then ArrayIndexOutOfBoundsException disappears
>
> same for current main branch, if I remove all lines from SqlFunctions with
> assert (now there are 3 such lines) then
> ArrayIndexOutOfBoundsException disappears
>
> Thus,  it does not look like a Calcite issue, more like a problem on ASM
> side
> please correct me if I'm wrong
>
> On Mon, Apr 29, 2024 at 10:33 PM Sergey Nuyanzin <snuyan...@gmail.com>
> wrote:
>
> > i follow the procedure described here
> > https://calcite.apache.org/docs/howto.html#making-a-release-candidate
> > started
> > btw I played a bit with git bisect and it shows that the issue
> >
> >     java.lang.ArrayIndexOutOfBoundsException: Index 65536 out of bounds
> for length 297        at
> org.objectweb.asm.ClassReader.readLabel(ClassReader.java:2695)        at
> org.objectweb.asm.ClassReader.createLabel(ClassReader.java:2711)
> >
> > started appearing after this commit
> >
> >
> https://github.com/apache/calcite/commit/bcf6bd8577b25c563b1c597c70704594a18ca1a3
> >
> > On Mon, Apr 29, 2024 at 10:01 PM Guillaume Masse
> > <masse.guilla...@narrative.io.invalid> wrote:
> >
> >> Hi Sergey,
> >>
> >> thanks for trying that update
> >>
> >> I confirm I have the same issue with your release at
> >>
> >>
> https://repository.apache.org/content/repositories/orgapachecalcite-1231/org/apache/calcite/
> >>
> >>
> >>
> https://github.com/MasseGuillaume/asm-remapper-bug/commit/852e4cd246d278db8acf5e997a54619bc4f85fc7
> >>
> >> This rules out one of my hypothesis on the java build version.
> >>
> >> Can you point me to the release procedure you are using? I saw
> >> https://calcite.apache.org/develop/#contributing is there more precise
> >> steps?
> >>
> >>
> >>
> >> On Mon, Apr 29, 2024 at 3:27 PM Sergey Nuyanzin <snuyan...@gmail.com>
> >> wrote:
> >>
> >> > I repeated same procedure with jdk1.8u412
> >> > here you can find the jars
> >> >
> >> >
> >>
> https://repository.apache.org/content/repositories/orgapachecalcite-1231/org/apache/calcite/
> >> > it looks like asm-remapper gives the same result...
> >> >
> >> > On Mon, Apr 29, 2024 at 8:41 PM Guillaume Masse
> >> > <masse.guilla...@narrative.io.invalid> wrote:
> >> >
> >> > > If you take a look at
> >> > >
> >> > >
> >> > >
> >> >
> >>
> https://www.openlogic.com/openjdk-downloads?field_java_parent_version_target_id=416&field_operating_system_target_id=426&field_architecture_target_id=391&field_java_package_target_id=All
> >> > >
> >> > > The most recent release is 8u412-b08
> >> > >
> >> > > If it follows more or less the openjdk schedule:
> >> > >
> >> > > https://wiki.openjdk.org/display/jdk8u/Main
> >> > >
> >> > > *Most recent and past release details:*
> >> > >
> >> > >    - 8u412-b08 (GA), April 16th 2024 [Release <
> >> > https://bit.ly/openjdk8u412
> >> > > >]
> >> > >    [Tag <https://github.com/openjdk/jdk8u/releases/tag/jdk8u412-ga
> >]
> >> [
> >> > >    Binaries
> >> > >    <
> >> > >
> >> https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u412-b08
> >
> >> > >    ]
> >> > >    - 8u402-b06 (GA), January 16th 2024 [Release
> >> > >    <https://bit.ly/openjdk8u402>] [Tag
> >> > >    <https://github.com/openjdk/jdk8u/releases/tag/jdk8u402-ga>]
> >> > [Binaries
> >> > >    <
> >> > >
> >> https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u402-b06
> >
> >> > >    ]
> >> > >    - 8u392-b08 (GA), October 17th 2023 [Release
> >> > >    <https://bit.ly/openjdk8u392>] [Tag
> >> > >    <https://github.com/openjdk/jdk8u/releases/tag/jdk8u392-ga>]
> >> > [Binaries
> >> > >    <
> >> > >
> >> https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u392-b08
> >
> >> > >    ]
> >> > >    - 8u382-b05 (GA), July 18th 2023 [Release <
> >> > https://bit.ly/openjdk8u382
> >> > > >]
> >> > >    [Tag <https://github.com/openjdk/jdk8u/releases/tag/jdk8u382-ga
> >]
> >> [
> >> > >    Binaries
> >> > >    <
> >> > >
> >> https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u382-b05
> >
> >> > >    ]
> >> > >    - 8u372-b07 (GA), April 18th 2023 [Release <
> >> > https://bit.ly/openjdk8u372
> >> > > >]
> >> > >    [Tag <https://github.com/openjdk/jdk8u/releases/tag/jdk8u372-ga
> >]
> >> [
> >> > >    Binaries
> >> > >    <
> >> > >
> >> https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u372-b07
> >
> >> > >    ]
> >> > >
> >> > >
> >> > > This means your java version is from April 2023. Can you try to
> update
> >> > your
> >> > > system to the latest build 8u412-b08 and publish the jarfile
> >> somewhere I
> >> > > can test ?
> >> > >
> >> > >
> >> > > On Mon, Apr 29, 2024 at 2:25 PM Sergey Nuyanzin <
> snuyan...@gmail.com>
> >> > > wrote:
> >> > >
> >> > > > Thanks for testing Guillaume
> >> > > >
> >> > > > >Sergey can you give me all the details about your build
> environment
> >> > so I
> >> > > > >can reproduce that bytecode?
> >> > > > >OS / java --version
> >> > > > yep, sure
> >> > > > Ubuntu 22.04.4 LTS,
> >> > > > 1.8.0_372-372 (OpenLogic-OpenJDK 25.372-b07)
> >> > > >
> >> > > > I will also try to look at it with my set up and the info  you've
> >> > > provided
> >> > > >
> >> > > > On Mon, Apr 29, 2024 at 8:03 PM Guillaume Masse
> >> > > > <masse.guilla...@narrative.io.invalid> wrote:
> >> > > >
> >> > > > > -1 (not binding)
> >> > > > >
> >> > > > > The bytecode of classfile
> >> > org/apache/calcite/runtime/SqlFunctions.class
> >> > > > is
> >> > > > > invalid (and only this classfile)
> >> > > > >
> >> > > > > I tested all class files from the following artifacts:
> >> > > > > calcite-core-1.37.0.jar
> >> > > > > calcite-linq4j-1.37.0.jar
> >> > > > > avatica-core-1.25.0.jar
> >> > > > > avatica-metrics-1.25.0.jar
> >> > > > >
> >> > > > > This will prevent bytecode tools like asm (https://asm.ow2.io/)
> >> from
> >> > > > > transforming calcite bytecode (for example shading a
> dependency).
> >> > > > >
> >> > > > > See
> >> > > > > https://gitlab.ow2.org/asm/asm/-/issues/318008
> >> > > > >
> https://lists.apache.org/thread/nrt4ysoc14p20sq23z744jyfqh1bznyh
> >> > > > >
> >> > > > > To reproduce
> >> > > > > https://github.com/MasseGuillaume/asm-remapper-bug
> >> > > > >
> >> > > > > Sergey can you give me all the details about your build
> >> environment
> >> > so
> >> > > I
> >> > > > > can reproduce that bytecode?
> >> > > > > OS / java --version
> >> > > > >
> >> > > > > I do not have the root cause of the issue.
> >> > > > > I suspect it's related to import
> >> > > > > org.checkerframework.checker.nullness.qual.Nullable
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > > On Mon, Apr 29, 2024 at 10:56 AM Sergey Nuyanzin <
> >> > snuyan...@gmail.com>
> >> > > > > wrote:
> >> > > > >
> >> > > > > > Hi all,
> >> > > > > >
> >> > > > > > The issue CALCITE-6390 with failing of Arrow Adapter tests on
> >> > Windows
> >> > > > > while
> >> > > > > > building from source is fixed.
> >> > > > > > Thanks  a lot to Caican Can for highlighting the issue
> >> > > > > > Stamatis for quick PR
> >> > > > > > and Ruben and Alessandro for the review!
> >> > > > > >
> >> > > > > > I have created a build for Apache Calcite 1.37.0, release
> >> > > > > > candidate 4.
> >> > > > > >
> >> > > > > > Thanks to everyone who has contributed to this release.
> >> > > > > >
> >> > > > > > You can read the release notes here:
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/apache/calcite/blob/calcite-1.37.0-rc4/site/_docs/history.md
> >> > > > > >
> >> > > > > > The commit to be voted upon:
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=044db3d72ee53c1a82ce68b0c2a9b4f0bed81f18
> >> > > > > >
> >> > > > > > Its hash is 044db3d72ee53c1a82ce68b0c2a9b4f0bed81f18
> >> > > > > >
> >> > > > > > Tag:
> >> > > > > > https://github.com/apache/calcite/tree/calcite-1.37.0-rc4
> >> > > > > >
> >> > > > > > The artifacts to be voted on are located here:
> >> > > > > >
> >> > > >
> >> >
> >>
> https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.37.0-rc4
> >> > > > > > (revision 68857)
> >> > > > > >
> >> > > > > > The hashes of the artifacts are as follows:
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> a6ae7ea1ebbab3e5b723122c9517412d74b6bccba9fb41d360f7c2262ed7f26e5a4cc861a711d4813d27d72a0ffd086ae3a9175abc3c874b079137c84d13f83a
> >> > > > > > *apache-calcite-1.37.0-src.tar.gz
> >> > > > > >
> >> > > > > > A staged Maven repository is available for review at:
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> https://repository.apache.org/content/repositories/orgapachecalcite-1230/org/apache/calcite/
> >> > > > > >
> >> > > > > > Release artifacts are signed with the following key:
> >> > > > > > https://people.apache.org/keys/committer/snuyanzin.asc
> >> > > > > > https://www.apache.org/dist/calcite/KEYS
> >> > > > > >
> >> > > > > > To create the jars and test Apache Calcite: "gradle build"
> >> > > > > > (requires an appropriate Gradle/JDK installation)
> >> > > > > >
> >> > > > > > Please vote on releasing this package as Apache Calcite
> 1.37.0.
> >> > > > > >
> >> > > > > > The vote is open for the next 72 hours and passes if a
> majority
> >> of
> >> > at
> >> > > > > > least three +1 PMC votes are cast.
> >> > > > > >
> >> > > > > > [ ] +1 Release this package as Apache Calcite 1.37.0
> >> > > > > > [ ]  0 I don't feel strongly about it, but I'm okay with the
> >> > release
> >> > > > > > [ ] -1 Do not release this package because...
> >> > > > > >
> >> > > > > > Here is my vote:
> >> > > > > >
> >> > > > > > +1 (binding)
> >> > > > > >
> >> > > > > >
> >> > > > > > --
> >> > > > > > Best regards,
> >> > > > > > Sergey
> >> > > > > >
> >> > > > >
> >> > > >
> >> > > >
> >> > > > --
> >> > > > Best regards,
> >> > > > Sergey
> >> > > >
> >> > >
> >> >
> >> >
> >> > --
> >> > Best regards,
> >> > Sergey
> >> >
> >>
> >
> >
> > --
> > Best regards,
> > Sergey
> >
>
>
> --
> Best regards,
> Sergey
>

Reply via email to