logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominik Psenner (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4NET-341) RemotingAppender Error
Date Wed, 23 May 2012 21:33:40 GMT

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

Dominik Psenner commented on LOG4NET-341:

I bisected it to revision 778073 and revision 778271. The commit log says:

Fix for LOG4NET-154. Added StackTracePatternConverter that outputs the methods called before
the log message.


My guess that since then a logevent holds a reference to the client assembly was probably
right. The reference comes from the stacktrace (location) information.

Good is that we now know what goes wrong, but I don't know a way to fix it without breaking
the StackTracePatternConverter functionality. The problem is that the server cannot half deserialize
a logging event by ignoring the stacktrace information. And on the other hand the client must
send that information along with the log event to the server since the client does not know
if the server wants to access that information.

So there are 2 options now:

1-FIX] Rewrite the StackTracePatternConverter so that it clones the stacktrace information
into a meta structure that does not hold a reference to the calling assembly. This will take
time and I can't give you any estimates.

2-HOTFIX] Make the client assembly accessible at server side. The best option here is to add
a dependency on the client project so that visual studio builds the client stuff into the
> RemotingAppender Error
> ----------------------
>                 Key: LOG4NET-341
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-341
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.11
>         Environment: Windows 7, .Net Framework 4, VS C# 2010
>            Reporter: Sandra Neumann
>            Priority: Blocker
>             Fix For: 1.2.10
>         Attachments: screenshot-1.jpg
> I have a solution with a console application (.Net 4 and log4net v1.2.11) which implement
the Remoting sink - server side. And a WPF or WindowsForms application - client side. The
framework version on the client side doesn't matter. But the log4net version is different.
On v1.2.10 anything is ok. When I reference the client with v1.2.11 throw this error: 
> log4net:ERROR [RemotingAppender] ErrorCode: GenericFailure. Failed in SendBufferCallback
> System.Reflection.TargetInvocationException: Exception has been thrown by the target
of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly
'WpfTestApplication, Version=, Culture=neutral, PublicKeyToken=null' or one of its
dependencies. Das System kann die angegebene Datei nicht finden.
>    at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean
throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
>    at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean
throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
>    at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,
Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean
>    at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence
assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
>    at System.Reflection.Assembly.Load(String assemblyString)
>    at System.Runtime.Serialization.FormatterServices.LoadAssemblyFromString(String assemblyName)
>    at System.Reflection.MemberInfoSerializationHolder..ctor(SerializationInfo info, StreamingContext
>    --- End of inner exception stack trace ---
> Server stack trace: 
>    at System.RuntimeMethodHandle._SerializationInvoke(IRuntimeMethodInfo method, Object
target, SignatureStruct& declaringTypeSig, SerializationInfo info, StreamingContext context)
>    at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj,
SerializationInfo info, StreamingContext context)
>    at System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder)
>    at System.Runtime.Serialization.ObjectManager.DoFixups()
>    at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage
>    at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage
>    at System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryRequestMessage(String
objectUri, Stream inputStream, Boolean bStrictBinding, TypeFilterLevel securityLevel)
>    at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack
sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage&
responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
> Exception rethrown at [0]: 
>    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,
IMessage retMsg)
>    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
Int32 type)
>    at log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(LoggingEvent[] events)
>    at log4net.Appender.RemotingAppender.SendBufferCallback(Object state)

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message