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

Connexion aux bases de données Firebird Discussion :

[FB2.5][UIB] Bug avec le System Trace Audit actif


Sujet :

Connexion aux bases de données Firebird

  1. #1
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut [FB2.5][UIB] Bug avec le System Trace Audit actif
    Hello

    Ayant installé récemment la dernière version de Firebird (2.5), je me suis naturellement intéressé au système de trace qu'offre celle-ci.

    Je provoque malheureusement un crash du serveur lors de l'exécution de 2 requêtes consécutives au sein du même composant TUIBQuery.

    Avec la base exemple EMPLOYEE, un test très simple sous Delphi:
    Code Delphi : 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
    procedure TFormTest.ButtonTestDynClick(Sender: TObject);
    begin
      with TUIBQuery.Create(UIBTransaction1) do
      try
        SQL.Text := 'INSERT INTO COUNTRY (COUNTRY, CURRENCY) VALUES (?, ?);';
        Prepare;
        Close(etmCommit);
    //  finally
    //    Free;
    //  end;
     
    //  with TUIBQuery.Create(UIBTransaction1) do
    //  try
        SQL.Text := 'UPDATE COUNTRY SET COUNTRY = ?, CURRENCY = ? WHERE COUNTRY = ?;';
        Prepare;
        Close(etmCommit);
      finally
        Free;
      end;
    end;

    L'exécution de ce code provoque ces erreurs:
    Le projet ProjTest.exe a déclenché la classe d'exception EUIBError avec le message 'unknown ISC error 0
    Error Code: 401'.
    Puis, qui découle naturellement de la 1°:
    Le projet ProjTest.exe a déclenché la classe d'exception EUIBError avec le message 'invalid statement handle
    Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements
    Error Code: 165'.
    Firebird.log:
    PORTABLEASUS (Client) Thu Nov 04 18:38:08 2010
    INET/inet_error: read errno = 10054


    PORTABLEASUS (Client) Thu Nov 04 18:38:08 2010
    REMOTE INTERFACE/gds__detach: Unsuccesful detach from database.
    Uncommitted work may have been lost
    Bien entendu le Trace Log est interrompu sur le 2° prepare :
    2010-11-04T18:38:05.3670 (3896:0120E01C) PREPARE_STATEMENT
    EMPLOYEE (ATT_62, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
    D:\Travaux\FirebirdBug\ProjTest.exe:4964
    (TRA_698, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE)

    Statement 77:
    -------------------------------------------------------------------------------
    UPDATE COUNTRY SET COUNTRY = ?, CURRENCY = ? WHERE COUNTRY = ?;

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    PLAN (COUNTRY INDEX (RDB$PRIMARY1))
    0 ms
    Le fait de décommenter les lignes (donc un Free sur le composant puis recréation), ou d'arrêter le système de trace, ne pose plus de problème.

    A votre avis: UIB ou Firebird en cause ?

    @+ Claudius

  2. #2
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    A votre avis: UIB ou Firebird en cause ?
    faire le test avec autre chose qu'UIB

    ISQL ou Python par exemple ?

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par makowski Voir le message
    faire le test avec autre chose qu'UIB
    Dans ma démarche j'ai du mal à incriminer l'un ou l'autre que ce soit Firebird ou UIB.

    Citation Envoyé par makowski Voir le message
    ISQL ou Python par exemple ?
    Je ferais une autre série de test demain. ISQL, j'aurais dû avoir ce réflexe.
    Merci.

  4. #4
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    Question annexe, tu utilises bien la dernière version d'UIB ?

  5. #5
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Oui, la dernière révision du dépôt SVN.

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Bon je m'oriente vers un pb avec les composants UIB.

    J'ai effectué, entre autre, un test avec les IBX (si si j'ai osé) et ça passe sans problème.

  7. #7
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Ah... faut que je garde mes IBX alors..

  8. #8
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Bon je m'oriente vers un pb avec les composants UIB.
    en fait il y avait un bug dans les UIB sur la réutilisation des requetes, mais normalement cela a été corrigé.

    après peut être aussi que comme les prepare peuvent se faire hors transaction, tes enchainement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Prepare;
        Close(etmCommit);
    ne sont pas terribles
    il faut voir avec Henri et consorts

  9. #9
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par makowski Voir le message
    en fait il y avait un bug dans les UIB sur la réutilisation des requetes, mais normalement cela a été corrigé.
    Si tu fais référence à ce thread chez progdigy, oui je l'avais vu.

    Citation Envoyé par makowski Voir le message
    après peut être aussi que comme les prepare peuvent se faire hors transaction, tes enchainement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Prepare;
        Close(etmCommit);
    ne sont pas terribles
    Ca je te l'accorde ce n'est pas très orthodoxe, mais j'adore torturé mes compos favoris. A noter qu'avec des Open classiques, les symptômes sont les mêmes.

    Citation Envoyé par makowski Voir le message
    il faut voir avec Henri et consorts
    Oui je verrais ça avec lui, mais en attendant j'essaye de cerner le problème plus finement. Histoire d'éviter de lui dire: Eh Henri, ça marche pas !

  10. #10
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Bon apparemment, un appel manquant à l'API isc_dsql_allocate_statement lors de l'ouverture du 2° query est à l'origine du problème (alors qu'un appel à isc_dsql_free_statement a précédé son ouverture).

    Je vais essayé de soigner ma prose anglaise (), et remonter ça à Henri.

  11. #11
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    tu peux lui parler en français
    ou poster en français sur nzn.fr.firebird

  12. #12
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Je n'avais pas relevé cette remarque en 1° lecture.
    Citation Envoyé par makowski Voir le message
    ...comme les prepare peuvent se faire hors transaction, ...
    L'appel à isc_dsl_prepare nécessite bien un Handle sur la transaction, non ?
    Je ne saisis pas.

  13. #13
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715

Discussions similaires

  1. Bug avec le test de profondeur
    Par Tellmarch dans le forum OpenGL
    Réponses: 1
    Dernier message: 17/10/2004, 00h59
  2. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 12h01
  3. Bug avec requete
    Par arsgunner dans le forum ASP
    Réponses: 8
    Dernier message: 14/06/2004, 16h25
  4. [C#] Bug (?) avec la propriété TransparencyKey de la Form
    Par FrigoAcide dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/05/2004, 14h14
  5. [CR9] Bug avec les champs à valeur vide ?
    Par Djob dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/07/2003, 21h21

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