2016-04-13 5 views
0

callgrindで1つのプロセスを実行しようとしています。callgrindを実行しているときに、libhdfsが定数プールの不正なUTF8文字列をスローする

java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider org.apache.hadoop.fs.viewfs.ViewFileSystem could not be instantiated 
    at java.util.ServiceLoader.fail(ServiceLoader.java:224) 
    at java.util.ServiceLoader.access$100(ServiceLoader.java:181) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377) 
    at java.util.ServiceLoader$1.next(ServiceLoader.java:445) 
    at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:2602) 
Caused by: java.lang.ExceptionInInitializerError 
    at org.apache.hadoop.fs.viewfs.ViewFileSystem.<init>(ViewFileSystem.java:134) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at java.lang.Class.newInstance(Class.java:374) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373) 
    ... 2 more 
Caused by: java.lang.IllegalArgumentException: java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file com/sun/proxy/$Proxy7 
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:685) 
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:592) 
    at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:244) 
    at java.lang.reflect.WeakCache.get(WeakCache.java:141) 
    at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:455) 
    at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:738) 
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.getProxyForCallback(MetricsSystemImpl.java:315) 
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.register(MetricsSystemImpl.java:311) 
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.register(MetricsSystemImpl.java:237) 
    at org.apache.hadoop.metrics2.MetricsSystem.register(MetricsSystem.java:60) 
    at org.apache.hadoop.security.UserGroupInformation$UgiMetrics.create(UserGroupInformation.java:120) 
    at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:236) 
    ... 9 more 

通常、私はこの例外を得ることはありません実行している場合:これは例外をスローcallgrind通過する際に、子プロセスの一つは、(私がトレースする必要があること)libhdfsを呼び出します。何が起きているのか?私はvalgrind/callgrindには新しいです。

答えて

0

これは、valgrindが好きではない通常の操作過程で多くのSIGSEGVを生成するJVMの問題です。私はコールグラント--vex-iropt-register-updates=allregs-at-mem-accessに次のパラメータでそれを打ち破った。

関連する問題