[OpenJDK 2D-Dev] [9] RFR JDK-6218397:Printing to file does not throw a PrinterException if the file cannot be created

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Thu Jun 23 10:40:40 UTC 2016


Hi Phil, All,

Based on the offline discussion, I added the case when disk gets filled 
while writing to the file.
Since PrintStream does not throw IOException, I added check for 
checkError() to do the corresponding error handling. I added it after 
flush() as that is where the stream will be written to the file.
http://cr.openjdk.java.net/~psadhukhan/6218397/webrev.03/

Regards
Prasanta
On 6/20/2016 12:01 PM, prasanta sadhukhan wrote:
>
> Hi Phil,All,
>
> Added file delete in another case where we throw PrinterException.
> http://cr.openjdk.java.net/~psadhukhan/6218397/webrev.02/
>
> Regards
> Prasanta
> On 6/16/2016 1:40 PM, prasanta sadhukhan wrote:
>>
>> Modified webrev to close output stream.
>>
>> http://cr.openjdk.java.net/~psadhukhan/6218397/webrev.01/
>>
>> Regards
>> Prasanta
>> On 6/15/2016 9:52 PM, Philip Race wrote:
>>> If this is executed on Windows (shared Postscript stream printer 
>>> could do this)
>>> then since the output stream is still open I expect the delete will 
>>> fail.
>>> Attempt to close the open stream first (in a try .. catch I suppose).
>>>
>>> -phil.
>>>
>>> On 6/15/16, 3:25 AM, prasanta sadhukhan wrote:
>>>>
>>>> Hi All,
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-6218397
>>>>
>>>> The issue was if the linux disk is full and we are trying to "print 
>>>> to file" then PrinterException is not thrown and a 0 byte file is 
>>>> created.
>>>>
>>>> Although I am not able to reproduce this behaviour, because when I 
>>>> make my disk full and try to run "java", I get
>>>>
>>>> /Java HotSpot(TM) Server VM warning: Insufficient space for shared 
>>>> memory file://
>>>> //   13783//
>>>> //Try using the -Djava.io.tmpdir= option to select an alternate 
>>>> temp location./
>>>>
>>>> but on investigating this, I see that we are calling 
>>>> f.createNewFile() in RasterPrinterJob#validateDestination() which 
>>>> creates a new, empty file
>>>>
>>>> but if there is any exception in PSPrinterJob#startDoc this file is 
>>>> not deleted.
>>>>
>>>> Modified the code to make sure if there is any exception, delete 
>>>> the file.
>>>>
>>>> http://cr.openjdk.java.net/~psadhukhan/6218397/webrev.00/
>>>>
>>>> Regards
>>>> Prasanta
>>>>
>>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20160623/a0b53b2e/attachment.html>


More information about the 2d-dev mailing list