none
Server was unable to process request. ---> Attempted to read or write protected memory. This is often an indication that other memory is corrupt. RRS feed

  • Question

  • Getting the "Server was unable to process request. ---> Attempted to read or write protected memory. This is often an indication that other memory is corrupt" error while saving/publishing the project through PSI in Project Server 2010 sometimes not always.  Using infopath form to enter data for custom fields and call the PSI Asmx based services.

    Appreciate your suggestion to resolve the same.

     

    Tuesday, May 10, 2011 9:47 AM

All replies

  • I would look at ruling out the obvious first, maybe run some form of memory diagnostic, or swap out the memory on the server for known good memory.

     


    Alex Burton
    www.epmsource.com | Twitter
    Project Server TechCenter | Project Developer Center | Project Server Help | Project Product Page
    Tuesday, May 10, 2011 11:59 PM
    Moderator
  • Hi Alex, Thanks for the reply. Here I'm attaching few lines of code of publishing the project. It contains several QueueUupdate, QueuePublish methods. But we are not disposing the 'derived' object here. Will it cause the problem as the same Method (SaveProjectDetail) is called again and again?

     

    [

    WebMethod

    ]

     

    public string SaveProjectDetail(Project proj, string

    userName)

    {

     

    Guid

    guid;

     

    ProjectDataSet

    set2;

     

    Project

    projPublish = proj;

     

    WebServiceProjectDerived derived = new WebServiceProjectDerived();

     

    derived.EnforceWindowsAuth = isWindowsUser;

     

    Project projectDetail = new Project

    ();

    projectDetail.UID = proj.UID;

    projectDetail.Name = proj.Name;

    projectDetail =

    this

    .GetProjectDetail(projectDetail, userName);

     

    if

    (projectDetail.Detail.CheckedOut || projectDetail.Detail.SELPMOCheckedOut)

    {

     

    return this

    .GetCheckInErrorMessage(projectDetail);

    }

     

    Guid sessionUid = Guid

    .NewGuid();

    derived.CheckOutProject(proj.UID, sessionUid, sessionDescription);

     

    ProjectDataSet dsProject = derived.ReadProject(proj.UID, DataStoreEnum

    .WorkingStore);

     

    .

    .

    .

     

    //Publish the additions

     

    ProjectDataSet changes = (ProjectDataSet)dsProject.GetChanges(DataRowState

    .Added);

     

    if (changes != null

    )

    {

    guid =

    Guid

    .NewGuid();

    derived.QueueAddToProject(guid, sessionUid, changes,

    false

    );

     

    this

    .WaitForQueueJobCompletion(guid);

    }

     

    //Publish the changes

    changes = (

    ProjectDataSet)dsProject.GetChanges(DataRowState

    .Modified);

     

    if (changes != null

    )

    {

    guid =

    Guid

    .NewGuid();

    derived.QueueUpdateProject(guid, sessionUid, changes,

    false

    );

     

    this

    .WaitForQueueJobCompletion(guid);

    }

    .

    .

    Wednesday, May 11, 2011 5:49 AM