You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Köther, Michael <Mi...@conceptq.de> on 2013/06/25 13:27:47 UTC

Blocked log file / logging

Dear list,

I'm having a problem recently with my application which uses log4j.
The application does several loggings within Swing's Event Dispatching Thread -- like a simple

log.warn("my message");

And sometimes this leads to a blocking of the application for about 10 to 15 minutes.
When I debug the application and pause it, the EDT is the only thread trying to write to a file.

The stacktrace of it looks like:

FileOutputStream.write(Byte[]) (code line unknown here)
... (several other calls between the call of Logger.warn() and FileOutputStream.write())
Logger.warn()

And at this point it hangs for the said 10 to 15 minutes. Then it continues.

I have no idea yet what caused this, since it's just existing since about 2 or 3 weeks.

Any idea of how to diagnose what's the problem here?
Is there anyking of this issue known to log4j?

The used version of log4j is 1.2.16. Unfortunately, I cannot just change it to something newer.

Kind regards, Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Blocked log file / logging

Posted by Köther, Michael <Mi...@conceptq.de>.
Thanks for your hint, Brett.

At the bottom of my message I have pasted a complete stack trace where the logger was blocked.
Again, it takes about 10 to 15 minutes usually, and then the application continues to work.

>From what I read in the bug reports, the issue seemed to appear on Solaris.

My machine runs with Windows 7 x64. The used JVM is 1.6.0_20-b02. Again, Log4J is 1.2.16.

Does the stack trace help?
I myself cannot say I'm sure it's Log4j, but do not really know how to diagnose this.

Best, Michael

Stack trace:

Thread [AWT-EventQueue-0] (Suspended)	
	FileOutputStream.writeBytes(byte[], int, int) line: not available [native method]	
	FileOutputStream.write(byte[], int, int) line: not available	
	BufferedOutputStream.write(byte[], int, int) line: not available	
	PrintStream.write(byte[], int, int) line: not available	
	StreamEncoder.writeBytes() line: not available	
	StreamEncoder.implFlushBuffer() line: not available	
	StreamEncoder.implFlush() line: not available	
	StreamEncoder.flush() line: not available	
	OutputStreamWriter.flush() line: not available [local variables unavailable]	
	QuietWriter.flush() line: 59	
	ConsoleAppender(WriterAppender).subAppend(LoggingEvent) line: 324	
	ConsoleAppender(WriterAppender).append(LoggingEvent) line: 162	
	ConsoleAppender(AppenderSkeleton).doAppend(LoggingEvent) line: 251	
	AppenderAttachableImpl.appendLoopOnAppenders(LoggingEvent) line: 66	
	Logger(Category).callAppenders(LoggingEvent) line: 206	
	Logger(Category).forcedLog(String, Priority, Object, Throwable) line: 391	
	Logger(Category).log(String, Priority, Object, Throwable) line: 856	
	Log4JLogger.warn(Object) line: 157	
	DefaultExternalizer.update(IExternalizable) line: 153	
	DefaultExternalizer.updateAll() line: 169	
	SwingExternalizer$3.run() line: 165	
	SwingRunner.runSynchronously(Runnable) line: 55	
	SwingExternalizer.updateAll() line: 162	
	ManagedExternalizer.updateAll() line: 173	
	FormularPanel$1(FormMetaPanel).setFormPanelComponents(MyCustomFormModel, boolean) line: 854	
	FormularPanel$1.setFormPanelComponents(MyCustomFormModel, boolean) line: 158	
	FormularPanel.setFormPanelComponents(MyCustomFormModel) line: 478	
	TablePanel.setFormularComponents(FormularFormModel, boolean) line: 1626	
	MyCustomView.setFormularPanelComponents(FormularFormModel, boolean) line: 637	
	MyCustomApp.createFormularFormModel(int) line: 3810	
	MyCustomApp.access$31(MyCustom, int) line: 3787	
	MyCustomApp$MyCustomDataCheckOutWorker.doFinished() line: 584	
	SwingWorker$FinishedRunnable.run() line: 48	
	InvocationEvent.dispatch() line: not available	
	EventQueue.dispatchEvent(AWTEvent) line: not available	
	EventDispatchThread.pumpOneEventForFilters(int) line: not available	
	EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available	
	EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available	
	EventDispatchThread.pumpEvents(int, Conditional) line: not available	
	EventDispatchThread.pumpEvents(Conditional) line: not available	
	EventDispatchThread.run() line: not available	


________________________________________
Von: Brett Randall [javabrett@gmail.com]
Gesendet: Dienstag, 25. Juni 2013 13:33
An: Log4J Users List
Betreff: Re: Blocked log file / logging

Perhaps you are seeing this issue:
https://issues.apache.org/bugzilla/show_bug.cgi?id=41214 , duplicated by
https://issues.apache.org/bugzilla/show_bug.cgi?id=42213 ?

Please provide as complete-as-possible stacktraces of thread dumps.



On 25 June 2013 21:27, Köther, Michael <Mi...@conceptq.de> wrote:

> Dear list,
>
> I'm having a problem recently with my application which uses log4j.
> The application does several loggings within Swing's Event Dispatching
> Thread -- like a simple
>
> log.warn("my message");
>
> And sometimes this leads to a blocking of the application for about 10 to
> 15 minutes.
> When I debug the application and pause it, the EDT is the only thread
> trying to write to a file.
>
> The stacktrace of it looks like:
>
> FileOutputStream.write(Byte[]) (code line unknown here)
> ... (several other calls between the call of Logger.warn() and
> FileOutputStream.write())
> Logger.warn()
>
> And at this point it hangs for the said 10 to 15 minutes. Then it
> continues.
>
> I have no idea yet what caused this, since it's just existing since about
> 2 or 3 weeks.
>
> Any idea of how to diagnose what's the problem here?
> Is there anyking of this issue known to log4j?
>
> The used version of log4j is 1.2.16. Unfortunately, I cannot just change
> it to something newer.
>
> Kind regards, Michael
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Blocked log file / logging

Posted by Brett Randall <ja...@gmail.com>.
Perhaps you are seeing this issue:
https://issues.apache.org/bugzilla/show_bug.cgi?id=41214 , duplicated by
https://issues.apache.org/bugzilla/show_bug.cgi?id=42213 ?

Please provide as complete-as-possible stacktraces of thread dumps.



On 25 June 2013 21:27, Köther, Michael <Mi...@conceptq.de> wrote:

> Dear list,
>
> I'm having a problem recently with my application which uses log4j.
> The application does several loggings within Swing's Event Dispatching
> Thread -- like a simple
>
> log.warn("my message");
>
> And sometimes this leads to a blocking of the application for about 10 to
> 15 minutes.
> When I debug the application and pause it, the EDT is the only thread
> trying to write to a file.
>
> The stacktrace of it looks like:
>
> FileOutputStream.write(Byte[]) (code line unknown here)
> ... (several other calls between the call of Logger.warn() and
> FileOutputStream.write())
> Logger.warn()
>
> And at this point it hangs for the said 10 to 15 minutes. Then it
> continues.
>
> I have no idea yet what caused this, since it's just existing since about
> 2 or 3 weeks.
>
> Any idea of how to diagnose what's the problem here?
> Is there anyking of this issue known to log4j?
>
> The used version of log4j is 1.2.16. Unfortunately, I cannot just change
> it to something newer.
>
> Kind regards, Michael
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>