<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Préformaté HTML Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texte de bulles Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.TextedebullesCar
        {mso-style-name:"Texte de bulles Car";
        mso-style-priority:99;
        mso-style-link:"Texte de bulles";
        font-family:"Tahoma","sans-serif";}
span.PrformatHTMLCar
        {mso-style-name:"Préformaté HTML Car";
        mso-style-priority:99;
        mso-style-link:"Préformaté HTML";
        font-family:"Courier New";
        mso-fareast-language:FR;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Bonjour,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Je vous contacte suite à un problème que je rencontre avec GLPI 0.84.8 et FusionInventory sur mon serveur Apache.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Mon problème ressemble beaucoup à celui-là : <a href="http://forum.fusioninventory.org/viewtopic.php?id=2595">
http://forum.fusioninventory.org/viewtopic.php?id=2595</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Du coup, j’ai recherché le patch et je l’ai appliqué sur mon serveur :
<a href="https://github.com/fusioninventory/fusioninventory-for-glpi/commit/b4182019cb303d4e02c2b6f33281b7de2cbc5af5">
https://github.com/fusioninventory/fusioninventory-for-glpi/commit/b4182019cb303d4e02c2b6f33281b7de2cbc5af5</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sauf qu’en lisant le code de la classe incriminée (https://raw.githubusercontent.com/fusioninventory/fusioninventory-for-glpi/master/inc/inventorycomputerinventory.class.php) , je me rend compte qu’il doit y avoir un autre problème.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">En effet, la fonction import() est contient les lignes :<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      // Clean all DB LOCK if exist more than 10 minutes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $time = 600;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $query = "DELETE FROM `glpi_plugin_fusioninventory_dblockinventorynames` "<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">              . " WHERE `date` <  CURRENT_TIMESTAMP() - ".$time;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $query = "DELETE FROM `glpi_plugin_fusioninventory_dblockinventories` "<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">              . " WHERE `date` <  CURRENT_TIMESTAMP() - ".$time;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $query = "DELETE FROM `glpi_plugin_fusioninventory_dblocksoftwares` "<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">              . " WHERE `date` <  CURRENT_TIMESTAMP() - ".$time;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $query = "DELETE FROM `glpi_plugin_fusioninventory_dblocksoftwareversions` "<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">              . " WHERE `date` <  CURRENT_TIMESTAMP() - ".$time;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      // DB LOCK<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $query = "INSERT INTO `glpi_plugin_fusioninventory_dblockinventorynames`<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">            SET `value`='".$name."'";<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $CFG_GLPI["use_log_in_files"] = FALSE;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      $start_time = date('U');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">      while(!$DB->query($query)) {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">        
</span><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">usleep(100000);<o:p></o:p></span></p>
<p class="MsoNormal">                …<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Contexte : il existe dans ma table <span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-language:FR">
glpi_plugin_fusioninventory_dblockinventorynames </span>plusieurs entrées. Vraisemblablement, des locks qui n’ont pu être supprimés suite à un redémarrage du serveur apache, tuant des processus en cours qui avaient créé les locks, mais qui du coup n’ont pas
 pu les supprimer.<o:p></o:p></p>
<p class="MsoNormal">Du coup, en lisant le code, je me dis qu’il doit bien y avoir quelque chose pour supprimer ces entrées (vieilles car datant d’au moins 1 mois).  Dans le code que j’ai retranscrit plus haut, il y a bien les query de suppression, mais elles
 ne sont pas exécutées. D’où le problème que je pense qu’il y a.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ne manque-t-il pas des $DB->query($query) après chaque ligne $query = DELETE ….. ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Le patch cache ce problème en libérant la connexion plus rapidement, mais le lock reste et la machine ne sera jamais mise à jour en base.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Qu’en pensez-vous ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cordialement,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Matthieu MARC<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR">----------------------------------------------------------</span><span style="font-size:12.0pt;color:black;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR">Matthieu MARC</span></b><span style="font-size:10.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR">Ingénieur informatique<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR">Direction des Systèmes d’Information</span><span style="font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:13.5pt;color:black;mso-fareast-language:FR"><img border="0" width="184" height="55" id="_x0038_23b61af-2d2a-4ec1-9813-9ff67085377e" src="cid:image001.png@01D151D5.C2E58280" alt="Description : cid:8D30A827-01D1-4BAD-8638-C748210F90D9"></span><span style="font-size:13.5pt;font-family:"Arial","sans-serif";color:purple;mso-fareast-language:FR">  <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR">Ecole Nationale Supérieure d’Arts et Métiers</span><span style="font-size:10.0pt;color:purple;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR">2 boulevard du ronceray 49035 ANGERS</span><span style="font-size:10.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#781552;mso-fareast-language:FR"><a href="http://www.ensam.eu/"><span style="color:blue">http://www.ensam.eu</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>