harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Pavlenko (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-3135) [classlib][awt] unexpected InterruptedException after loading png-image
Date Thu, 15 Mar 2007 18:12:09 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-3135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12481266
] 

Andrey Pavlenko commented on HARMONY-3135:
------------------------------------------

This issue is caused by inappropriate usage of the image decoder, implemented in the AWT module.
In the decoder's implementation it's expected that all images are loaded in a separate thread.
ImageIO.read() loads images in the same thread that causes changing of the interrupted status
of the current thread. Thus, this is not awt but imageio issue. Could somebody change the
component of this issue to imageio? I'll attach a patch against the imageio module. 

> [classlib][awt] unexpected InterruptedException after loading png-image
> -----------------------------------------------------------------------
>
>                 Key: HARMONY-3135
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3135
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>         Environment: win32, lnx32, 
>            Reporter: Evgeniya Maenkova
>            Priority: Critical
>         Attachments: golden_0400.png, Sync.java
>
>
> The test is: (to be attached)
> import java.io.IOException;
> import java.net.URL;
>  
> import javax.imageio.ImageIO;
>  
> public class Sync {                
>                 
>     public static void main(String[] args) {
>                 URL imageURL = Sync.class.getResource("golden_0400.png");
>         System.out.println(imageURL);      
>         try {
>             ImageIO.read(imageURL.openStream());
>         } catch (IOException e) {              
>         }       
>         
>         Thread b = new Thread();             
>         b.start();
>         try {
>             b.join();            
>         } catch (Exception e) {                  
>                 System.out.println((e instanceof InterruptedException));
>                 e.printStackTrace();
>         }
>         
>         int res = 1;
>         for (int i = 1; i < 10000; i ++) {
>                 res = (res * i) % 107 + 1;                        
>         }
>         System.out.println("End " + res);
>         
>                 }
> }
>  
> DRL vm output:
> C:\ecl_311_ws\Test>C:\Harmony\trunk\working_vm\build\deploy\jdk\jre\bin\java -Xem:server
Sync
> file:/C:/ecl_311_ws/Test/./golden_0400.png
> true
> java.lang.InterruptedException
>         at java.lang.Object.wait(Object.java:100)
>         at java.lang.Thread.join(Thread.java:591)
>         at Sync.main(Sync.java:19)
> End 26
>  
> RI output:
> file:/C:/ecl_311_ws/Test/golden_0400.png
> End 26

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message