-
Notifications
You must be signed in to change notification settings - Fork 4.2k
6.2.0: Unexpected output "Unknown constant: 11" #18360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @joeljeske, Can you provide minimal steps followed to reproduce this issue. Thanks! |
Hey @sgowroji I'm working towards a minimal reproduction, but have been debugging along the way. Currently, HEAD of rules_java is referencing remote_java_tools v12.1, which supplies pre-built ijar binaries that should not be able to log this message according to ijar source code. I am unable to traceback to the source code that built these binaries, as its not contained in the bazelbuild/java_tools repo itself. |
@sgowroji Alright, here is a minimum reproduction! Its pretty simple and it does not occur in 6.1.0. |
Another realization: The message |
same with jdk17 via but it seems that the trigger is |
so looks like |
Probably it means generated ijar would be same as full jar and that may result in more recompilations |
Here it is suggested that jacoco uses it for jdk11 since 0.8.4 https://issuetracker.google.com/issues/178400721 |
Great information, thank you! I was able to bypass this issue and generate proper ijars by downgrading remote_java_tools to 11.2. There is this patch https://github.com/bazelbuild/bazel/blob/6.2.0/third_party/java/jacoco/0001-Disable-use-of-constant-dynamic-bytecode.patch that appears to workaround this exact issue, but was removed in 7.x. This made me question if remote_java_tools 12.x was generated from bazel 7.x... 🤔 |
Is this going to be fixed in 6.2.2 or 6.3.0? Has been some time since 6.2.0 is out and non-upgradeable due to this regression |
/cc @hvadehra Can you take a look? I guess this has something to do with the java_tools upgrade (-> 12.3) happened in 6.2.0, and I guess java_tools are built from the master branch of Bazel therefore contains newer changes? @dmivankov I tried to reproduce this, it isn't a hard failure, why is this blocking your upgrade? |
I think it creates a performance regression where generated |
The fix in #18406 LGTM |
#18360 Partial commit for third_party/*, see #18406. Signed-off-by: Hee Cha <[email protected]>
bazelbuild#18360 Partial commit for third_party/*, see bazelbuild#18406. Signed-off-by: Hee Cha <[email protected]>
bazelbuild#18360 Partial commit for third_party/*, see bazelbuild#18406. Signed-off-by: Hee Cha <[email protected]>
Can probably be closed as fixed in 6.3.0 that was just released |
SG, thanks! |
Uh oh!
There was an error while loading. Please reload this page.
Description of the bug:
After upgrading to 6.2.0, I am seeing many messages in build log that do not seem possible when reading the source code:
This is the default case for https://github.com/bazelbuild/bazel/blob/release-6.2.0/third_party/ijar/classfile.cc#L1660-L1662
however the switch should have a case for constant
11
https://github.com/bazelbuild/bazel/blob/release-6.2.0/third_party/ijar/classfile.cc#L1593.I am wanting to understand this error to see if there is anything I need to change on my end, or if its a bug here.
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
https://github.com/joeljeske/bazel-repo-iss18360
Which operating system are you running Bazel on?
Linux, and darwin
What is the output of
bazel info release
?release 6.2.0
If
bazel info release
returnsdevelopment version
or(@non-git)
, tell us how you built Bazel.No response
What's the output of
git remote get-url origin; git rev-parse master; git rev-parse HEAD
?No response
Have you found anything relevant by searching the web?
No response
Any other information, logs, or outputs that you want to share?
No response
The text was updated successfully, but these errors were encountered: