Accueil > Sharepoint > Erreur GDI+ sous Sharepoint

Erreur GDI+ sous Sharepoint

Il y a quelques jours une erreur s’est soudainement manifesté sur les serveurs Web d’une ferme de serveur. L’erreur survenait la nuit lors du recyclage automatisé de l’application pool.

L’erreur ressemble à ceci :


System.TypeInitializationException: The type initializer for 'System.Drawing.ToolboxBitmapAttribute' threw an exception.

Inner: System.Runtime.InteropServices.ExternalException: GDI+ is not properly initialized (internal GDI+ error).

Inner: Nothing

System.Drawing, mscorlib,

at System.Drawing.Bitmap..ctor(Stream stream)

at System.Drawing.ToolboxBitmapAttribute..cctor()

----------

at System.Reflection.CustomAttribute._CreateCaObject(Void* pModule, Void* pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)

at System.Reflection.CustomAttribute.CreateCaObject(Module module, RuntimeMethodHandle ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs)

at System.Reflection.CustomAttribute.GetCustomAttributes(Module decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes)

at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)

at System.RuntimeType.GetCustomAttributes(Type attributeType, Boolean inherit)

at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectGetAttributes(Type type)

at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectedTypeData.GetAttributes()

at System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetAttributes()

at System.ComponentModel.TypeDescriptor.GetAttributes(Type componentType)

at System.Web.UI.ControlBuilder.BuildObjectInternal()

at System.Web.UI.ControlBuilder.BuildObject()

at System.Web.UI.ControlBuilder.BuildChildren(Object parentObj)

at System.Web.UI.ControlBuilder.InitObject(Object obj)

at System.Web.UI.ControlBuilder.BuildObjectInternal()

at System.Web.UI.ControlBuilder.BuildObject()

at System.Web.UI.ControlBuilder.BuildChildren(Object parentObj)

at System.Web.UI.ControlBuilder.InitObject(Object obj)

at System.Web.UI.FileLevelPageControlBuilder.InitObject(Object obj)

at System.Web.Compilation.BuildResultNoCompileTemplateControl.FrameworkInitialize(TemplateControl templateControl)

at System.Web.UI.TemplateControl.FrameworkInitialize()

at System.Web.UI.UserControl.InitializeAsUserControlInternal()

at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)

at System.Web.UI.Page.get_Master()

at System.Web.UI.Page.ApplyMasterPage()

at System.Web.UI.Page.PerformPreInit()

at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Nous avons trouvé un fix chez Microsoft (KB954316) mais comme plusieurs personnes sur le Net avait eu l’erreur et suggérait toutes sortes de solutions, nous voulions aller plus loin dans notre diagnostic avant d’appliquer le correctif. Point non négligeable, nous n’avions pas modifié nos programmes ni le contenu de Sharepoint. 

À l’aide de l’outil process monitor, nous avons suivi le process W3Wp.exe lors de son recyclage. Nous avons découvert qu’il y avait des « Access Denied » sur certains répertoire. Des recherches supplémentaires nous permettent de découvrir qu’un administrateur Sharepoint avait activé et configuré le Traitement de l’analyse d’utilisation. Le compte de l’application pool n’avait pas accès au répertoire spécifié. Après lui avoir donné les droits en modification, le recyclage automatique de l’application pool ne génère plus la fameuse erreur GDI+.

Leçon apprise : avant d’installer un fix, même s’il semble être destiné à notre cas, il est toujours préférable de bien valider notre configuration.

Publicités
Catégories :Sharepoint Étiquettes :
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :