[8u60] RFR: 8129850: java.util.Properties.loadFromXML fails on compact1 profile

David Holmes david.holmes at oracle.com
Fri Jun 26 12:10:47 UTC 2015

Apologies as the bug report is not public.

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; \
             $(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/


More information about the build-dev mailing list