[jira] Created: (LOG4NET-225) Multithreading and Deadlocks

View: New views
10 Messages — Rating Filter:   Alert me  

[jira] Created: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Multithreading and Deadlocks
----------------------------

                 Key: LOG4NET-225
                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
             Project: Log4net
          Issue Type: Bug
          Components: Appenders
    Affects Versions: 1.2.10
            Reporter: Thomas Haller
            Priority: Blocker


If an Appender has to execute some logic on another thread,
witch uses also log4net, this leads to a deadlock.


The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Haller updated LOG4NET-225:
----------------------------------

    Attachment: Log4NetDeadlock.zip

project to reproduce that Problem

> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


RE: [jira] Updated: (LOG4NET-225) Multithreading and Deadlocks

by Dag Christensen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Can you provide a better example? If it didn't deadlock, it would run out of stack since you're calling your own appender recursively?

Regards,

Dag

-----Opprinnelig melding-----
Fra: Thomas Haller (JIRA) [mailto:jira@...]
Sendt: 10. august 2009 17:28
Til: log4net-dev@...
Emne: [jira] Updated: (LOG4NET-225) Multithreading and Deadlocks


     [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Haller updated LOG4NET-225:
----------------------------------

    Attachment: Log4NetDeadlock.zip

project to reproduce that Problem

> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

###########################################

This message has been scanned by F-Secure Anti-Virus for Microsoft Exchange.
For more information, connect to http://www.f-secure.com/

[jira] Commented: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741796#action_12741796 ]

Dag Christensen commented on LOG4NET-225:
-----------------------------------------

Without the lock, your sample code would be calling its own Appender recursively with a stack overflow as result. Should work if your appender logs to a different appender since the lock prevents appender reentry.

From AppenderSkeleton.cs:

// This lock is absolutely critical for correct formatting
// of the message in a multi-threaded environment.  Without
// this, the message may be broken up into elements from
// multiple thread contexts (like get the wrong thread ID).
lock(this)
{
(...)


> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741982#action_12741982 ]

Thomas Haller commented on LOG4NET-225:
---------------------------------------

thank you for reviewing my Code!

yeah thats allright - i have overseen that!!

in the reall time Application i have a LEVEL=WARN filter on that appender,
and thread #2 is only logging Debug.

so this would not be a problem within my scenario.

hmmm maybe i can pass some info to the new thread to avoid reentrency...


> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12742149#action_12742149 ]

Ron Grabowski commented on LOG4NET-225:
---------------------------------------

Sounds like you have a general logging setup question not a locking issue. Maybe if you explain what you're trying to do (to the mail list) people might be able to help you configure your appenders correctly.

> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753661#action_12753661 ]

DRIN commented on LOG4NET-225:
------------------------------

Could you explain more what is the solution of this issue ?
Because I have a similar problem of deadlock on a RichTextBoxAppender when a working thread send a log and the UI thread send a log too...

> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12767201#action_12767201 ]

Ron Grabowski commented on LOG4NET-225:
---------------------------------------

DRIN, the problem is that you shouldn't be logging from within appenders. Is that what your appender is doing?

> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12767202#action_12767202 ]

Ron Grabowski commented on LOG4NET-225:
---------------------------------------

Thomas, filters are processed within the recursive lock. Are you sure you need your appender to issue another log message? I suppose your appender could log to a different repository with its own appenders. That smells bad too...

> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (LOG4NET-225) Multithreading and Deadlocks

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/LOG4NET-225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ron Grabowski resolved LOG4NET-225.
-----------------------------------

    Resolution: Invalid

Don't log while logging within the same LoggerRepository.

> Multithreading and Deadlocks
> ----------------------------
>
>                 Key: LOG4NET-225
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-225
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.10
>            Reporter: Thomas Haller
>            Priority: Blocker
>         Attachments: Log4NetDeadlock.zip
>
>
> If an Appender has to execute some logic on another thread,
> witch uses also log4net, this leads to a deadlock.
> The sample project i created demonstrates that problem.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.