harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elena Semukhina (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-2982) [classlib][net ] java.net.URLClassLoader implementation is not thread safe.
Date Mon, 29 Jan 2007 13:41:50 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-2982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Elena Semukhina updated HARMONY-2982:
-------------------------------------

    Component/s:     (was: DRLVM)
                 Classlib
    Description: 
The DRLVM smoke test classloader.StressLoader fails intermittently on both Linux and Windows.

To reproduce the failure you should run the test iteratively in the following way:

while true; do $DRLVM -cp <path to smoke test classes> classloader.StressLoader; done

I observe two sorts of intermittent failures: 

1. java.lang.NullPointerException
	at java.net.URLClassLoader.explore(URLClassLoader.java:1200)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:809)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)

2. java.lang.ArrayIndexOutOfBoundsException
	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)
java.lang.ArrayIndexOutOfBoundsException
	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)
java.lang.ArrayIndexOutOfBoundsException
	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)



  was:
I observe two sorts of intermittent failures. They occur in JIT mode. I saw them on linux
ia32 build: 

1. java.lang.NullPointerException
	at java.net.URLClassLoader.explore(URLClassLoader.java:1200)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:809)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)

2. java.lang.ArrayIndexOutOfBoundsException
	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)
java.lang.ArrayIndexOutOfBoundsException
	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)
java.lang.ArrayIndexOutOfBoundsException
	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
	at java.net.URLClassLoader$5.run(URLClassLoader.java)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
	at classloader.LogLoader.loadClass(Unknown Source)
	at classloader.StressLoader.run(Unknown Source)



     Patch Info: [Patch Available]
        Summary: [classlib][net ] java.net.URLClassLoader implementation is not thread safe.
 (was: [drlvm][smoke tests] Smoke test classloader.StressLoader fails intermittently)

I moved the issue from [drlvm] to [classlib] category.

> [classlib][net ] java.net.URLClassLoader implementation is not thread safe.
> ---------------------------------------------------------------------------
>
>                 Key: HARMONY-2982
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2982
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Elena Semukhina
>         Attachments: H-2982.patch
>
>
> The DRLVM smoke test classloader.StressLoader fails intermittently on both Linux and
Windows.
> To reproduce the failure you should run the test iteratively in the following way:
> while true; do $DRLVM -cp <path to smoke test classes> classloader.StressLoader;
done
> I observe two sorts of intermittent failures: 
> 1. java.lang.NullPointerException
> 	at java.net.URLClassLoader.explore(URLClassLoader.java:1200)
> 	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:809)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java)
> 	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
> 	at java.security.AccessController.doPrivileged(Unknown Source)
> 	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
> 	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
> 	at java.lang.ClassLoader.getResource(Unknown Source)
> 	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
> 	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
> 	at classloader.LogLoader.loadClass(Unknown Source)
> 	at classloader.StressLoader.run(Unknown Source)
> 2. java.lang.ArrayIndexOutOfBoundsException
> 	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
> 	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
> 	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java)
> 	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
> 	at java.security.AccessController.doPrivileged(Unknown Source)
> 	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
> 	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
> 	at java.lang.ClassLoader.getResource(Unknown Source)
> 	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
> 	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
> 	at classloader.LogLoader.loadClass(Unknown Source)
> 	at classloader.StressLoader.run(Unknown Source)
> java.lang.ArrayIndexOutOfBoundsException
> 	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
> 	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
> 	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java)
> 	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
> 	at java.security.AccessController.doPrivileged(Unknown Source)
> 	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
> 	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
> 	at java.lang.ClassLoader.getResource(Unknown Source)
> 	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
> 	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
> 	at classloader.LogLoader.loadClass(Unknown Source)
> 	at classloader.StressLoader.run(Unknown Source)
> java.lang.ArrayIndexOutOfBoundsException
> 	at java.util.IdentityHashMap.rehash(IdentityHashMap.java:501)
> 	at java.util.IdentityHashMap.put(IdentityHashMap.java:463)
> 	at java.net.URLClassLoader.findResourceImpl(URLClassLoader.java:720)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java:667)
> 	at java.net.URLClassLoader$5.run(URLClassLoader.java)
> 	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
> 	at java.security.AccessController.doPrivileged(Unknown Source)
> 	at java.net.URLClassLoader.findResource(URLClassLoader.java:665)
> 	at java.lang.ClassLoader$BootstrapLoader.findResource(Unknown Source)
> 	at java.lang.ClassLoader.getResource(Unknown Source)
> 	at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
> 	at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source)
> 	at classloader.LogLoader.loadClass(Unknown Source)
> 	at classloader.StressLoader.run(Unknown Source)

-- 
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