Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006109opensim[MISC] Compiling / Buildingpublic2012-07-27 02:322012-12-16 06:18
Reporterorenh 
Assigned Tojustincc 
PrioritynormalSeverityminorReproducibilityN/A
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Versionmaster (dev code) 
Target Versionmaster (dev code)Fixed in Version 
Summary0006109: [PATCH] Use the same log4net.dll as OpenMetaverse
DescriptionCopied the log4net.dll file from OpenMetaverse to OpenSim. This solves the problem where errors that happen in OpenMetaverse aren't logged, and instead we get errors about OpenMetaverse.Logger.
Steps To ReproduceCause OpenMetaverse to log an error, and you'll see that it logs an unrelated error about OpenMetaverse.Logger because it can't load log4net.

For example: http://opensimulator.org/mantis/view.php?id=5358 [^]
Additional InformationThe problem was that we were using a slightly different version of log4net.dll than OpenMetaverse, so whenever OpenMetaverse tried to write to the log it failed and produced an assembly error instead. The two versions of log4net are basically the same (version 1.2.10.0): the only difference is that the version in OpenSim had a publickey, and the version in OpenMetaverse does not.

Here are a few more details. The log4net.dll in OpenSim was taken directly from the log4net site. It includes a publickey, and was compiled for .NET 2.0. The log4net.dll in OpenMetaverse isn't on the log4net site (not now, anyway): perhaps it was compiled separately. It's compiled for .NET 3.5, and doesn't include a publickey.

If you compare the manifests (using ildasm.exe) then you can see the difference:

1. OpenSim.exe manifest:

.assembly extern log4net
{
  .publickeytoken = (1B 44 E1 D4 26 11 58 21 )
  .ver 1:2:10:0
}


2. OpenMetaverse.dll manifest:

.assembly extern log4net
{
  .ver 1:2:10:0
}


An alternative solution would be to change the log4net.dll in OpenMetaverse instead of the one in OpenSim. However, it's easier to change our own project than someone else's... At some point, presumably, everyone will switch to the latest version of log4net (1.2.11) and then we'll all be using the same DLL.
TagsNo tags attached.
Git Revision or version numberbacab6406c3bbc9587089ada7c675c0dc0359ff9
Run Mode Grid (Multiple Regions per Sim)
Physics EngineODE
Environment.NET / Windows64
Mono Version2.10
Viewer
Attached Filespatch file icon 0001-Use-the-same-log4net.dll-as-OpenMetaverse.patch [^] (269,158 bytes) 2012-07-27 02:32
patch file icon 0002-Changed-references-to-a-specific-version-of-log4net-.patch [^] (12,510 bytes) 2012-07-27 02:33 [Show Content]

- Relationships

-  Notes
(0021911)
orenh (administrator)
2012-07-27 02:34

I also recompiled OpenSim.32BitLaunch.exe and Robust.32BitLaunch.exe, because they were using references to a specific version of log4net, and they should be using generic references (like all the other projects).
(0022506)
justincc (administrator)
2012-08-31 17:33

Thanks very much for the analysis Oren. I'm going to attempt to get libomv to update their log4net.dll [1].

Also, I plan to do the .exe changes but would rather recompile the executables myself. It's pretty much project policy to not directly add binary executable patches from non-core committers.

[1] https://github.com/openmetaversefoundation/libopenmetaverse/pull/2 [^]
(0022538)
justincc (administrator)
2012-09-07 16:49

lkalif accepted the pull request. At some point this libomv will be updated in OpenSimulator.
(0022634)
justincc (administrator)
2012-09-19 17:30

libomv updated in OpenSimulator for this as of commit 95809ca
(0023265)
orenh (administrator)
2012-12-16 01:44

I think this issue is done.
(0023266)
nebadon (administrator)
2012-12-16 06:18
edited on: 2012-12-16 06:19

original reporter claims this is now fixed.


- Issue History
Date Modified Username Field Change
2012-07-27 02:32 orenh New Issue
2012-07-27 02:32 orenh File Added: 0001-Use-the-same-log4net.dll-as-OpenMetaverse.patch
2012-07-27 02:33 orenh File Added: 0002-Changed-references-to-a-specific-version-of-log4net-.patch
2012-07-27 02:33 orenh Assigned To => orenh
2012-07-27 02:33 orenh Status new => patch included
2012-07-27 02:34 orenh Note Added: 0021911
2012-07-28 21:58 orenh Assigned To orenh =>
2012-08-31 17:33 justincc Note Added: 0022506
2012-08-31 17:33 justincc Assigned To => justincc
2012-08-31 17:33 justincc Status patch included => patch feedback
2012-09-07 16:49 justincc Note Added: 0022538
2012-09-19 17:30 justincc Note Added: 0022634
2012-12-16 01:44 orenh Mono Version None => 2.10
2012-12-16 01:44 orenh Note Added: 0023265
2012-12-16 01:44 orenh Status patch feedback => resolved
2012-12-16 01:44 orenh Resolution open => fixed
2012-12-16 06:18 nebadon Note Added: 0023266
2012-12-16 06:18 nebadon Status resolved => closed
2012-12-16 06:19 nebadon Note Edited: 0023266 View Revisions


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker