none
[MOSS 2007] InvalidOperationException (Collection was modified) dans le ProcessRequest d'une publishing page RRS feed

  • Question

  • Bonjour,

     

     Je développe un portail intranet MOSS 2007 pour un client et lors de mes tests de montée en charge (avec VSTS), j'ai découvert qu'une exception était levée de temps en temps à une fréquence d'environ une pour 1000 pages générées. Cette exception me paraît très étrange et j'aimerais la résoudre... Elle se manifeste de 2 façons différentes :

     

    Code Snippet
    [InvalidOperationException: Collection was modified; enumeration operation may not execute.]
       System.Collections.ArrayListEnumeratorSimple.MoveNext() +2754286
       System.Web.UI.ControlBuilder.ProcessAndSortPropertyEntries(ArrayList propertyEntries, FilteredPropertyEntryComparer& comparer) +208
       System.Web.UI.FileLevelPageControlBuilder.SortEntries() +34
       System.Web.UI.ControlBuilder.InitObject(Object obj) +17
       System.Web.UI.FileLevelPageControlBuilder.InitObject(Object obj) +38
       System.Web.Compilation.BuildResultNoCompileTemplateControl.FrameworkInitialize(TemplateControl templateControl) +57
       System.Web.Compilation.BuildResultNoCompilePage.FrameworkInitialize(TemplateControl templateControl) +75
       System.Web.UI.TemplateControl.FrameworkInitialize() +2033449
       System.Web.UI.Page.FrameworkInitialize() +9
       System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +40
       System.Web.UI.Page.ProcessRequest() +86
       System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
       System.Web.UI.Page.ProcessRequest(HttpContext context) +49
       Microsoft.SharePoint.Publishing.TemplateRedirectionPage.ProcessRequest(HttpContext context) +153
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +154
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

     

    et 


    Code Snippet
    [InvalidOperationException: Collection was modified; enumeration operation may not execute.]
       System.Collections.ArrayListEnumeratorSimple.MoveNext() +2754286
       System.Web.UI.ControlBuilder.GetFilteredPropertyEntrySet(ICollection entries) +215
       System.Web.UI.FileLevelPageControlBuilder.InitObject(Object obj) +68
       System.Web.Compilation.BuildResultNoCompileTemplateControl.FrameworkInitialize(TemplateControl templateControl) +57
       System.Web.Compilation.BuildResultNoCompilePage.FrameworkInitialize(TemplateControl templateControl) +75
       System.Web.UI.TemplateControl.FrameworkInitialize() +2033449
       System.Web.UI.Page.FrameworkInitialize() +9
       System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +40
       System.Web.UI.Page.ProcessRequest() +86
       System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
       System.Web.UI.Page.ProcessRequest(HttpContext context) +49
       Microsoft.SharePoint.Publishing.TemplateRedirectionPage.ProcessRequest(HttpContext context) +153
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +154
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

     

    Je tiens à préciser que je suis déjà tombé dessus en naviguant par pur hasard et que ce n'est pas lié à une surcharge du serveur. Cela tombe sur n'importe quelle page de mon portail et sur des layouts (custo) différents qui n'ont pas grand chose en commun.

     

    Quelqu'un aurait une idée d'où cela pourrait bien venir? Une piste que je pourrais suivre pour résoudre le soucis?

     

    Merci d'avance.

    Jérôme

    jeudi 7 juin 2007 09:52

Toutes les réponses

  • Bonjour

     

    Ce genre d'exception arrive lorsque la collection d'éléments que vous parcourez est modifiée en même temps. Par contre, difficile d'en dire bcp plus en l'état. Votre serveur a-t-il des composants tiers ou des développements dessus ?

     

    Sinon, je crois qu'il vous faudra escalader vers le support MS.

    mercredi 13 juin 2007 09:20
  • Bonjour,

     

    Tout d'abord merci pour votre réponse, et désolé pour ma réponse tardive.

     

    Pour répondre à votre suggestion, oui, nous avons pas mal de développements réalisés par mon équipe. (D'ailleurs, j'ai tout de suite pensé à ça, mais premièrement nos classes custo n'apparaissent pas dans la trace et deuxièmement j'ai ouvert mon Visual Studio en mode débogage et aucune erreur n'a été levée.)

    C'est pourquoi, suite à votre réponse, j'ai voulu réalisé mes tests sur un portail complêtement natif. Ce que j'ai fait, et je suis contraint de dire que ces erreurs surviennent toujours...

    Je pense que l'on va escalader vers le support MS, sauf si quelqu'un a une pise de recherche à me proposer

     

    Merci encore de votre réponse.

    Jérôme

    mardi 19 juin 2007 13:47
  • Si les mêmes tests sur un environnement vierge arrivent aux mêmes conclusion, effectivement, vous n'avez pas d'autre alternative.

     

    Bonne chance

    mardi 19 juin 2007 14:52