You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "linwukang (JIRA)" <ji...@apache.org> on 2012/08/22 05:12:37 UTC

[jira] [Updated] (HADOOP-8718) org.apache.hadoop.fs.viewfs.InodeTree.createLink(...) may throw java.lang.ArrayIndexOutOfBoundsException

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

linwukang updated HADOOP-8718:
------------------------------

         Description: 
org.apache.hadoop.fs.viewfs.InodeTree.createLink(...) may throw java.lang.ArrayIndexOutOfBoundsException as breakIntoPathComponents(src) may return null. this happened when run the test case of viewfs on my jenkins server. In my situation, "/" is passed into breakIntoPathComponents() as its param "src". 
Here is the trace:
java.lang.ArrayIndexOutOfBoundsException: 1
	at org.apache.hadoop.fs.viewfs.InodeTree.createLink(InodeTree.java:237)
	at org.apache.hadoop.fs.viewfs.InodeTree.<init>(InodeTree.java:334)
	at org.apache.hadoop.fs.viewfs.ViewFileSystem$1.<init>(ViewFileSystem.java:178)
	at org.apache.hadoop.fs.viewfs.ViewFileSystem.initialize(ViewFileSystem.java:178)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2150)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:80)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2184)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2166)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:302)
	at org.apache.hadoop.fs.viewfs.ViewFileSystemTestSetup.setupForViewFileSystem(ViewFileSystemTestSetup.java:64)
	at org.apache.hadoop.fs.viewfs.TestFSMainOperationsLocalFileSystem.setUp(TestFSMainOperationsLocalFileSystem.java:40)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
	at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:236)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
Standard Output

2012-08-22 10:31:40,487 INFO  mortbay.log (Slf4jLog.java:info(67)) - Home dir base /

  was:org.apache.hadoop.fs.viewfs.InodeTree.createLink(...) may throw java.lang.ArrayIndexOutOfBoundsException as breakIntoPathComponents(src) may return null. this happened when run the test case of viewfs on my jenkins server. In my situation, "/" is passed into breakIntoPathComponents() as its param "src".

    Target Version/s: 2.0.0-alpha, 0.23.0  (was: 0.23.0, 2.0.0-alpha)
    
> org.apache.hadoop.fs.viewfs.InodeTree.createLink(...) may throw java.lang.ArrayIndexOutOfBoundsException
> --------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-8718
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8718
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: viewfs
>    Affects Versions: 0.23.0, 2.0.0-alpha
>         Environment: OS: CentOS 6.2 32bit
>            Reporter: linwukang
>              Labels: ArrayIndexOutOfBoundsException, InodeTree, viewfs
>             Fix For: 0.23.2, 2.1.0-alpha
>
>   Original Estimate: 504h
>  Remaining Estimate: 504h
>
> org.apache.hadoop.fs.viewfs.InodeTree.createLink(...) may throw java.lang.ArrayIndexOutOfBoundsException as breakIntoPathComponents(src) may return null. this happened when run the test case of viewfs on my jenkins server. In my situation, "/" is passed into breakIntoPathComponents() as its param "src". 
> Here is the trace:
> java.lang.ArrayIndexOutOfBoundsException: 1
> 	at org.apache.hadoop.fs.viewfs.InodeTree.createLink(InodeTree.java:237)
> 	at org.apache.hadoop.fs.viewfs.InodeTree.<init>(InodeTree.java:334)
> 	at org.apache.hadoop.fs.viewfs.ViewFileSystem$1.<init>(ViewFileSystem.java:178)
> 	at org.apache.hadoop.fs.viewfs.ViewFileSystem.initialize(ViewFileSystem.java:178)
> 	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2150)
> 	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:80)
> 	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2184)
> 	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2166)
> 	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:302)
> 	at org.apache.hadoop.fs.viewfs.ViewFileSystemTestSetup.setupForViewFileSystem(ViewFileSystemTestSetup.java:64)
> 	at org.apache.hadoop.fs.viewfs.TestFSMainOperationsLocalFileSystem.setUp(TestFSMainOperationsLocalFileSystem.java:40)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:236)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
> 	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
> 	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
> 	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
> 	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
> Standard Output
> 2012-08-22 10:31:40,487 INFO  mortbay.log (Slf4jLog.java:info(67)) - Home dir base /

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira