Hi there, I am using valgrind to help analyse my MPI program.
I used hdfs file system to read/write data. And if I run the code without valgrind, it works correctly. However, if I run with valgrind, for example, *mpirun -np 3 /usr/bin/valgrind --tool=callgrind ./myprogram /input_file /output_file* it returns with following information ========================================================= *Exception in thread "main" java.lang.InternalError: processing event: 535548453 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:506) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:177) at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1156) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1107) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1053) at org.apache.hadoop.conf.Configuration.get(Configuration.java:397) at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:594) at org.apache.hadoop.security.SecurityUtil.<clinit>(SecurityUtil.java:67) at org.apache.hadoop.net.NetUtils.makeSocketAddr(NetUtils.java:188) at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:168) at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:212) at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:99) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1446) at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:67) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1464) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:263) at org.apache.hadoop.fs.FileSystem$1.run(FileSystem.java:118) at org.apache.hadoop.fs.FileSystem$1.run(FileSystem.java:116) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:116)Call to org.apache.hadoop.fs.Filesystem::get(URI, Configuration) failed!* ========================================================= By debugging, I found that the exception happens in hdfsConnect(). But I don't how to fix it. Could anyone give me some advice, please? -- Best Regards. --- Xing FENG PhD Candidate Database Research Group School of Computer Science and Engineering University of New South Wales NSW 2052, Sydney Phone: (+61) 413 857 288