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

HyperFileSQL Discussion :

Plantage Manta.exe : Impossible d'ouvrir le fichier <__System\UserTable.FIC


Sujet :

HyperFileSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Par défaut Plantage Manta.exe : Impossible d'ouvrir le fichier <__System\UserTable.FIC
    Bonjour,

    Je m'en remets à vous car j'ai beau tenter de résoudre mon bug avec PC-Soft, rien n'avance depuis près d'un mois et d'une dizaine de mails.

    J'ai régulièrement et aléatoirement deux bugs sur le moteur HF.
    1. Le moteur Manta.exe se plante, entrainant une écriture dans l'observateur d'évènements Windows
    2. Des lignes de la base de données sont dupliquées


    Ces deux bugs n'arrivent pas au même moment, mais je pense qu'il ont une cause commune car lorsque je débranche le plus gourmand de mes programmes, les deux problèmes disparaissent.

    Lors du plantage du manta.exe, le journal des évènements m'affiche ces erreurs :
    Citation Envoyé par Journal premières erreurs, entre 20 et 30 occurrences. source = Moteur HyperFileSQL Client/Serveur

    Tables non libérées en fermeture de session
    Citation Envoyé par erreur suivante, une seule occurrence. Source = Application Error

    Application défaillante Manta.exe, version 15.0.1.400, horodatage 0x4b55e3b6, module défaillant ntdll.dll, version 6.0.6001.18000, horodatage 0x4791a7a6, code d’exception 0xc0000005, décalage d’erreur 0x00043387, ID du processus 0x140c, heure de début de l’application 0x01cb0bac51c9b5fc.
    Citation Envoyé par erreur suivante : une seule occurrence. Source = Moteur HyperFileSQL Client/Serveur

    Echec du chargement du serveur HyperFileSQL.
    Erreur: Que s'est-il passé ?
    Impossible d'ouvrir le fichier <__System\UserTable.FIC>.

    Code erreur : 70150
    Niveau : erreur fatale (EL_FATAL)
    Code erreur WD55 : 150

    Code d'erreur système : 32
    Message d'erreur système :
    Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus.

    Dump de l'erreur du module 'WDHFSRV.DLL' (15.00Ef).
    Informations de débogage :
    ##(IXStream)-Handle=<FFFFFFFF>##
    Informations supplémentaires :
    EIT_SRCFILE : <__System\UserTable.FIC>
    EIT_LOGICALTABLENAME : <UserTable>
    Citation Envoyé par erreur suivante : une seule occurrence. Source = Moteur HyperFileSQL Client/Serveur

    Le démarrage du service HyperFile a échoué.
    Error=0
    Je cherche à isoler le problème de ces plantages.
    Je penche pour une surcharge du moteur HF, le moteur ne plantant en effet que lorsqu'un programme travaillant en permanence en tache de fond est lancé. Ce programme ne fait rien de plus compliqué que mon programme principal, mais il le fait en permanence.

    L'erreur
    Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus [...] <__System\UserTable.FIC>
    me fait également pencher vers cette théorie.

    Que pensez-vous de cette théorie?
    Sauriez-vous comprendre ce fait planter le moteur HF si régulièrement grâce à ces journaux d'évènements ? ou même seulement me donner une piste ?
    (à part bien sur changer de SGBD)

    Et merci à ceux qui ont pris le temps de lire ce long post.

  2. #2
    Membre chevronné
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 256
    Par défaut
    Bonjour,

    Si le systeme manque de ressources, vérifiez que vous liberez les ressources
    SQL avec des HAnnuleDeclaration.
    Ca peut eviter au programme permanent de devenir obèse en mémoire...

    C'est juste une piste, peut être que ça n'a rien à voir...

    Patrick

  3. #3
    Membre Expert Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Par défaut
    Hello,
    Commençons par le début, le moteur Manta tourne sur quoi un serveur en 2000/2003/2008? Sur une machine dédié en XP, Vista, Seven??

    puis

    Dans le paramétrage du moteur Manta (en principe, dans le répertoire d'installation), le fichier HFCONF.INI devrait ressembler un peu à cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    [INIT]
    DBRootPath=%%EXE%%\BDD // endroit ou se trouve les bases physiques
    Name=[NOM DE LA MACHINE]
    AccessPort=4900 // port par défaut, voir s'il est ouvert/autorisé systeme
    NdxCacheSize=38
    MoreThan2Go=1
    JNLRootPATH=%%EXE%%\BDD\__JNL // chemin du journal de la BDD
    JNLBackupRootPATH=%%EXE%%\BDD\__JNLBackup // backup dudit journal
    ServerLogPath=%%EXE%%\Logs // chemin des log, paramétrage utilisateurs (est-ce ici ou ca coince????)
    ServerLogLevel=WL,PARAM
    LogConnexion=0
    ServerLogMaxFileSize=100
    ServerLogMaxFiles=3
    PerformacePath=%%EXE%%\Perf
    PerformanceMaxFileSize=100
    PerformacePeriod=0
    ServerLogLevels=
    ServerLogMaxSize=300
    ActivityStatisticMaxFileSize=500
    ActivityStatisticPath=%%EXE%%\ActivityStatistics
    ActivityStatisticPeriod=3
    L'erreur que tu as, je ne l'ai jamais rencontrée, donc, j'y vais avec douceur pour comprendre.

    Enfin, la table recherchée, à savoir, usertable.fic est la table de paramétrage des accès utilisateurs du moteur Manta. Cete table se trouve à l'endroit, par défaut

    [Disque+Répertoire installation]\BDD\__SYSTEM\[TOUTES LES TABLES DE PARAMETRAGES]

    Si tu n'as pas l'une de ces tables, ca part en cacahuètes, je viens de faire le test.

    Enfin, ne relances-tu pas ton serveur depuis le poste, par une commande de type

    HDEMARRESERVEUR([NOMDUSERVEUR],[PORTDUSERVEUR])

    Au pire des cas, mais cela ne répond pas, je le sais, à ta problèmatique, pour le moment, essayes de créer un utilisateurs ayant les même pouvoir que l'admin par défaut qui est créée et reagrde si cela change la stabilité du moteur.

    Tu peux faire tout cela dans le centre de contrôle...

    A te lire sur le sujet....





  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Par défaut
    La config matérielle, c'est un serveur dédié HF, deux serveurs frontaux de 15 utilisateurs TSE (une même appli déposée sur chaque serveur), 10 PDA connectés sur la BDD en permanence, et deux applications effectuant des extractions/opération permanentes de la base (une envoyant des données à un site web, l'autre effectuant des MAJ sur la base et des envois FTP, pilotée par socket depuis les PDA)
    La config des serveurs tient la route, ce sont les trois mêmes :
    Serveur Fujitsu/siemens
    Win2008/32
    Double quad core 2,5Ghz
    4 Go Ram
    Disques RAID 5, 512 Mo cache, 15 000 tours/min
    Bref, une config qui devrait tenir la route, et qui avec n'importe quel autre SGBD donnerai des perfs très raisonnables.

    Pour la config du .ini, j'ai du mal à penser au que ça vienne de ça
    (mais ça ressemble à ce que tu as mis).

    Je pense que je n'ai pas été assez précis dans mon message car le plantage du Manta.exe a lieu environ une fois par jour, si je branche un de mes programmes les plus gourmands, et peu fréquemment quand je ne le branche pas.

    Pour l'idée de SevenSoftware, c'est vrai qu'il n'y a pas de HAnnuleDeclaration partout, mais une bonne partie du code est faite, et je n'ai pas vu de différence quand je l'ai fait. Pour moi, la source de données est sensée être détruite lors de la fermeture de l'objet le contenant (ex.: en fermant la fenêtre où elle est déclarée).

  5. #5
    Membre Expert Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Par défaut
    Hello,
    merci pour toutes ces précisions qui annulent tout ce que j'ai dis (rires).
    Bon, alors, à la vue de tes config serveurs, il me semble que le problème tient en deux points, à savoir:
    - si comme je le comprend, tous les utilisateurs se connectent en TSE, le noyau de chaque utilisateurs sur le serveur est d'environ 640Ko, et si tu multiplies le nombre d'utilisateurs par 640Ko, tu dépasses tes 4Mo de mémoire, non?
    - Lorsque les utilisateurs ferment leur session, es-tu sur qu'ils ferment bien l'appli avant ou reste-t-elle dans la session TSE restée ouverte??? En effet, le fait de fermer une session ne ferme pas les applis qui sont lancées, et ceci peut expliquer cela.

    Tu as une belle config, il est vrai, mais je pense que quelque soit la base attaquées, tu aurais, avec plus ou moins de bonheur, des soucis, sinon identique, récurants....

    Voilà ce que je peux te dire, mais la piste me semble, vu d'ici, meilleur que ma première intervention... (désolé)

    SevenSoftware a mille fois raison de te dire d'annuler les déclarations une fois qu'elles ne seront plus utilisées. C'est à mettre dans la fermeture de la fenetre, ca prend pas beaucoup de temps et evite de grossir la mémoire inutilement.

    Mais tiens nous informé en fonction de la montée en charge de tes serveurs. Fais le test avec 5 utilisateurs maxi (noyau de 3.2 Mo), je laisse de la place pour le reste (un peu) et regarde si l'erreur se reproduit. Dans la négative, la piste semblerait être la bonne, sinon, je continuerai à creuser.

    Enfin, puique tu es sous 2008serveur (et quelque soit la realse), as-tu regarder du côté paramétrage avec adedit?

    En effet, avec l'avénement de 2008, l'encapsulage dans AD et ton OU travaille sur les objets et non plus sur un AD, tu peux par exemple pour les mots de passe gérer des GP par groupe d'utilisateurs....

    Et donc, te permettre de gérer en plus les sessions du groupe TSE (que tu as du créer, je pense) et d'éteindre par exemple leur session en fonction des jours et horaires de la semaine... Encore une piste...

    Bon, je vais pas en écrire des tonnes, mais tout est piste, et c'est un jeu... de pistes...

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Par défaut
    Les utilisateurs sont connectés en TSE oui, mais pas sur le serveur HF. Ce serveur est dédié à la base de données (en fait, il fait également tourner les deux petites applications dont je parlais)
    Les connexions TSE se font sur les deux autres serveurs, et les programmes sont lancés à partir de là.
    J'ai un switch managable entre ces serveurs, et deux cartes réseau sur chaque. Ce qui me donne un lien 2 Giga entre chaque serveur.

    La base de données n'est pas énorme, elle fait 2.2 Go.

    Par contre, il y a beaucoup d'accès à la base de données (notamment à cause d'accès récursifs pour des calculs de disponibilités qui doivent rester corrects en permanence et donc recalculés à chaque demande).

    Un exemple du volume des accès ?
    J'ai activé les logs sur le serveur HF (logs des appels au serveur) et l'analyse de 15 minutes pour cet après-midi, entre 14h45 et 15h me donne 60 000 lignes.

    Pour adedit, bien essayé mais il n'y a ni domaine, ni active directory.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2008, 21h19
  2. Réponses: 7
    Dernier message: 20/01/2007, 19h00
  3. Impossible d'ouvrir un fichier access
    Par squale32 dans le forum Access
    Réponses: 4
    Dernier message: 13/09/2006, 12h26
  4. impossible d'ouvrir le fichier
    Par michel71 dans le forum Langage
    Réponses: 8
    Dernier message: 05/05/2006, 11h20
  5. IE : impossible d'ouvrir un fichier
    Par alexixlebaulois dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 23/12/2005, 11h08

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