Teravus Ovares wrote: > After fighting with it a bit, JustinCC and I discovered that the root > cause of this issue was that libOMV and associated dependencies were > compiled as a .NET 3.5 assembly version target. Unfortunately, > officially, it will only compile as a 3.5 target because it makes use > of System.Threading.ReaderWriterLockImpl, HashSet<T> and TimeZoneInfo. > After a bit of hacking, I managed to compile LibOMV as a .NET 2.0 > assembly. It's entirely swappable with the official 0.7.0 libomv. > What I mean by that is there were no API elements that were changed. > You should be able to replace this copy with the official 0.7.0 > compiled yourself in 3.5 and recompile with no side effects. The only > down side, is that the 3.5 assembly requires mono 2.4 or above. The > 2.0 assembly in the OpenSimulator repository should work on older > versions of mono. I'm still leaving the 2.4 requirement in the > readme file because, according to the libomv developers, there were > some serious bugs in mono in some versions previous to 2.4 where it > would occasionally lose references to sockets and we do want to > promote a version that works correctly, however, this commit should > resolve this thread and the HttpServer typeload exception mantis
Nice one, Teravus - I can confirm that OpenSim now runs again under mono 2.0.1. I agree with you about the README - the issue of running under an older mono should largely disappear in the next couple of months when the remaining major distros upgrade to mono 2.4. > > Full Commit Log: > > Commit:31b60731497b21c163aa4058cada258e54deb835 > opensim: teravus master * r31b60731497b /bin/ (10 files): > * * Commit a slightly modified OpenMetaverse compiled as a .NET 2.0 target > * Hopefully this allows older mono versions to still work. > * A couple of points of note: > * TimeZoneInfo.. replaced with DateTime.UtcNow - > TimeSpan.FromHours(7); in > InventoryManager.CreateItemFromAssetResponse > * HashSet<uint> replaced with Dictionary<uint,object> for > OpenMetaverse.IncomingPacketIDCollection.TryEnqueue > * Force use of the managed version of ReaderWriterLockSlim (don't use > the pre-processor defs) in DoubleDictionary/HttpServer > > Regards > > Teravus > > > On Tue, Aug 4, 2009 at 11:28 PM, BlueWall Slade<[email protected]> > wrote: >> I am running openSuSe 11.1 with mono 2.4.2. I haven't seen any signs of the >> mini-trampoline errors on it. >> >> A side note, I'm also seeing some pretty flat memory usage trends since our >> libomv update. >> >> Thanks! >> BlueWall >> >> On Mon, Aug 3, 2009 at 1:44 PM, Justin Clark-Casey >> <[email protected]> wrote: >>> Hi Teravus. I take it this means that mono 2.0.1 is no longer usable with >>> trunk? This is somewhat inconvenient since >>> Ubuntu and OpenSUSE still ship mono 2.0.1 in their distros (though both >>> will include 2.4 in the next release). But if >>> mono 2.0.1 is now unusable then that's just how it is. >>> >>> I'm also not sure if mono 2.4 still has the 'mini-trampoline' assertion VM >>> termination when many scripts are being >>> loaded on initial startup (this problem isn't present in mono 2.0.1). >>> >>> [email protected] wrote: >>>> Author: teravus >>>> Date: 2009-08-01 11:59:34 -0700 (Sat, 01 Aug 2009) >>>> New Revision: 10113 >>>> >>>> Modified: >>>> trunk/README.txt >>>> Log: >>>> * Update ReadMe.txt to reflect feedback by testers >>>> >>>> Modified: trunk/README.txt >>>> =================================================================== >>>> --- trunk/README.txt 2009-08-01 14:26:00 UTC (rev 10112) >>>> +++ trunk/README.txt 2009-08-01 18:59:34 UTC (rev 10113) >>>> @@ -25,7 +25,7 @@ >>>> == Installation on Linux == >>>> >>>> Prereqs: >>>> - * Mono >= 2.0.1 (>= 2.4.2 is better) >>>> + * Mono >= 2.4 (>= 2.4.2 is better) >>>> * Nant >= 0.86beta >>>> * sqlite3 or mysql 5.x (you'll need a backend database) >>>> >>>> >>>> _______________________________________________ >>>> Opensim-commits mailing list >>>> [email protected] >>>> https://lists.berlios.de/mailman/listinfo/opensim-commits >>>> >>> -- >>> justincc >>> Justin Clark-Casey >>> http://justincc.wordpress.com >>> _______________________________________________ >>> Opensim-dev mailing list >>> [email protected] >>> https://lists.berlios.de/mailman/listinfo/opensim-dev >> >> _______________________________________________ >> Opensim-dev mailing list >> [email protected] >> https://lists.berlios.de/mailman/listinfo/opensim-dev >> >> > _______________________________________________ > Opensim-dev mailing list > [email protected] > https://lists.berlios.de/mailman/listinfo/opensim-dev > -- justincc Justin Clark-Casey http://justincc.wordpress.com _______________________________________________ Opensim-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/opensim-dev
