Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-24686

Able to create database error by submiting a large grade through the Forum GUI when grading a message

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: RESOLVED
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.8.0
    • Fix Version/s: 2.8.2
    • Component/s: Messages Tool
    • Labels:
      None
    • Environment:
      qa1-nl.sakaiproject.org
    • Previous Issue Keys:
      MSGCNTR-464

      Description

      Grade a Forum message with a very large number. First you are asked if you want to. Then on a second submission a DB error is generated.

      2011-02-11 12:00:26,303 INFO TP-Processor3 org.sakaiproject.tool.messageforums.DiscussionForumTool - the user confirms he wants to give student higher grade
      2011-02-11 12:00:26,339 WARN TP-Processor3 org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: S1009
      2011-02-11 12:00:26,339 ERROR TP-Processor3 org.hibernate.util.JDBCExceptionReporter - 'Infinity' is not a valid numeric or approximate numeric value
      2011-02-11 12:00:26,344 ERROR TP-Processor3 org.sakaiproject.tool.messageforums.DiscussionForumTool - DiscussionForumTool - processDfGradeSubmit:org.springframework.dao.TransientDataAccessResourceException: Hibernate operation: could not insert: [org.sakaiproject.tool.gradebook.AssignmentGradeRecord]; SQL [insert into GB_GRADE_RECORD_T (VERSION, GRADABLE_OBJECT_ID, STUDENT_ID, GRADER_ID, DATE_RECORDED, POINTS_EARNED, IS_EXCLUDED_FROM_GRADE, USER_ENTERED_GRADE, OBJECT_TYPE_ID) values (?, ?, ?, ?, ?, ?, ?, ?, 1)]; 'Infinity' is not a valid numeric or approximate numeric value; nested exception is java.sql.SQLException: 'Infinity' is not a valid numeric or approximate numeric value
      org.springframework.dao.TransientDataAccessResourceException: Hibernate operation: could not insert: [org.sakaiproject.tool.gradebook.AssignmentGradeRecord]; SQL [insert into GB_GRADE_RECORD_T (VERSION, GRADABLE_OBJECT_ID, STUDENT_ID, GRADER_ID, DATE_RECORDED, POINTS_EARNED, IS_EXCLUDED_FROM_GRADE, USER_ENTERED_GRADE, OBJECT_TYPE_ID) values (?, ?, ?, ?, ?, ?, ?, ?, 1)]; 'Infinity' is not a valid numeric or approximate numeric value; nested exception is java.sql.SQLException: 'Infinity' is not a valid numeric or approximate numeric value
      at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:106)
      at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
      at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
      at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
      at org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
      at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
      at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
      at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
      at org.sakaiproject.component.gradebook.GradebookServiceHibernateImpl.setAssignmentScore(GradebookServiceHibernateImpl.java:399)
      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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy40.setAssignmentScore(Unknown Source)
      at org.sakaiproject.tool.messageforums.DiscussionForumTool.processDfGradeSubmit(DiscussionForumTool.java:5923)
      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 com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
      at javax.faces.component.UICommand.broadcast(UICommand.java:312)
      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
      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:592)
      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:395)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
      at org.sakaiproject.tool.messageforums.MessageForumsFilePickerServlet.dispatch(MessageForumsFilePickerServlet.java:166)
      at org.sakaiproject.jsf.util.JsfTool.doPost(JsfTool.java:256)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
      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:592)
      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:1377)
      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.handlers.ToolHandler.doPost(ToolHandler.java:73)
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1189)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
      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:653)
      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.valves.AccessLogValve.invoke(AccessLogValve.java:581)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
      at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
      at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
      at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
      at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.sql.SQLException: 'Infinity' is not a valid numeric or approximate numeric value
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1072)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:986)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:981)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
      at com.mysql.jdbc.PreparedStatement.setDouble(PreparedStatement.java:3623)
      at org.apache.commons.dbcp.DelegatingPreparedStatement.setDouble(DelegatingPreparedStatement.java:126)
      at org.hibernate.type.DoubleType.set(DoubleType.java:36)
      at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136)
      at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:107)
      at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:1992)
      at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:1969)
      at org.hibernate.persister.entity.AbstractEntityPersister$3.bindValues(AbstractEntityPersister.java:2147)
      at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:32)
      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2153)
      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2633)
      at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:51)
      at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
      at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
      at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
      at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
      at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:508)
      at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:500)
      at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:496)
      at sun.reflect.GeneratedMethodAccessor1624.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1293)
      at $Proxy1.saveOrUpdate(Unknown Source)
      at org.sakaiproject.component.gradebook.GradebookServiceHibernateImpl$8.doInHibernate(GradebookServiceHibernateImpl.java:426)
      at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
      ... 76 more
      2011-02-11 12:00:26,697 INFO TP-Processor5 org.sakaiproject.tool.messageforums.DiscussionForumTool - message: 2 topic: 1 forum: 1
      2011-02-11 12:00:26,697 INFO TP-Processor5 org.sakaiproject.tool.messageforums.DiscussionForumTool - context: /site/5b018ff3-fe31-4f89-a588-ad7d87a0df48
      2011-02-11 12:00:26,700 INFO TP-Processor5 org.sakaiproject.tool.messageforums.DiscussionForumTool - url: http://qa1-nl.sakaiproject.org/portal/site/5b018ff3-fe31-4f89-a588-ad7d87a0df48/page/0eeabcaa-54db-495c-bb06-6c3a867ccdb9?toolstate-8be1d85b-4eb5-46e0-9097-f7a7574f1b10=%2FdiscussionForum%2Fmessage%2FdfViewMessageDirect%3FforumId%3D1%26topicId%3D1%26messageId%3D2

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                maintenanceteam Core Team
                Reporter:
                arwhyte Anthony Whyte
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Git Integration