Details
-
Type:
Bug
-
Status: Awaiting Review
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: 19.1
-
Fix Version/s: None
-
Component/s: Signup
-
Labels:None
-
Test Plan:
Description
We ran into a problem with Signup where it would only display the stacktrace below in one specific site. The cause turned out to be an out-of-sequence "list_index" field in the "signup_ts_waitinglist" table for an event in the site. The index sequence somehow had gone 0, 1, 2, 3, 5, skipping 4. Fixing the index order by changing the last index to 4 in the database fixed the problem for us. (Presumably this could also affect the "signup_ts_attendees" table as well, if the triggering cause could be reproduced.)
I'm guessing this is a rare race condition because the Signup events in the affected site were very competitive, slots were limited, and there were over 150 students competing to get them. I suspect that either a student joined the waitlist as another cancelled or two try to join simultaneously which somehow led to the numbering skipping 4. I don't have exact steps to reproduce this, however.
org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: /signup/signupMeetings.jsp(366,7) '#{wrapper.availableStatus}' Error reading [availableStatus] on type [org.sakaiproject.signup.tool.jsf.SignupMeetingWrapper]
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:856)
caused by: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: /signup/signupMeetings.jsp(366,7) '#{wrapper.availableStatus}' Error reading [availableStatus] on type [org.sakaiproject.signup.tool.jsf.SignupMeetingWrapper]
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1489)
caused by: javax.servlet.ServletException: /signup/signupMeetings.jsp(366,7) '#{wrapper.availableStatus}' Error reading [availableStatus] on type [org.sakaiproject.signup.tool.jsf.SignupMeetingWrapper]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
caused by: org.apache.jasper.el.JspELException: /signup/signupMeetings.jsp(366,7) '#{wrapper.availableStatus}' Error reading [availableStatus] on type [org.sakaiproject.signup.tool.jsf.SignupMeetingWrapper]
at javax.faces.component.UIOutput.getValue(UIOutput.java:184)
caused by: java.lang.NullPointerException
user: 42678313-7a73-4a16-80c5-d8dd1693be19
usage-session: 89379219-9ca6-49a3-958a-630361090f22
time: Jul 19, 2019 12:06:18