[jdk11u-dev] RFR: 8299616: [11u] Bootcycle build fails after JDK-8257679 backport
Andrew John Hughes
andrew at openjdk.org
Wed Jan 4 17:19:53 UTC 2023
On Wed, 4 Jan 2023 17:09:57 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> Currently, JDK 11u `make bootcycle-images` fails with:
>
>
> bootcycle-spec.gmk:32: *** non-numeric first argument to `word' function: ''. Stop.
>
>
> The apparent reason is [JDK-8257679](https://bugs.openjdk.org/browse/JDK-8257679) that did the following change:
> https://github.com/openjdk/jdk11u-dev/commit/40f4fc2da8532252a1660c7f082eb19046f4bc70#diff-935527b393cb4625a8874febf5fe39d43479a2228ef437f4e104ba3001e1e30fL31-L40
>
> Note that the left-over hunk uses `JAVA_EXEC_POS`, which is defined in the hunk that was removed. This PR reinstantiates that hunk.
>
> Additional testing:
> - [x] Linux x86_64 fastdebug `make bootcycle-images`
> - [ ] Windows x86_64 fastdebug `make bootcycle-images`
Thanks for tracking this down so quickly. After you identified the problematic patches, I came to the same conclusion that this is down to `JAVA_EXEC_POS` still being used in `bootcycle-spec.gmk.in`, but now undefined.
I think the reason for the change was two-fold:
1. `$(FIXPATH)` was removed from `JAVA` in `spec.gmk.in` and only added to `JAVA_CMD` in `bootcycle-spec.gmk.in` so the second branch would always be true.
2. The block as a whole was removed as `JAVA_EXEC_POS` is unused after JDK-8244036 (not backported to 11u)
The safest option is to restore what we had before, as your patch does, but it may be that `JAVA_EXEC_POS` can now always be 1 (or just removed and a hardcoded 1 used in `bootcycle-spec.gmk.in`).
I'm happy with this as the lowest risk fix, assuming Windows builds fine.
-------------
Marked as reviewed by andrew (Reviewer).
PR: https://git.openjdk.org/jdk11u-dev/pull/1639
More information about the jdk-updates-dev
mailing list