[Building Sakai] Sakai 2.8.0, problem while downloading assignments

Zhen Qian zqian at umich.edu
Wed Mar 21 07:32:01 PDT 2012


Hi, Jehan:

Did you get similar NullPointerException stacktrace with 2.7.1 code?

The User object shouldn't be null for that line, otherwise, the code would
fail with NPE earlier.

Can you execute the following queries?

1. to find out all the user ids and eids for Student role user in site:

select t1.user_id, t5.eid from SAKAI_REALM_RL_GR t1, Sakai_realm t2,
sakai_realm_role t3, sakai_realm t4, sakai_user_id_map t5 where
t1.realm_key=t2.realm_key and t1.role_key = t3.role_key and
t3.role_name='Student' and t1.realm_key=t4.realm_key and
t4.realm_id="/site/05fb8996-d8c2-4a6b-92ac-0db7b161a94b" and
t1.user_id=t5.user_id;

Please replace the site id with yours instead.

2. find out how many assignment submission has been made for particular
assignment:

select submitter_id from assignment_submission where context =
"assigment_id";

Please replace the assignment id with the actual assignment id of interest.

Thanks,

- Zhen

On Wed, Mar 21, 2012 at 9:59 AM, Jehan Badshah <jehan.badshah at nu.edu.pk>wrote:

