[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