[ 
https://issues.apache.org/jira/browse/LOG4J2-636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14496777#comment-14496777
 ] 

Mikhail Dobrinin edited comment on LOG4J2-636 at 4/15/15 11:10 PM:
-------------------------------------------------------------------

The trace is actually slightly different than the one posted here, but I 
suspect the cause is the same.

{noformat}
2015-03-25 11:45:13,743 ERROR Unable to write to stream .../Thread.log for 
appender MyAppender
2015-03-25 11:45:13,744 ERROR An exception occurred processing Appender 
MyAppender org.apache.logging.log4j.core.appender.AppenderLoggingException: 
Error flushing stream .../Thread.log
        at 
org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:159)
        at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:112)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at 
org.apache.logging.log4j.core.appender.routing.RoutingAppender.append(RoutingAppender.java:113)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at com.company.MyRoutingAppender.append(MyRoutingAppender.java:137)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at 
org.apache.logging.log4j.core.appender.rewrite.RewriteAppender.append(RewriteAppender.java:89)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at 
org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:430)
        at 
org.apache.logging.log4j.core.async.AsyncLoggerConfig.asyncCallAppenders(AsyncLoggerConfig.java:121)
        at 
org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper$Log4jEventWrapperHandler.onEvent(AsyncLoggerConfigHelper.java:222)
        at 
org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper$Log4jEventWrapperHandler.onEvent(AsyncLoggerConfigHelper.java:207)
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Stream Closed
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:345)
        at 
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at 
org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:156)
        ... 16 more
{noformat}

There is logic in my application that is closing appenders sometimes and this 
issue manifests itself when a File appender is closed, but the disruptor has 
not delivered all the messages that are meant to be in that File appender.


was (Author: mvdobrinin):
The trace is actually slightly different than the one posted here, but I 
suspect the cause is the same.

{noformat}
2015-03-25 11:45:13,743 ERROR Unable to write to stream .../Thread.log for 
appender MyAppender
2015-03-25 11:45:13,744 ERROR An exception occurred processing Appender 
MyAppender org.apache.logging.log4j.core.appender.AppenderLoggingException: 
Error flushing stream .../Thread.log
        at 
org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:159)
        at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:112)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at 
org.apache.logging.log4j.core.appender.routing.RoutingAppender.append(RoutingAppender.java:113)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at com.company.MyRoutingAppender.append(MyRoutingAppender.java:137)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at 
org.apache.logging.log4j.core.appender.rewrite.RewriteAppender.append(RewriteAppender.java:89)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99)
        at 
org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:430)
        at 
org.apache.logging.log4j.core.async.AsyncLoggerConfig.asyncCallAppenders(AsyncLoggerConfig.java:121)
        at 
org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper$Log4jEventWrapperHandler.onEvent(AsyncLoggerConfigHelper.java:222)
        at 
org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper$Log4jEventWrapperHandler.onEvent(AsyncLoggerConfigHelper.java:207)
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Stream Closed
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:345)
        at 
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at 
org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:156)
        ... 16 more
{noformat}

There is logic in my application that is closing appenders sometimes and this 
pops up when the appender is closed, but the disruptor has not delivered all 
the messages that are meant to be in the leaf File appender.

> IOException: Stream Closed RollingRandomAccessFile
> --------------------------------------------------
>
>                 Key: LOG4J2-636
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-636
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.0-rc1
>         Environment: Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 
> GNU/Linux
>            Reporter: Adrian Wilford
>            Assignee: Remko Popma
>              Labels: Rollover
>             Fix For: 2.1
>
>
> After some time, RollingRandomAccessFile can no longer write logging events 
> (have not run out of disk space).
> {code}
> 2014-05-13 10:05:18,284 ERROR Unable to write to stream logs/CALEEBaskets.log 
> for appender RollingRandomAccessFile
> 2014-05-13 10:05:18,284 ERROR An exception occurred processing Appender 
> RollingRandomAccessFile 
> org.apache.logging.log4j.core.appender.AppenderLoggingException: Error 
> writing to RandomAccessFile logs/CALEEBaskets.log
>       at 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:109)
>       at 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.write(RollingRandomAccessFileManager.java:90)
>       at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.write(OutputStreamManager.java:129)
>       at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:120)
>       at 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:96)
>       at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97)
>       at 
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425)
>       at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
>       at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367)
>       at org.apache.logging.log4j.core.Logger.log(Logger.java:112)
>       at 
> org.apache.logging.log4j.spi.AbstractLogger.debug(AbstractLogger.java:338)
>       at 
> com.corticalSystems.CALEE.algorithms.baskets.persistence.orderLogging.OrderLoggingDAL.createNewOrder(OrderLoggingDAL.java:163)
>       at 
> com.corticalSystems.CALEE.algorithms.baskets.logic.ConstituentLogicThread.sendNewOrder(ConstituentLogicThread.java:1087)
>       at 
> com.corticalSystems.CALEE.algorithms.baskets.logic.ConstituentLogicThread.run(ConstituentLogicThread.java:1587)
>       at java.lang.Thread.run(Thread.java:744)
> Caused by: java.io.IOException: Stream Closed
>       at java.io.RandomAccessFile.writeBytes0(Native Method)
>       at java.io.RandomAccessFile.writeBytes(RandomAccessFile.java:520)
>       at java.io.RandomAccessFile.write(RandomAccessFile.java:550)
>       at 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:106)
>       ... 14 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to