none
New Timesheet Approvals issue after June 2014 CU - ReadStatusApprovalsForProjectForGridJson2 RRS feed

  • Question

  • Hi

    Bit of background, we were experiencing the following issue before applying the June CU - See TechNet question titled for more information - "Errors with timesheet approvals after unpublishing or deleting tasks"

    The issue prevented a user to view timesheet approvals.

    Now after the update there is a similar issue when a user is trying to get to the approvals page, see below errors.

    Has anyone else experienced this and can you make any recommendations?

    Thank you

    mutex creation failed. error code = 5

    [bucketHash:3D3DE675] Exception occured in method 'Statusing.ReadStatusApprovalsForProjectForGridJson2' System.ArgumentException: Object must be of type Double.     at System.Double.CompareTo(Object value)     at Microsoft.SharePoint.JSGrid.GridField.Compare(Object left, Object right, Boolean strict)     at Microsoft.SharePoint.JSGrid.GridSerializer.DataRowComparer`1.Compare(T x, T y)     at System.Linq.EnumerableSorter`2.CompareKeys(Int32 index1, Int32 index2)     at System.Linq.EnumerableSorter`1.QuickSort(Int32[] map, Int32 left, Int32 right)     at System.Linq.EnumerableSorter`1.QuickSort(Int32[] map, Int32 left, Int32 right)     at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)     at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()     at Microsoft.SharePoint.JSGrid.GridSerializer.GroupedSet..ctor(GridSerializer serializer, IEnumerable`1 unfilteredRows, IEnumerable`1 filteredRows, Boolean bSharePointGrid)     at Microsoft.SharePoint.JSGrid.GridSerializer.ExpandRows(IEnumerable`1 unfilteredRows, IEnumerable`1 filteredRows, Boolean onlyMakingAutoFilterEntries, HierarchySet& hierarchySet)     at Microsoft.SharePoint.JSGrid.GridSerializer.BuildOutput()     at Microsoft.SharePoint.JSGrid.GridSerializer.ToJson(Serializer s)     at Microsoft.SharePoint.JsonUtilities.Serializer.SerializeToJson(Object o, Boolean isKey)     at Microsoft.Office.Project.Server.BusinessLayer.Statusing.ReadStatusApprovalsForProjectForGridJson2(JsGridSerializerArguments gridSerializerArgs, String fromDate, String toDate, Int32 durationFormat, Int32 workFormat)     at Microsoft.Office.Project.Server.Wcf.Implementation.PWAImpl.<>c__DisplayClass378.<StatusingReadStatusApprovalsForProjectForGridJson2>b__377()     at Microsoft.Office.Project.Server.Wcf.Implementation.WcfMethodInvocation.InvokeBusinessObjectMethod(String businessObjectName, String methodName, IEnumerable`1 actions) StackTrace: (null)

    Watson bucket parameters: Microsoft Project Server 2013, ULSException14, 070f6ea0 "project server", 0f0011db "15.0.4571.0", c180aef3 "mscorlib", 0400766f "4.0.30319.0", 5173bf53 "sun apr 21 19:58:35 2013", 00000c07 "00000c07", 0000004f "0000004f", 44395864 "argumentexception", 00101621 "aeby7"

    Error is: GeneralUnhandledException. Details: General Unhandled Exception in _Statusing.ReadStatusApprovalsForProjectForGridJson2_ Attributes:  System.ArgumentException: Object must be of type Double.     at System.Double.CompareTo(Object value)     at Microsoft.SharePoint.JSGrid.GridField.Compare(Object left, Object right, Boolean strict)     at Microsoft.SharePoint.JSGrid.GridSerializer.DataRowComparer`1.Compare(T x, T y)     at System.Linq.EnumerableSorter`2.CompareKeys(Int32 index1, Int32 index2)     at System.Linq.EnumerableSorter`1.QuickSort(Int32[] map, Int32 left, Int32 right)     at System.Linq.EnumerableSorter`1.QuickSort(Int32[] map, Int32 left, Int32 right)     at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)     at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()     at Microsoft.SharePoint.JSGrid.GridSerializer.GroupedSet..ctor(GridSerializer serializer, IEnumerable`1 unfilteredRows, IEnumerable`1 filteredRows, Boolean bSharePointGrid)     at Microsoft.SharePoint.JSGrid.GridSerializer.ExpandRows(IEnumerable`1 unfilteredRows, IEnumerable`1 filteredRows, Boolean onlyMakingAutoFilterEntries, HierarchySet& hierarchySet)     at Microsoft.SharePoint.JSGrid.GridSerializer.BuildOutput()     at Microsoft.SharePoint.JSGrid.GridSerializer.ToJson(Serializer s)     at Microsoft.SharePoint.JsonUtilities.Serializer.SerializeToJson(Object o, Boolean isKey)     at Microsoft.Office.Project.Server.BusinessLayer.Statusing.ReadStatusApprovalsForProjectForGridJson2(JsGridSerializerArguments gridSerializerArgs, String fromDate, String toDate, Int32 durationFormat, Int32 workFormat)     at Microsoft.Office.Project.Server.Wcf.Implementation.PWAImpl.<>c__DisplayClass378.<StatusingReadStatusApprovalsForProjectForGridJson2>b__377()     at Microsoft.Office.Project.Server.Wcf.Implementation.WcfMethodInvocation.InvokeBusinessObjectMethod(String businessObjectName, String methodName, IEnumerable`1 actions)  . Standard Information: PSI Entry Point:  Project User: i:0#.w|domain\user Correlation Id: 883e030f-7efa-e311-941d-02bfc0a84278 PWA Site URL: http:SA Name: Project Server Service PSError: GeneralUnhandledException (42), LogLevelManager Warning-ulsID:0x00101622 has no entities explicitly specified.




    • Edited by Rafal L Monday, June 23, 2014 4:49 AM
    Monday, June 23, 2014 4:32 AM

