[8u60] Request for approval: 8129850: java.util.Properties.loadFromXML fails on compact1 profile

David Holmes david.holmes at oracle.com
Fri Jun 26 12:34:01 UTC 2015


Apologies as the bug report is not public.

https://bugs.openjdk.java.net/browse/JDK-8129850

This is an issue introduced in 8u60.

Problem description:

When I added cross-platform support for compact profiles under 
JDK-8038189. I had to add a check for an empty variable but added it in 
the wrong place in CreateJars.gmk when creating the resource.jar:

         ifneq ($(PROFILE), )
+         ifneq ($(strip $(PROFILE_INCLUDE_METAINF_SERVICES)), )
             # Strip out all META-INF/services/ entries
             $(GREP) -v -e 'META-INF/services/' $@.tmp > $@.tmp2
             # Add back the required services
             for service in $(PROFILE_INCLUDE_METAINF_SERVICES) ; do \
               $(ECHO) $$service >> $@.tmp2; \
             done
             $(MV) $@.tmp2 $@.tmp
+         endif

For compact1 the variable is empty which means we skipped stripping out 
the META-INF/services entries from resource.jar. Consequently those 
services would be found and the library code would then try to use a 
service for which no implementation existed - and hence we get failures.

The fix is of course to move the if block so that it only surrounds the 
for loop.

webrev: http://cr.openjdk.java.net/~dholmes/8129850/webrev/

The change has been reviewed by Erik Joelsson:

http://mail.openjdk.java.net/pipermail/build-dev/2015-June/015305.html

Thanks,
David


More information about the jdk8u-dev mailing list