Details
-
Bug
-
Resolution: Fixed
-
Medium
-
1.3.1
-
None
-
MySQL 4.0.20a-NT, Tomcat 5.0.25, JDK 1.4.2_04-b05 (Sun)
Description
Deleting a user generates a net.sf.hibernate.LazyInitializationException. After this you cannot enter the 'browse' user screen. The user is deleted succesfully, but you need to restart the app server to get things behaving again. We're using LDAP against ActiveDirectory for some users; this might be relevant. We also had this problem in 1.1.2 but didn't report as I thought it might have gone away in 1.3.
Here's the relevant bit of the stack trace:
net.sf.hibernate.LazyInitializationException: Failed to lazily initialize a collection
at net.sf.hibernate.collection.PersistentCollection.initialize(PersistentCollection.java:201)
at net.sf.hibernate.collection.PersistentCollection.read(PersistentCollection.java:71)
at net.sf.hibernate.collection.Set.size(Set.java:106)
at com.opensymphony.user.provider.hibernate.entity.HibernateGroup.getUserNameList(HibernateGroup.java:33)
at com.opensymphony.user.provider.hibernate.HibernateAccessProvider.listUsersInGroup(HibernateAccessProvider.java:151)
at bucket.user.providers.ChainedAccessProvider.listUsersInGroup(ChainedAccessProvider.java:45)
at com.opensymphony.user.Group.getUsers(Group.java:65)
at com.atlassian.confluence.user.DefaultUserAccessor.getActiveUsers(DefaultUserAccessor.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:61)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:149)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:116)
at com.atlassian.confluence.util.profiling.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:152)
at $Proxy8.getActiveUsers(Unknown Source)
at com.atlassian.confluence.user.actions.BrowseUsersAction.getUsers(BrowseUsersAction.java:65)
at com.atlassian.confluence.user.actions.BrowseUsersAction.execute(BrowseUsersAction.java:46)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)