OrchardCMS / Orchard

Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform.
https://orchardproject.net
BSD 3-Clause "New" or "Revised" License
2.38k stars 1.12k forks source link

NHibernate exceptions #4724

Open orchardbot opened 10 years ago

orchardbot commented 10 years ago

Vifani created: https://orchard.codeplex.com/workitem/20895

Hi all, I have upgraded my web site to the 1.8 version and, even if apparently in my local machine I have no issue using Web Matrix, when I have deployed the web site to my web server I found a log of issues.

The site seems to be working fine, but I have found a lot of exceptions both in the event viewer of Windows and in the log file of the site.

It seems something about the NHibernate.

I have attached both a screenshots of the exception in the event viewer and the log file.

Please, can someone help me?

orchardbot commented 10 years ago

@sebastienros commented:

Can you try to delete the mappings.bin file in your app_data/Sites/Default folder ? Then restart the website.

orchardbot commented 10 years ago

Vifani commented:

I tried, but same result :(

I attached the new log file

orchardbot commented 10 years ago

Vifani commented:

Ok guys, I think that there is some issue about Orchard 1.8, SQL Server CE and NHibernate.

I found that my problem is the same of this guy: https://orchard.codeplex.com/workitem/20775

I have reproduced the bug also in local on my machine. The problem occurs where there are multiple concurrent requests to the site (and this is why I didn't found it testing the upgrade on my machine).

Attaching the Visual Studio 2012 debugger I found an NHibernate.HibernateException - Found shared references to a collection: Orchard.ContentManagement.Records.ContentItemRecord.Versions on the ListByArchive.cshtml view. You can find a screenshot attached "nhibernateexception.PNG"

After this exception the IIS Express web server goes down and I have to restart the web site from Web Matrix.

In the event viewer of Windows I found the following exception:

Exception: System.Runtime.Serialization.SerializationException

Message: Impossibile trovare l'assembly 'NHibernate, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4'.

StackTrace:    in System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
   in System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name)
   in System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)
   in System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)
   in System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum binaryHeaderEnum)
   in System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
   in System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   in System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   in System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(MemoryStream stm)
   in System.AppDomain.Deserialize(Byte[] blob)
   in System.AppDomain.UnmarshalObject(Byte[] blob)
orchardbot commented 9 years ago

@sebastienros commented:

Can you try with the latest 1.8.x ? This is what we suggested for the other bug you are mentioning.