Java安全更新后使用SAXReader时的StackOverflower错误
运行Mac(OS X 10.8.1)。我们升级到了最新的Java安全更新1.6.0_35-b10-428,此后我们的主应用程序就不再在Eclipse中启动 启动Openfire 3.6.4时引发以下异常。解析openfire.xml配置的主要位置是错误发生时:Java安全更新后使用SAXReader时的StackOverflower错误,java,macos,stack-overflow,Java,Macos,Stack Overflow,运行Mac(OS X 10.8.1)。我们升级到了最新的Java安全更新1.6.0_35-b10-428,此后我们的主应用程序就不再在Eclipse中启动 启动Openfire 3.6.4时引发以下异常。解析openfire.xml配置的主要位置是错误发生时: private void buildDoc(Reader in) throws IOException { try { SAXReader xmlReader = new SAXReader();
private void buildDoc(Reader in) throws IOException {
try {
SAXReader xmlReader = new SAXReader();
xmlReader.setEncoding("UTF-8");
document = xmlReader.read(in);
}
catch (Exception e) {
Log.error("Error reading XML properties", e);
System.out.println("NOOO");
e.printStackTrace();
throw new IOException(e.getMessage());
}
finally {
if (in != null) {
in.close();
}
}
}
引发异常:
Exception in thread "main" java.lang.StackOverflowError
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:52)
at java.nio.ByteBuffer.wrap(ByteBuffer.java:350)
at java.nio.ByteBuffer.wrap(ByteBuffer.java:373)
at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:237)
at java.lang.StringCoding.encode(StringCoding.java:272)
at java.lang.String.getBytes(String.java:946)
at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
at java.io.File.exists(File.java:733)
at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:999)
at sun.misc.URLClassPath.getResource(URLClassPath.java:169)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.dom4j.DocumentFactory.createDocument(DocumentFactory.java:102)
at org.dom4j.DocumentFactory.createDocument(DocumentFactory.java:122)
at org.dom4j.io.SAXContentHandler.createDocument(SAXContentHandler.java:830)
at org.dom4j.io.SAXContentHandler.getDocument(SAXContentHandler.java:164)
at org.dom4j.io.SAXContentHandler.comment(SAXContentHandler.java:428)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.comment(AbstractSAXParser.java:667)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.comment(XMLDTDValidator.java:978)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:479)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.dom4j.io.SAXReader.read(SAXReader.java:365)
at org.jivesoftware.util.XMLProperties.buildDoc(XMLProperties.java:471)
at org.jivesoftware.util.XMLProperties.<init>(XMLProperties.java:114)
at org.jivesoftware.util.XMLProperties.<init>(XMLProperties.java:63)
at org.jivesoftware.util.JiveGlobals.loadSetupProperties(JiveGlobals.java:832)
at org.jivesoftware.util.JiveGlobals.getXMLProperty(JiveGlobals.java:282)
at org.jivesoftware.util.JiveGlobals.isSetupMode(JiveGlobals.java:791)
at org.jivesoftware.util.JiveGlobals.getProperty(JiveGlobals.java:529)
at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:300)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:419)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:163)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:106)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:51)
线程“main”java.lang.StackOverflower中出现异常
位于java.nio.HeapByteBuffer。(HeapByteBuffer.java:52)
位于java.nio.ByteBuffer.wrap(ByteBuffer.java:350)
位于java.nio.ByteBuffer.wrap(ByteBuffer.java:373)
在java.lang.StringCoding$StringEncoder.encode(StringCoding.java:237)
在java.lang.StringCoding.encode(StringCoding.java:272)
位于java.lang.String.getBytes(String.java:946)
位于java.io.UnixFileSystem.getBooleanAttributes0(本机方法)
位于java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
位于java.io.File.exists(File.java:733)
位于sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:999)
位于sun.misc.URLClassPath.getResource(URLClassPath.java:169)
位于java.net.URLClassLoader$1.run(URLClassLoader.java:194)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
位于java.lang.ClassLoader.defineClass(ClassLoader.java:615)
位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
在java.net.URLClassLoader.access$000(URLClassLoader.java:58)
在java.net.URLClassLoader$1.run(URLClassLoader.java:197)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
位于java.lang.ClassLoader.defineClass(ClassLoader.java:615)
位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
在java.net.URLClassLoader.access$000(URLClassLoader.java:58)
在java.net.URLClassLoader$1.run(URLClassLoader.java:197)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
位于java.lang.ClassLoader.defineClass(ClassLoader.java:615)
位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
在java.net.URLClassLoader.access$000(URLClassLoader.java:58)
在java.net.URLClassLoader$1.run(URLClassLoader.java:197)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
位于org.dom4j.DocumentFactory.createDocument(DocumentFactory.java:102)
位于org.dom4j.DocumentFactory.createDocument(DocumentFactory.java:122)
位于org.dom4j.io.SAXContentHandler.createDocument(SAXContentHandler.java:830)
位于org.dom4j.io.SAXContentHandler.getDocument(SAXContentHandler.java:164)
位于org.dom4j.io.SAXContentHandler.comment(SAXContentHandler.java:428)
位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.comment(AbstractSAXParser.java:667)
请访问com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.comment(XMLDTDValidator.java:978)
位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:479)
位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
位于com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
位于com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$jaxpsaxpasser.parse(saxpasserimpl.java:522)
位于org.dom4j.io.SAXReader.read(SAXReader.java:465)
位于org.dom4j.io.SAXReader.read(SAXReader.java:365)
位于org.jivesoftware.util.XMLProperties.buildDoc(XMLProperties.java:471)
位于org.jivesoftware.util.XMLProperties。(XMLProperties.java:114)
位于org.jivesoftware.util.XMLProperties。(XMLProperties.java:63)
位于org.jivesoftware.util.JiveGlobals.loadSetupProperties(JiveGlobals.java:832)
位于org.jivesoftware.util.JiveGlobals.getXMLProperty(JiveGlobals.java:282)
在org.jivesoftware.util.JiveGlobals.isSetupMode(JiveGlobals.java:791)上
位于org.jivesoftware.util.JiveGlobals.getProperty(JiveGlobals.java:529)
位于org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:300)
位于org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:419)
位于org.jivesoftware.openfire.XMPPServer(XMPPServer.java:163)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于java.lang.Class.newInstance0(Cla