--- old/src/java.desktop/unix/classes/sun/print/IPPPrintService.java 2017-01-18 12:04:19.697062000 +0530 +++ new/src/java.desktop/unix/classes/sun/print/IPPPrintService.java 2017-01-18 12:04:19.452940000 +0530 @@ -59,6 +59,7 @@ import java.util.Iterator; import java.util.HashSet; +import java.util.Map; public class IPPPrintService implements PrintService, SunPrinterJobService { @@ -1765,6 +1766,19 @@ if (responseMap != null && responseMap.length > 0) { getAttMap = responseMap[0]; + // If there is extra hashmap created due to duplicate + // key/attribute present in IPPresponse, then use that + // map too by appending to getAttMap after removing the + // duplicate key/value + if (responseMap.length > 1) { + for (int i = 1; i < responseMap.length; i++) { + for (Map.Entry entry : responseMap[i].entrySet()) { + if (!getAttMap.containsKey(entry.getValue())) { + getAttMap.put(entry.getKey(), entry.getValue()); + } + } + } + } } } else { debug_println(debugPrefix+"opGetAttributes - null input stream"); --- old/test/java/awt/print/PrinterJob/PrintAttributeUpdateTest.java 2017-01-18 12:04:20.373399999 +0530 +++ new/test/java/awt/print/PrinterJob/PrintAttributeUpdateTest.java 2017-01-18 12:04:20.157292000 +0530 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* @test - @bug 8042713 + @bug 8042713 8170578 @summary Print Dialog does not update attribute set with page range @run main/manual PrintAttributeUpdateTest */