Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'Null question type' in instructorFeedbackQuestionvisibilityMessage #2954

Closed
damithc opened this issue Feb 4, 2015 · 4 comments
Closed

'Null question type' in instructorFeedbackQuestionvisibilityMessage #2954

damithc opened this issue Feb 4, 2015 · 4 comments
Assignees
Labels
c.Bug Bug/defect report p.High Significant impact; would like to do in the next few releases
Milestone

Comments

@damithc
Copy link
Contributor

damithc commented Feb 4, 2015

2015-02-03 23:30:20.620 /page/instructorFeedbackQuestionvisibilityMessage 302 416ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 module=default version=5-34
155.33.241.196 - kellihallamore [03/Feb/2015:07:30:20 -0800] "POST /page/instructorFeedbackQuestionvisibilityMessage HTTP/1.1" 302 117 - "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "teammatesv4.appspot.com" ms=417 cpu_ms=140 cpm_usd=0.000632 app_engine_release=1.9.17 instance=00c61b117c6c6861db41d0973e335566b6689876
I 2015-02-03 23:30:20.235
teammates.ui.controller.ControllerServlet doPost: Request received : https://teammatesv4.appspot.com/page/instructorFeedbackQuestionvisibilityMessage:{showresponsesto::RECEIVER,INSTRUCTORS, constSumPointsPerOption::false, constSumPoints::100, showrecipientto::RECEIVER,INSTRUCTORS, rubricNumCols::4, rubricNumRows::1, questiontext::, numofrecipientstype::max, rubricChoice-3::Strongly Disagree, mcqOption-1::, constSumOption-1::, constSumToRecipients::true, rubricChoice-0::Strongly Agree, rubricDesc-0-3::Rarely or never responds., showgiverto::RECEIVER,INSTRUCTORS, constSumOption-0::, mcqOption-0::, rubricDesc-0-2::Occasionally responds, but never initiates discussions., rubricChoice-2::Disagree, rubricDesc-0-1::Takes part in discussions and sometimes initiates discussions., rubricChoice-1::Agree, rubricDesc-0-0::Initiates discussions frequently, and engages the team., generatedOptions::NONE//NONE//NONE, questionnum::3//3, rubricSubQn-0::This student participates well in online discussions., courseid::Sp.2015.Test-Course, noofchoicecreated::2//2//2, numofrecipients::1, numscalestep::1, numscalemin::1, fsname::Peer Review, msqOption-0::, recipienttype::SELF, receiverLeaderCheckbox::RECEIVER, msqOption-1::, numscalemax::5, givertype::SELF, user::abc}
I 2015-02-03 23:30:20.235
teammates.ui.controller.ControllerServlet doPost: User agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
I 2015-02-03 23:30:20.235
teammates.ui.controller.ActionFactory getAction: URL received :https://teammatesv4.appspot.com/page/instructorFeedbackQuestionvisibilityMessage
I 2015-02-03 23:30:20.418
teammates.logic.core.Emails sendEmail: [Email sent]to=teammates@comp.nus.edu.sg|from=TEAMMATES Admin Admin@teammatesv4.appspotmail.com|subject=TEAMMATES (5.34): New System Exception: Null question type
E 2015-02-03 23:30:20.574
teammates.logic.core.Emails sendErrorReport: Sent crash report: [Email sent]to=teammates@comp.nus.edu.sg|from=TEAMMATES Admin Admin@teammatesv4.appspotmail.com|subject=TEAMMATES (5.34): New System Exception: Null question type
E 2015-02-03 23:30:20.574
teammates.ui.controller.ControllerServlet doPost: TEAMMATESLOG|||page|||System Error Report|||true|||Unknown|||Unknown|||Unknown|||Unknown|||TEAMMATES (5.34): New System Exception: Null question type
Show/Hide Details >>
Error Message

 
Null question type 

Request Path
/page

