IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Tentative de lecture ou d'écriture de mémoire protégée


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut Tentative de lecture ou d'écriture de mémoire protégée
    Bonjour à tous,

    Je me permets de vous écrire car je suis face à un problème que je ne comprend pas.

    Je vous explique ma situation :

    C'set un projet c# 2.0.

    Je fais de la génération de types à la volée (via Emit, en MSIL).

    Je crée donc un AssemblyBuilder que je garde en static dans ma fabrique de type que est statique elle aussi. Je fais bien attention à ce que mon type n'existe pas déjà lorsque j'en crée un.

    Cette bibliothèque est utilisée via ASP.NET.

    IIS est en version 7, mais le problème survient

    ensuite, ce qu'il m'arrive :

    * Sur mon poste :
    Windows Vista Buisness

    Je lance l'application en mode Debug, tout va bien. Je laisse l'application tourner en mode debug, sans l'utiliser. Je reviens dessus 20 minutes (environ) plus tard, je recharge une page, et j'ai cette exception levée:
    Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    System.AccessViolationException: Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée. 
    à TempAssemblyInjection__ProxySite.set_Id(MidwInt ) 
    --- Fin de la trace de la pile d'exception interne --- 
    à System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 
    à System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 
    à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) 
    à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
    à System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture) 
    à System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index) 
    à EID.MidwAdaptator.Tools.ReflectionHelper.setValue(IClassAdaptator p_o, String p_field, String p_value) dans C:\Users\TRICOTBE\Developpements\PTF1_PLAR\EID.MidwAdaptator\Tools\ReflectionHelper.cs:ligne 232
    J'arrête le mode debug. Je relance l'application en mode debug. Le message est touts là. Je dois faire un IISreset pour que l'erreur parte.

    * Sur mon serveur de test :
    Windows server 2003
    IIS en version 6

    J'ai l'erreur vu ci-dessus dés le chargement d'une page. Impossible de m'en défaire.

    * Sur le serveur de Prod :
    IIS version 6
    Framework .Net 2.0 uniquement

    Tout marche à merveille

    Le seul dénominateur commun que j'ai trouvé entre les deux machines où ça ne marche pas c'est qu'à un moment le framework 3.5 a été installé. Je l'ai désinstallé des deux machines. Les version d'iis sont différentes, et lorsque j'ai commencé mon projet, sur un Windows XP, avec le framework 2.0, tout marchait à merveille.

    J'ai pensé à différentes possibilités mais sans savoir si elles sont vraiment plausibles:
    * L'assembly générée (en mode Run) n'est plus consistante, c'est à dire que les interfaces des Type sont toujours là, par contre, l'assembly (et donc le coprs des méthodes) a du être détruit du genre c'est un fichier temporaire qui est détruit car non utilisé, ce qui expliquerai pourquoi l'erreur survient.

    * Un problème de configuration d'IIS (mais je n'y connais rien ou presque ).

    Est-ce que vous pouvez m'aider à résoudre ce problème ?

    Merci d'avance

    Cordialement,

    Benoît Tricot

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    De loin, cela ressemble a une perte de session ton machin. Si tu es en mode debug, Pourrais tu faire une essai avec un point d'arret dans ton evenement session end, pour vérifier cette hypothese?

    tu attends que le point d'arret soit atteint et ensuite tu recharges ta page, bien evidemment tu fais aussi l'autre test avant que le point d'arret soit atteint.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut
    Salut, merci pour ta réponse, je viens de tester ta possibilité.
    Ma session n'est toujours pas finie mais mon bug est là quand même :s

    Dommage ça aurait été bien que ce soit que ça ^^

    Est-ce que c'ets possible que ce soit un problème de droit de l'utilisateur ASP ?

    Merci pour vos réponses

  4. #4
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    tu ne peux pas recuperer le bout de code qui pourait poser probléme et tester dans un simple projet console si tu arrives à reproduire l'erreur? ca permettrait de reduire le champ des possibles... par ce que là personnellement pas beaucoup beaucoup d'idées..

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/06/2017, 11h33
  2. Réponses: 4
    Dernier message: 27/05/2016, 12h48
  3. Tentative de lecture ou d'écriture de mémoire protégée
    Par neon90 dans le forum Visual Studio
    Réponses: 3
    Dernier message: 03/11/2012, 12h18
  4. Réponses: 2
    Dernier message: 09/07/2010, 13h31
  5. Réponses: 5
    Dernier message: 25/01/2010, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo