-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: NHibernate.QueryException and NHibernate.AssertionFailure
PostPosted: Tue Apr 24, 2007 3:24 pm 
Newbie

Joined: Tue Apr 24, 2007 2:34 pm
Posts: 2
Location: Belarus, Miensk
Hi,

We have our application (CMS system and corporate web site on it) working with NHibernate. Once some special conditions in database formed and we have got two independent NHibernate exceptions, that never appeared early and one of them disappeared after further work with application. But we steel need to resolve this problems.

1. First problem appears when system try to perform special named hql request. When system try to do it first time next exception occurs:

Code:
NHibernate.QueryException

    Incorrect query syntax [ FROM Genesys.CWS.DataAccess.Entities.UserTabRole AS userTabRole WHERE (userTabRole.User.Id = :userId) AND userTabRole.TabId IN ( SELECT tab.Id FROM Genesys.CWS.DataAccess.Entities.Tab AS tab WHERE tab.Portal.Id = :portalId ) ]
   
NHibernate.Hql.QueryTranslator.Compile()   
NHibernate.Hql.QueryTranslator.Compile(ISessionFactoryImplementor factory, IDictionary replacements, Boolean scalar)   
NHibernate.Impl.SessionFactoryImpl.GetQuery(String queryString, Boolean shallow)   
NHibernate.Impl.SessionImpl.GetQueries(String query, Boolean scalar)   
NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters)   
NHibernate.Impl.QueryImpl.List()   
Genesys.CWS.BusinessLogic.Controllers.TabsSecurityController.GetUserTabRoles(User user, Portal portal)________________________________________

System.ArgumentOutOfRangeException

    Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
   
System.Collections.ArrayList.get_Item(Int32 index)   
NHibernate.Hql.WhereParser.CloseExpression(QueryTranslator q, String lcToken)   
NHibernate.Hql.WhereParser.Token(String token, QueryTranslator q)   
NHibernate.Hql.WhereParser.End(QueryTranslator q)   
NHibernate.Hql.ClauseParser.End(QueryTranslator q)   
NHibernate.Hql.PreprocessingParser.End(QueryTranslator q)   
NHibernate.Hql.ParserHelper.Parse(IParser p, String text, String seperators, QueryTranslator q)   
NHibernate.Hql.QueryTranslator.Compile()




At second and next times occurs another exception:

Code:
NHibernate.QueryException

    Incorrect query syntax [ FROM Genesys.CWS.DataAccess.Entities.UserTabRole AS userTabRole WHERE (userTabRole.User.Id = :userId) AND userTabRole.TabId IN ( SELECT tab.Id FROM Genesys.CWS.DataAccess.Entities.Tab AS tab WHERE tab.Portal.Id = :portalId ) ]
   
NHibernate.Hql.QueryTranslator.Compile()   
NHibernate.Hql.QueryTranslator.Compile(ISessionFactoryImplementor factory, IDictionary replacements, Boolean scalar)   
NHibernate.Impl.SessionFactoryImpl.GetQuery(String queryString, Boolean shallow)   
NHibernate.Impl.SessionImpl.GetQueries(String query, Boolean scalar)   
NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters)   
NHibernate.Impl.QueryImpl.List()   
Genesys.CWS.BusinessLogic.Controllers.TabsSecurityController.GetUserTabRoles(User user, Portal portal)
________________________________________

System.ArgumentException

    Item has already been added. Key in dictionary: "userTabRole" Key being added: "userTabRole"
   
System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)   
System.Collections.Hashtable.Add(Object key, Object value)   
NHibernate.Hql.FromParser.Token(String token, QueryTranslator q)   
NHibernate.Hql.ClauseParser.Token(String token, QueryTranslator q)   
NHibernate.Hql.PreprocessingParser.Token(String token, QueryTranslator q)   
NHibernate.Hql.ParserHelper.Parse(IParser p, String text, String seperators, QueryTranslator q)   
NHibernate.Hql.QueryTranslator.Compile()



2. Another problem exception stack trace:

Code:
    Unable to commit transaction
   
Genesys.CWS.WebApp.Global.Application_EndRequest(Object sender, EventArgs e)   
________________________________________

NHibernate.AssertionFailure

    owner not associated with session
   
NHibernate.Impl.SessionImpl.UpdateUnreachableCollection(PersistentCollection coll)   
NHibernate.Impl.SessionImpl.FlushCollections()   
NHibernate.Impl.SessionImpl.FlushEverything()   
NHibernate.Impl.SessionImpl.Flush()   
NHibernate.Transaction.AdoTransaction.Commit()   
Genesys.CWS.WebApp.Global.Application_EndRequest(Object sender, EventArgs e)



This problem disappears after cleaning some tables in database, but it's defficult to figure out what exact data.

So, can anybody guess what data in database can invoke such exceptions? (I absolutely sure that these exceptions related to some special data.)

3. Also one related problem: I want to debug NHibernate and I need NHibernate package for .Net 1.1, that contains source for projects NHibernate, Nullables, Nullables.NHibernate, but I can’t find such one. Can anybody give me a link?


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.