Request Parameters
{showresponsesto::RECEIVER,INSTRUCTORS, constSumPointsPerOption::false, constSumPoints::100, showrecipientto::RECEIVER,INSTRUCTORS, rubricNumCols::4, rubricNumRows::1, questiontext::, numofrecipientstype::max, rubricChoice-3::Strongly Disagree, mcqOption-1::, constSumOption-1::, constSumToRecipients::true, rubricChoice-0::Strongly Agree, rubricDesc-0-3::Rarely or never responds., showgiverto::RECEIVER,INSTRUCTORS, constSumOption-0::, mcqOption-0::, rubricDesc-0-2::Occasionally responds, but never initiates discussions., rubricChoice-2::Disagree, rubricDesc-0-1::Takes part in discussions and sometimes initiates discussions., rubricChoice-1::Agree, rubricDesc-0-0::Initiates discussions frequently, and engages the team., generatedOptions::NONE//NONE//NONE, questionnum::3//3, rubricSubQn-0::This student participates well in online discussions., courseid::Sp.2015.Test-Course, noofchoicecreated::2//2//2, numofrecipients::1, numscalestep::1, numscalemin::1, fsname::Peer Review, msqOption-0::, recipienttype::SELF, receiverLeaderCheckbox::RECEIVER, msqOption-1::, numscalemax::5, givertype::SELF, user::abc}

Stack Trace

 

java.lang.AssertionError: Null question type
    at teammates.common.util.Assumption.fail(Assumption.java:58)
    at teammates.common.util.Assumption.assertTrue(Assumption.java:27)
    at teammates.common.util.Assumption.assertNotNull(Assumption.java:254)
    at teammates.ui.controller.InstructorFeedbackQuestionVisibilityMessageAction.extractFeedbackQuestionData(InstructorFeedbackQuestionVisibilityMessageAction.java:64)
    at teammates.ui.controller.InstructorFeedbackQuestionVisibilityMessageAction.execute(InstructorFeedbackQuestionVisibilityMessageAction.java:19)
    at teammates.ui.controller.Action.executeAndPostProcess(Action.java:328)
    at teammates.ui.controller.ControllerServlet.doPost(ControllerServlet.java:58)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at teammates.storage.datastore.DatastoreFilter.doFilter(DatastoreFilter.java:28)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:142)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:254)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:146)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:484)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:438)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:445)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:220)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:309)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:301)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:442)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
    at java.lang.Thread.run(Thread.java:724)
 

|||/page/instructorFeedbackQuestionvisibilityMessage

@damithc damithc added p.Medium Marginal impact; would like to do if time permits c.Bug Bug/defect report s.Accepted labels Feb 4, 2015
@damithc
Copy link
Contributor Author

damithc commented Feb 4, 2015

Also consider the possibility of the browser reloading an old page at startup.

@damithc
Copy link
Contributor Author

damithc commented Apr 17, 2015

Had another one of these. Confirmed not reloading an old page.

@damithc
Copy link
Contributor Author

damithc commented Apr 21, 2015

Another few today.

@damithc damithc added p.High Significant impact; would like to do in the next few releases and removed p.Medium Marginal impact; would like to do if time permits labels Apr 21, 2015
@wkurniawan07
Copy link
Member

This is reproduce-able in Firefox as follows:

  1. add a new constant sum question frame (either one will do), refresh while the new question frame is there
  2. notice that the question type is now missing:
    2954_1
  3. click "Add New Question" and there goes the error

I have a theory on what may cause this. In Firefox, somehow the browser remembers the user's last input for new question frame. In constant sum questions, since the question type for both is CONSTSUM (not CONSTSUM_OPTION or CONSTSUM_RECIPIENT), the browser will load the option valued CONSTSUM, which is actually a hidden and disabled option, which will be passed on as null.
I'm yet to verify that it's indeed the case (and how to work it around if it is).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c.Bug Bug/defect report p.High Significant impact; would like to do in the next few releases
Projects
None yet
Development

No branches or pull requests

2 participants