> Zhen Qian
>
> This problem raised in sakai 2.7.1 and then we upgraded to sakai 2.8.0, I
> was thinking that up-gradation will fix problem, but could not
>
> I have verified there is no null EID in sakai_user_id_map table.
>
> even in sakai_user table  everything is ok.
>
> On Wed, Mar 21, 2012 at 6:57 PM, Jehan Badshah <jehan.badshah at nu.edu.pk>wrote:
>
>> Dear Zhen Qian
>>
>> I have verified there is no null EID in sakai_user_id_map table.
>>
>> I have checked all users of site even in sakai_user table and found
>> everything ok.
>>
>>
>>
>>
>> On Wed, Mar 21, 2012 at 6:44 PM, Zhen Qian <zqian at umich.edu> wrote:
>>
>>> Hi, Jehan:
>>>
>>> Sakai  2.8.0 uses kernel v1.2.1. Based on the stacktrace below,
>>> following are the relevant code:
>>>
>>> BaseUserDirectoryService.java:2455
>>>
>>> /**
>>> 		 * @inheritDoc
>>> 		 */
>>> 		public int compareTo(Object obj)
>>> 		{
>>> 			if (!(obj instanceof User)) throw new ClassCastException();
>>>
>>> 			// if the object are the same, say so
>>> 			if (obj == this) return 0;
>>>
>>> 			// start the compare by comparing their sort names
>>> 			int compare = getSortName().compareTo(((User) obj).getSortName());
>>>
>>> 			// if these are the same
>>> 			if (compare == 0)
>>> 			{
>>> 				// sort based on (unique) eid
>>> 				compare = getEid().compareTo(((User) obj).getEid()); <<<<2455
>>> 			}
>>>
>>> 			return compare;
>>> 		}
>>>
>>> Looks like some of the site users have null eids. Could you please
>>> verify if this is the  case? We need to file a kernel jira for the possible
>>> NPE in the above method.
>>>
>>> Thanks,
>>>
>>> - Zhen
>>>
>>> On Wed, Mar 21, 2012 at 9:21 AM, Jehan Badshah <jehan.badshah at nu.edu.pk>wrote:
>>>
>>>> Dear Zhen Qian
>>>>
>>>> Find the attached stackTrace
>>>>
>>>>
>>>> org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException
>>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:862)
>>>> caused by: org.sakaiproject.tool.api.ToolException
>>>>     at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:236)
>>>> caused by: java.lang.reflect.
>>>> InvocationTargetException
>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>> caused by: java.lang.NullPointerException
>>>>     at org.sakaiproject.user.impl.BaseUserDirectoryService$BaseUserEdit.compareTo(BaseUserDirectoryService.java:2455)
>>>>     at java.util.Arrays.mergeSort(Arrays.java:1167)
>>>>     at java.util.Arrays.sort(Arrays.java:1079)
>>>>     at java.util.Collections.sort(Collections.java:117)
>>>>     at org.sakaiproject.authz.impl.SakaiSecurity.unlockUsers(SakaiSecurity.java:350)
>>>>     at org.sakaiproject.authz.cover.SecurityService.unlockUsers(SecurityService.java:67)
>>>>     at org.sakaiproject.assignment.impl.BaseAssignmentService.allowAddSubmissionUsers(BaseAssignmentService.java:3767)
>>>>     at org.sakaiproject.assignment.impl.BaseAssignmentService.getSubmitterIdList(BaseAssignmentService.java:4232)
>>>>     at org.sakaiproject.assignment.cover.AssignmentService.getSubmitterIdList(AssignmentService.java:775)
>>>>     at org.sakaiproject.assignment.tool.AssignmentAction.sizeResources(AssignmentAction.java:10062)
>>>>     at org.sakaiproject.cheftool.PagedResourceActionII.prepPage(PagedResourceActionII.java:281)
>>>>     at org.sakaiproject.assignment.tool.AssignmentAction.build_instructor_grade_assignment_context(AssignmentAction.java:2713)
>>>>     at org.sakaiproject.assignment.tool.AssignmentAction.buildMainPanelContext(AssignmentAction.java:915)
>>>>     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:597)
>>>>     at org.sakaiproject.cheftool.VelocityPortletPaneledAction.toolModeDispatch(VelocityPortletPaneledAction.java:397)
>>>>     at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:236)
>>>>     at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1032)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
>>>>     at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:598)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
>>>>     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
>>>>     at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
>>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1429)
>>>>     at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
>>>>     at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
>>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:862)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:659)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>>>     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>>>>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>>>     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>>>>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>>>>     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:843)
>>>>     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:679)
>>>>     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1293)
>>>>     at java.lang.Thread.run(Thread.java:619)
>>>>
>>>>
>>>>
>>>> On Wed, Mar 21, 2012 at 6:15 PM, Zhen Qian <zqian at umich.edu> wrote:
>>>>
>>>>> Jehan:
>>>>>
>>>>> Can you provide the complete stack trace, especially the line after
>>>>> the NullPointerException?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> - Zhen
>>>>>
>>>>> On Wed, Mar 21, 2012 at 4:13 AM, Jehan Badshah <
>>>>> jehan.badshah at nu.edu.pk> wrote:
>>>>>
>>>>>> Dear All
>>>>>>
>>>>>> We upgraded from 2.7.1 to 2.8.0
>>>>>>
>>>>>> when we download assignment using* "download all"* button then
>>>>>> getting following error, and this issue is in only one site, other sites
>>>>>> are working fine.
>>>>>>
>>>>>>
>>>>>> org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException
>>>>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:862)
>>>>>> caused by: org.sakaiproject.tool.api.ToolException
>>>>>>     at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:236)
>>>>>> caused by: java.lang.reflect.InvocationTargetException
>>>>>>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>> caused by: java.lang.NullPointerException
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards
>>>>>> ----------------------------------------------------
>>>>>> Jehan Badshah | Sr. Software Engineer
>>>>>> FAST - National University of Computer and Emerging Sciences
>>>>>> A.K. Brohi Road, H-11/4, Islamabad
>>>>>> UAN: +92 (0)51 - 111 128 128 ext 344
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> sakai-dev mailing list
>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>
>>>>>> TO UNSUBSCRIBE: send email to
>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>>> "unsubscribe"
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Regards
>>>> ----------------------------------------------------
>>>> Jehan Badshah | Sr. Software Engineer
>>>> FAST - National University of Computer and Emerging Sciences
>>>> A.K. Brohi Road, H-11/4, Islamabad
>>>> UAN: +92 (0)51 - 111 128 128 ext 344
>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>>
>> Regards
>> ----------------------------------------------------
>> Jehan Badshah | Sr. Software Engineer
>> FAST - National University of Computer and Emerging Sciences
>> A.K. Brohi Road, H-11/4, Islamabad
>> UAN: +92 (0)51 - 111 128 128 ext 344
>>
>>
>>
>
>
> --
>
> Regards
> ----------------------------------------------------
> Jehan Badshah | Sr. Software Engineer
> FAST - National University of Computer and Emerging Sciences
> A.K. Brohi Road, H-11/4, Islamabad
> UAN: +92 (0)51 - 111 128 128 ext 344
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120321/810d5982/attachment.html 


More information about the sakai-dev mailing list