[OpenJDK 2D-Dev] [8] Review request for 8007642: Media Names on Java Print Do Not Match the Printer's and Confuse Users

Jennifer Godinez jennifer.godinez at oracle.com
Thu Apr 18 21:21:11 UTC 2013

Hi Anton,

I got a crash when I tried to go down the list of Media Size in Page 
Setup Dialog.  Output is below.  Can you confirm?


PrintService = Win32 Printer : PrimoPDF
AWT Assertion Failure
value != NULL
File 'Hashtable.cpp', at line 124
GetLastError() is 0 : The operation completed successfully.

Do you want to break into the debugger?
# A fatal error has been detected by the Java Runtime Environment:
#  Internal Error (os_windows_x86.cpp:143), pid=8932, tid=9484
#  guarantee(result == EXCEPTION_CONTINUE_EXECUTION) failed: Unexpected 
result f
rom topLevelExceptionFilter

On 4/17/2013 9:49 AM, Jennifer Godinez wrote:
> Thanks Anton.  I will test your fix and let you know.
> Jennifer
> On 4/17/2013 5:53 AM, Anton Litvinov wrote:
>> Hello Jennifer,
>> Thank you very much for the review of this fix. For reproduction of 
>> this bug and testing of the fix the printer "PrimoPDF" with its 
>> driver "PrimoPDF" was used. This printer is a virtual printer which 
>> generates PDF files as a result of printing jobs and which can be 
>> downloaded at the URL (http://www.primopdf.com). Such a printer was 
>> selected for testing, because it supports the paper size "11 x 17" in 
>> inches, with which the bug was experienced by a user according to the 
>> bug report.
>> Also I was able to observe a similar situation with the printers: 
>> "Microsoft XPS Document Writer", "Xerox WorkCentre 4250 GPD PS" but 
>> on paper sizes different from "11 x 17". For example, if the printer 
>> "Xerox WorkCentre 4250 GPD PS" is used, JDK interprets the paper size 
>> "Postcard (100 x 148 mm)" as "Postcard (JIS)" and, when algorithm of 
>> the method "sun.print.Win32PrintService.getMediaSizes" encounters the 
>> paper size "Japanese Postcard", it interprets it as "Postcard (JIS)" 
>> again, which leaves just one media size "Postcard (JIS)" from 2 in 
>> Java cross-platform Page Setup and Print dialogs. I think that this 
>> situation is similar to the case with "11 x 17" paper size, because 
>> some user can also be willing to see exactly "Postcard (100 x 148 
>> mm)" media size in the mentioned Java dialogs, where it will be 
>> absent, whoever this fix still will not allow "Postcard (100 x 148 
>> mm)" to be displayed.
>> Thank you,
>> Anton
>> On 3/29/2013 11:26 PM, Jennifer Godinez wrote:
>>> Hi Anton,
>>> What printer and printer driver version did you use to test your fix?
>>> Thanks.
>>> Jennifer
>>> On 3/11/2013 1:41 AM, Anton Litvinov wrote:
>>>> Hello,
>>>> Please review the following fix. This is the second reminder 
>>>> message. Please take into account that the original review request 
>>>> was sent more than 1 month ago and no response has been received yet.
>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007642
>>>> Webrev: http://cr.openjdk.java.net/~alitvinov/8007642/webrev.00
>>>> Thank you,
>>>> Anton
>>>> On 2/21/2013 6:53 PM, Anton Litvinov wrote:
>>>>> Hello,
>>>>> I am sorry for inconvenience. This is a reminder message. I am 
>>>>> still interested in reception of the response to this review 
>>>>> request and just want to be sure that it is not lost on the mail 
>>>>> alias's archive.
>>>>> Thank you,
>>>>> Anton
>>>>> On 2/8/2013 8:09 PM, Anton Litvinov wrote:
>>>>>> Hello,
>>>>>> Please review the following fix for a bug.
>>>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007642
>>>>>> Webrev: http://cr.openjdk.java.net/~alitvinov/8007642/webrev.00
>>>>>> The bug consists in the fact that Java cross-platform Page Setup 
>>>>>> and Print dialogs do not always list all media sizes supported by 
>>>>>> a printer. The fix is based on addition of dynamic creation of 
>>>>>> new media names of the type "sun.print.Win32MediaSize" based on 
>>>>>> paper names received from Windows API function with corresponding 
>>>>>> media sizes of the type 
>>>>>> "javax.print.attribute.standard.MediaSize" for the case, when the 
>>>>>> printer's media size name, which is being analyzed in 
>>>>>> "sun.print.Win32PrintService.initMedia" method, is not added to 
>>>>>> the final list of media sizes supported by the printer because of 
>>>>>> an already existing duplicate in that list. In such a case the 
>>>>>> printer's paper size matches with one of the media sizes 
>>>>>> registered in JDK, while the paper size ID does not match with 
>>>>>> any ID known to JDK.
>>>>>> Also the code in "Win32PrintService.findWin32Media" method was 
>>>>>> altered to allow three cases from "switch" block to work as 
>>>>>> expected, because currently they never match with "dmIndex" 
>>>>>> value, since it is always less then 
>>>>>> "dmPaperToPrintService.length" under "if" statement.
>>>>>> Thank you,
>>>>>> Anton

More information about the 2d-dev mailing list