The error output for the FatalEngineError has been slightly improved over what it used to be, but there is still no stack trace.You have to actually step through the code line-by-line until the fatal crash occurs, then go back one more time to see what values are involved just before the charsh.
Not fun John Davidson On Fri, Aug 13, 2010 at 11:49 AM, Valeriu Caraulean <[email protected]>wrote: > It includes the PDBs. > Later this evening I'll try to do a path to NH.trunk & create a JIRA for > it. May be it will be easier to debug... > > > On Fri, Aug 13, 2010 at 5:35 PM, John Davidson <[email protected]>wrote: > >> I would ensure you are using a debug version of NHibernate and include >> that in your solution, so that you can determine where the error is being >> thrown inside NHibernate. It may not be in NHibernate itself, but in code >> using the proxy dlls >> >> John Davidson >> >> >> On Fri, Aug 13, 2010 at 11:31 AM, Valeriu Caraulean >> <[email protected]>wrote: >> >>> Thanks for suggestion! >>> >>> Tried it with SQLite/in-memory: >>> http://github.com/vcaraulean/NHibernate.FEEE/tree/sqlite >>> Having same error. >>> >>> I think it's not database related, is something at proxy level. Line >>> throwing exception is very innocent: >>> collectionOfFirsts.Add(first); *// Here FatalExecutionEngineError is >>> thrown* >>> >>> Anybody, please, another ideas? >>> >>> >>> On Fri, Aug 13, 2010 at 5:07 PM, John Davidson <[email protected]>wrote: >>> >>>> SQLExpress does not fully support .Net 4.0. there are some limitations >>>> and capabilities that are not available. You may need to research if this >>>> is >>>> the source of the problem. >>>> >>>> John Davidson >>>> >>>> >>>> On Fri, Aug 13, 2010 at 10:31 AM, Valeriu Caraulean < >>>> [email protected]> wrote: >>>> >>>>> Yep. I've tried it with _each_ of them, not both. >>>>> >>>>> Config: >>>>> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> >>>>> <session-factory> >>>>> <property >>>>> name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> >>>>> <property >>>>> name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> >>>>> <property >>>>> name="connection.connection_string">Server=.\SQLEXPRESS;initial >>>>> catalog=test;Integrated Security=SSPI</property> >>>>> <property name="show_sql">false</property> >>>>> <property >>>>> name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> >>>>> <property >>>>> name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, >>>>> NHibernate.ByteCode.LinFu</property> >>>>> </session-factory> >>>>> </hibernate-configuration> >>>>> >>>>> >>>>> On Fri, Aug 13, 2010 at 4:28 PM, John Davidson >>>>> <[email protected]>wrote: >>>>> >>>>>> Have you tried it with just _one_ proxy factory? >>>>>> >>>>>> John Davidson >>>>>> >>>>>> On Fri, Aug 13, 2010 at 10:25 AM, Valeriu Caraulean < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Forgot to specify some details: >>>>>>> - NHibernate trunk (today) >>>>>>> - VS 2010 & NET 4.0, Windows 7 x64. >>>>>>> - proxy factories: linfu & castle. >>>>>>> >>>>>>> >>>>>>> On Fri, Aug 13, 2010 at 4:21 PM, Valeriu Caraulean < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> I've got into situation where my mappings and domain are throwing to >>>>>>>> me a FatalExecutionEngineError. >>>>>>>> I'll be posting the code here, hoping that someone can help me >>>>>>>> understand, I'm doing "unnatural" things with NHibernate or it's a bug >>>>>>>> somewhere... >>>>>>>> >>>>>>>> The exact error I'm getting is: >>>>>>>> >>>>>>>> *FatalExecutionEngineError was detected* >>>>>>>> >>>>>>>> Message: The runtime has encountered a fatal error. The address of >>>>>>>> the error was at 0xf8a213a3, on thread 0x660. The error code is >>>>>>>> 0xc0000005. >>>>>>>> This error may be a bug in the CLR or in the unsafe or non-verifiable >>>>>>>> portions of user code. Common sources of this bug include user >>>>>>>> marshaling >>>>>>>> errors for COM-interop or PInvoke, which may corrupt the stack. >>>>>>>> >>>>>>>> Example is stripped down to minimum from our project. Names are >>>>>>>> awkward, scenario probably looks silly, but that's extracted from our >>>>>>>> real >>>>>>>> domain. I'm showing only relevant part of classes. For full VS project >>>>>>>> see >>>>>>>> http://github.com/vcaraulean/NHibernate.FEEE . >>>>>>>> >>>>>>>> *Domain*: two classes with one-to-many relation. Classes are >>>>>>>> "aggregate roots", modified individually but in same >>>>>>>> session/transaction >>>>>>>> scope. Using double dispatch to keep aware one of another. >>>>>>>> >>>>>>>> public class First >>>>>>>> { >>>>>>>> public First(Second second) >>>>>>>> { >>>>>>>> Second = second; >>>>>>>> } >>>>>>>> >>>>>>>> private Second second; >>>>>>>> public virtual Second Second >>>>>>>> { >>>>>>>> get { return second; } >>>>>>>> private set >>>>>>>> { >>>>>>>> second = value; >>>>>>>> second.AddFirst(this); >>>>>>>> } >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> public class Second >>>>>>>> { >>>>>>>> private readonly List<First> collectionOfFirsts; >>>>>>>> >>>>>>>> public Second() >>>>>>>> { >>>>>>>> collectionOfFirsts = new List<First>(); >>>>>>>> } >>>>>>>> >>>>>>>> public virtual IEnumerable<First> CollectionOfFirsts >>>>>>>> { >>>>>>>> get { return collectionOfFirsts; } >>>>>>>> } >>>>>>>> >>>>>>>> public virtual void AddFirst(First first) >>>>>>>> { >>>>>>>> collectionOfFirsts.Add(first); *// Here FatalExecutionEngineError >>>>>>>> is thrown* >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> *Mapping files, FluenNHibernate:* >>>>>>>> >>>>>>>> public class FirstPersistenceMap : ClassMap<First> >>>>>>>> { >>>>>>>> public FirstPersistenceMap() >>>>>>>> { >>>>>>>> Id(x => x.Id); >>>>>>>> References(x => x.Second); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> public class SecondPersistenceMap : ClassMap<Second> >>>>>>>> { >>>>>>>> public SecondPersistenceMap() >>>>>>>> { >>>>>>>> Id(x => x.Id); >>>>>>>> HasMany(x => x.CollectionOfFirsts) >>>>>>>> .Access.ReadOnlyPropertyThroughCamelCaseField(); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> *Usage, in unit test:* >>>>>>>> >>>>>>>> using (var session = sessionFactory.OpenSession()) >>>>>>>> using (var tx = session.BeginTransaction()) >>>>>>>> { >>>>>>>> var second = new Second(); >>>>>>>> session.Save(second); >>>>>>>> >>>>>>>> var firstClass = new First(second); >>>>>>>> session.Save(firstClass); >>>>>>>> } >>>>>>>> >>>>>>>> Two questions: >>>>>>>> - What I'm doing wrong here? >>>>>>>> - How can I map it so it will work as expected? >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "nhusers" group. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> To unsubscribe from this group, send email to >>>>>>> [email protected]<nhusers%[email protected]> >>>>>>> . >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/nhusers?hl=en. >>>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "nhusers" group. >>>>>> To post to this group, send email to [email protected]. >>>>>> To unsubscribe from this group, send email to >>>>>> [email protected]<nhusers%[email protected]> >>>>>> . >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/nhusers?hl=en. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "nhusers" group. >>>>> To post to this group, send email to [email protected]. >>>>> To unsubscribe from this group, send email to >>>>> [email protected]<nhusers%[email protected]> >>>>> . >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/nhusers?hl=en. >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "nhusers" group. >>>> To post to this group, send email to [email protected]. >>>> To unsubscribe from this group, send email to >>>> [email protected]<nhusers%[email protected]> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/nhusers?hl=en. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "nhusers" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<nhusers%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/nhusers?hl=en. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "nhusers" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<nhusers%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/nhusers?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