All replies

  • Hi Rafal L,

    Is this issue user specific? Did you try to recall, delete and resubmit the timesheet? Also is this issue specific to particular timesheet period or can be reproduced with any past timesheet


    Hrishi Deshpande Senior Consultant

    Monday, June 23, 2014 4:14 PM
    Moderator
  • Hi Hrishi,

    This issue is user specific in the sense the approver was having issues accessing the approvals page prior to the application of the Update.

    The hope was that after applying the Patch to the Server the issue would get resolved.

    Now the approver can not access the Approvals page, but previously inaccessible timesheets seem to be accessible and fixed.

    Tuesday, June 24, 2014 1:03 AM
  • Taking over from Rafal,

    The error is also sometimes exhibited as:

    [bucketHash:3EEDAF47] Exception occured in method 'Statusing.ReadStatusApprovalsForProjectForGridJson' System.ArgumentException: Object must be of type Double.     at System.Double.CompareTo(Object value)    
     at Microsoft.SharePoint.JSGrid.GridField.Compare(Object left, Object right, Boolean strict)   

    This problem has happened after installing the June 2014 CU on a system previously experiencing the Errors with timesheet approvals after unpublishing or deleting tasks.

    I have logged a call for this one - will post if we get a solution.

    Cheers,

       James.


    James Boman IPMO http://www.ipmo.com.au @JBoman32768



    Monday, June 30, 2014 4:41 AM
  • We logged a MS case for this and got a SQL fix from MS Support to run against our database.

    Disclaimer: What follows is the advice we got from MS specific to us - If you have this problem you should contact Microsoft support.  The information below is included for reference purposes only.

    The advice we got from MS was that somehow we had assignments that had been submitted and become deleted somehow.

    This situation was detected by running this query:

    SELECT mat.ASSN_TRANS_APPROVER_RES_UID, mr.RES_NAME, mat.ASSN_UID
    FROM pub.MSP_ASSIGNMENTS_SUBMITTED AS  mas
    INNER JOIN pub.MSP_ASSSIGNMENT_TRANSACTIONS as mat
    ON mas.ASSN_UID = mat.ASSN_UID
    INNER JOIN pub.MSP_RESOURCES AS mr
    ON mat.ASSN_TRANS_APPROVER_RES_UID = mr.RES_UID
    WHERE mat.ASSN_TRANS_TYPE_ENUM=7
    

    I'm not going to put the actual SQL here because some people might blindly execute it - but the fix was to delete these assignment rows from pub.MSP_ASSIGNMENTS_SUBMITTED and set related transations in pub.MSP_ASSIGNMENT_TRANSACTIONS to have ASSN_TRANS_TYP_ENUM set to 0.

    Cheers,

       James.


    James Boman IPMO http://www.ipmo.com.au @JBoman32768


    • Proposed as answer by James Boman Thursday, July 31, 2014 11:29 PM
    • Edited by James Boman Thursday, July 31, 2014 11:29 PM
    Thursday, July 31, 2014 11:29 PM
  • hi james .

    i have the same problem 

    i have taken all the necessary backups . 

    can you share the query please to delete the assignments 


    tanveer

    Wednesday, December 14, 2016 8:03 AM