2012-09-25 16 views
5

यह स्टैक ओवरफ्लो साइट पर एक असली स्टैक ओवरफ्लो अपवाद है! मैंने सोचा कि क्या किसी ने इसे पहले देखा था - और वे इसे संबोधित करने के लिए क्या उपयोग करते थे।log4j stackoverflow

java.lang.StackOverflowError 
at java.lang.Exception.<init>(Exception.java:41) 
at java.io.IOException.<init>(IOException.java:41) 
at java.io.FileOutputStream.writeBytes(Native Method) 
at java.io.FileOutputStream.write(FileOutputStream.java:260) 
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202) 
at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:263) 
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106) 
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:116) 
at java.io.OutputStreamWriter.write(OutputStreamWriter.java:203) 
at java.io.Writer.write(Writer.java:140) 
at org.apache.log4j.helpers.CountingQuietWriter.write(CountingQuietWriter.java:44) 
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) 
at org.apache.log4j.contribs.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:395) 
at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) 
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) 
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) 
at org.apache.log4j.Category.callAppenders(Category.java:203) 
at org.apache.log4j.Category.forcedLog(Category.java:388) 
at org.apache.log4j.Category.log(Category.java:835) 
at org.apache.log4j.contribs.LoggingOutputStream.flush(LoggingOutputStream.java:168) 
at java.io.PrintStream.write(PrintStream.java:432) 
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202) 
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272) 
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85) 
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168) 
at java.io.PrintStream.write(PrintStream.java:477) 
at java.io.PrintStream.print(PrintStream.java:619) 
at java.io.PrintStream.println(PrintStream.java:756) 
at org.apache.log4j.helpers.LogLog.error(LogLog.java:142) 
at org.apache.log4j.helpers.OnlyOnceErrorHandler.error(OnlyOnceErrorHandler.java:77) 
at org.apache.log4j.helpers.OnlyOnceErrorHandler.error(OnlyOnceErrorHandler.java:67) 
at org.apache.log4j.helpers.CountingQuietWriter.write(CountingQuietWriter.java:48) 
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) 
at org.apache.log4j.contribs.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:395) 
at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) 
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) 
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) 
at org.apache.log4j.Category.callAppenders(Category.java:203) 
at org.apache.log4j.Category.forcedLog(Category.java:388) 
at org.apache.log4j.Category.log(Category.java:835) 
at org.apache.log4j.contribs.LoggingOutputStream.flush(LoggingOutputStream.java:168) 
at java.io.PrintStream.write(PrintStream.java:432) 
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202) 
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272) 
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85) 
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168) 
at java.io.PrintStream.write(PrintStream.java:477) 
at java.io.PrintStream.print(PrintStream.java:619) 
at java.io.PrintStream.println(PrintStream.java:756) 
at org.apache.log4j.helpers.LogLog.error(LogLog.java:142) 
at org.apache.log4j.helpers.OnlyOnceErrorHandler.error(OnlyOnceErrorHandler.java:77) 
at org.apache.log4j.helpers.OnlyOnceErrorHandler.error(OnlyOnceErrorHandler.java:67) 
at org.apache.log4j.helpers.CountingQuietWriter.write(CountingQuietWriter.java:48) 
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) 
at org.apache.log4j.contribs.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:395) 
at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) 
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) 
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) 
at org.apache.log4j.Category.callAppenders(Category.java:203) 
at org.apache.log4j.Category.forcedLog(Category.java:388) 
at org.apache.log4j.Category.log(Category.java:835) 
at org.apache.log4j.contribs.LoggingOutputStream.flush(LoggingOutputStream.java:168) 
at java.io.PrintStream.write(PrintStream.java:432) 
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202) 
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272) 
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85) 
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168) 
at java.io.PrintStream.write(PrintStream.java:477) 

... (बार-बार के बारे में 10 बार)

at java.io.PrintStream.write(PrintStream.java:432) 
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202) 
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272) 
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85) 
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168) 
at java.io.PrintStream.write(PrintStream.java:477) 
at java.io.PrintStream.print(PrintStream.java:619) 
at java.io.PrintStream.println(PrintStream.java:756) 
at org.apache.log4j.helpers.LogLog.error(LogLog.java:142) 
at org.apache.log4j.helpers.OnlyOnceErrorHandler.error(OnlyOnceErrorHandler.java:77) 
at org.apache.log4j.helpers.OnlyOnceErrorHandler.error(OnlyOnceErrorHandler.java:67) 
at org.apache.log4j.helpers.CountingQuietWriter.write(CountingQuietWriter.java:48) 
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) 
at org.apache.log4j.contribs.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:395) 
at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) 
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) 
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) 

java.lang.StackOverflowError

+0

आप किस प्रकार का log4j कॉन्फ़िगरेशन उपयोग कर रहे हैं? – DNA

उत्तर

5

यहाँ log4j विन्यास फाइल और कोड गुम है।

लेकिन प्रारंभिक अनुमान है कि

1) LoggingOutputStream कोड में कहीं इस्तेमाल किया जाता है, इस तरह System.err की जगह:

System.setErr(new PrintStream(new LoggingOutputStream(Category.getRoot(), Priority.WARN), true)); 

2) log4j ठीक से विन्यस्त नहीं है और System.err को आंतरिक त्रुटि मुद्रित करने के लिए कोशिश करता है LogLog में।

यह सर्कुलर लॉगिंग कॉल बनाता है जो स्टैक ओवरफ़्लो का कारण बनता है।

System.err इंटरसेप्टर को 1 से हटाने का प्रयास करें)। यह आंतरिक त्रुटि को 2 से) होने की अनुमति देगा।

+1

Thanx बहुत कुछ। आपने हमारी समस्या हल की :-) – RubioRic