none
[Erro]SandBox - ProcessCPUCycles RRS feed

  • Pergunta

  • Boa noite!

    Estou usando uma solução em SandBox e, foi estourado erro com ProcessCPUCycles.
    Como poderia resolver este problema? E sempre terei este problema com SandBox?

    Grato desde já!


    Atenciosamente,
    Charles Lomboni.


    sexta-feira, 20 de setembro de 2013 21:35

Respostas

Todas as Respostas

  • Charles,

    Vc tem mais detalhes sobre a mensagem de erro?


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    domingo, 22 de setembro de 2013 15:52
    Moderador
  • Fabian,

    A mensagem que recebo é esta:
    - Erro da Web Part: O processo de trabalho que está executando esta solicitação foi interrompido porque excedeu o recurso ProcessCPUCycles. 

    No log exibe isto:
    ExecuteRequestInSandBox call failed. Microsoft.SharePoint.UserCode.SPUserCodeExecutionPipelineFailedException: O processo de trabalho que está executando esta solicitação foi interrompido porque excedeu o recurso ProcessCPUCycles. ---> Microsoft.SharePoint.UserCode.SPUserCodeExecutionPipelineTerminallyFailedException: O processo de trabalho que está executando esta solicitação foi interrompido porque excedeu o recurso ProcessCPUCycles.     at Microsoft.SharePoint.UserCode.SPUserCodeWorkerProcess.Execute(Type userCodeWrapperType, SPUserCodeCachedAssemblyGroup userAssemblyGroup, Guid siteCollectionId, SPUserToken userToken, String currentAffinity, SPUserCodeExecutionContext executionContext)     at Microsoft.SharePoint.UserCode.SPUserCodePoolableProcessConnection.Execute(Type userCodeWrapper... ...Type, SPUserCodeCachedAssemblyGroup userAssemblyGroup, Guid siteCollectionId, SPUserToken userToken, String affinity, SPUserCodeExecutionContext executionContext)     at Microsoft.SharePoint.UserCode.SPUserCodeExecutionHost.Execute(Type userCodeWrapperType, Guid siteCollectionId, SPUserToken userToken, String affinity, SPUserCodeExecutionContext executionContext)     --- End of inner exception stack trace ---    Server stack trace:      at Microsoft.SharePoint.UserCode.SPUserCodeExecutionHost.Execute(Type userCodeWrapperType, Guid siteCollectionId, SPUserToken userToken, String affinity, SPUserCodeExecutionContext executionContext)     at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInCon... ...text, Object[]& outArgs)     at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)    Exception rethrown at [0]:      at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)     at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)     at Microsoft.SharePoint.Administration.ISPUserCodeExecutionHostProxy.Execute(Type userCodeWrapperType, Guid siteCollectionId, SPUserToken userToken, String affinityBucketName, SPUserCodeExecutionContext executionContext)     at Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.Execute(Type userCodeWrapperType, SPSite site, SPUserCodeExecutionContext executionContext)     at Microsoft.SharePoint.... ...UserCode.SPUserCodeWebPartRemoteExecutionHelper.<>c__DisplayClassa.<ExecuteRequestInSandBox>b__9()     at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)     at Microsoft.SharePoint.UserCode.SPUserCodeWebPartRemoteExecutionHelper.ExecuteRequestInSandBox(HttpContext context, SPWeb web, SPWebPartManager manager, SPUserCodeWebPart userCodeWebPart)


    Atenciosamente,
    Charles Lomboni.

    segunda-feira, 23 de setembro de 2013 14:01
  • Fabian,

    Não entendi como esse ciclo funciona.. ele excede por quantidades de exceções ou algo do tipo? Porque estou tendo isso no servidor de homologação apenas.. na máquina local, tento forçar algum erro do tipo e nada ocorre. Poderia dar uma luz sobre esse problema? Isto esta se tornando uma dor de cabeça. :(

    []'s 


    Atenciosamente,
    Charles Lomboni.

    segunda-feira, 23 de setembro de 2013 18:46
  • Charles,

    Uma solução sandbox tem suas particularidades, visando a qualidade do ambiente.

    O Sharepoint possúi alguns recursos para monitorar e gerenciar essas soluções, tudo isso para garantir que uma solução mal codificada prejudique o desempenho e a qualidade do ambiente.

    Podemos agora definir limites para a utilização de CPU, memória e o tempo de execução de queries por exemplo.

    Quando a solução passa ultrapassa o limite determinado, o Sharepoint desabilita a solução.

    O ideal é você analisar o código e verificar se existe algum ponto da solução que ultrapasse esse limite.

    O que essa solução faz realmente?


    Atenciosamente, Rafael Fausto

    segunda-feira, 23 de setembro de 2013 19:46
  • Rafael,

    A solução recebe um arquivo xml e decifra os campos com algumas validações, e como o "core" geral alguns relatórios de valores das cargas subidas pelo xml.

    Acredito que o código possa ser refatorado - visto que peguei este projeto já pronto. Mas até poder pegar e, de fato refatorar o código, gostaria de entender em qual ponto pode estar ocasionando este erro e tentar solucionar. Por onde estiver a melhor solução, será meu ponto focal.

    Grato pela atenção.


    Atenciosamente,
    Charles Lomboni.


    segunda-feira, 23 de setembro de 2013 20:06
  • Charles,

    Você pode utilizar o Developer Dashborard, conhece?

    msdn.microsoft.com/en-us/library/gg512103%28v=office.14%29.aspx


    Atenciosamente, Rafael Fausto

    • Marcado como Resposta Charles Lomboni quinta-feira, 26 de setembro de 2013 15:49
    quarta-feira, 25 de setembro de 2013 12:52
  • Charles,

    O ProcessCPUCycles é o número de ciclos de CPU (http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spusageusercoderequestsmonitoreddataentry.processcpucycles(v=office.14).aspx), ou seja, está dizendo que sua aplicação consumiu mais ciclos de CPU que o permitido, conforme as cotas que o Rafael falou.

    Pelo erro que vc enviou imagino que o seu SharePoint seja OnPremise e não no Office 365. Se sim, vc pode ir nas cotas da site collection e mudar para uma cota maior ou criar uma nova para ter mais pontos de sandboxed solutions.

    Mas de qualquer forma, revisar o código irá ajudar também.


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br


    quinta-feira, 26 de setembro de 2013 01:29
    Moderador
  • Obrigado Rafael e Fabian, a solução será uma revisada no código realmente.

    Atenciosamente,
    Charles Lomboni.

    quinta-feira, 26 de setembro de 2013 12:54