pluginsGLPI / uninstall

Uninstall plugin for GLPI
GNU General Public License v2.0
8 stars 12 forks source link

Desintallation fige sur veuillez patienter #47

Closed jettarse52 closed 1 year ago

jettarse52 commented 5 years ago

Bonjour,

Lors de l'utilisation du plugin sur un ordinateur, l'action bloque sur veuillez patienter mais elle semble se réaliser tout de même, peut être pas jusqu’au bout.

Je constate des erreurs sql provenant de liaison avec la table glpi_suppliers.

cedric-anne commented 5 years ago

Hi,

Which version of GLPI and plugin are you using ? Can you paste here trace of SQL error you had ?

Regards

jettarse52 commented 5 years ago

glpi 9.4.0 plugin uninstall 2.6.0

Exemple de test ce matin

[2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177 MySQL query error: SQL: DELETE FROM glpi_contracts_items WHERE glpi_computers.id IS NULL LEFT JOIN glpi_computers ON (glpi_contracts_items.items_id = glpi_computers.id AND itemtype = 'Computer') Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN glpi_computers ON (glpi_contracts_items.items_id = `glpi_compute' at line 1 Backtrace : inc/dbmysql.class.php:1043
inc/transfer.class.php:569 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
MySQL query error: SQL: DELETE FROM glpi_contracts_items WHERE glpi_contracts.id IS NULL LEFT JOIN glpi_contracts ON (glpi_contracts_items.contracts_id = glpi_contracts.id) Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN glpi_contracts ON (glpi_contracts_items.contracts_id = glpi_con' at line 1 Backtrace : inc/dbmysql.class.php:1043 inc/transfer.class.php:579 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.000\", 15.99Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177 *** MySQL query error: SQL: DELETE FROMglpi_contracts_suppliersWHEREglpi_contracts.idIS NULL LEFT JOINglpi_contractsON (glpi_contracts_suppliers.contracts_id=glpi_contracts.id) Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOINglpi_contractsON (glpi_contracts_suppliers.contracts_id=glpi' at line 1 Backtrace : inc/dbmysql.class.php:1043
inc/transfer.class.php:628 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.000\", 15.99Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177 MySQL query error: SQL: DELETE FROM glpi_contracts_suppliers WHERE glpi_suppliers.id IS NULL LEFT JOIN glpi_suppliers ON (glpi_contracts_suppliers.suppliers_id = glpi_suppliers.id) Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN glpi_suppliers ON (glpi_contracts_suppliers.suppliers_id = `glpi' at line 1 Backtrace : inc/dbmysql.class.php:1043
inc/transfer.class.php:640 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.000\", 15.99Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
MySQL query error: SQL: DELETE FROM glpi_infocoms WHERE glpi_computers.id IS NULL LEFT JOIN glpi_computers ON (glpi_infocoms.items_id = glpi_computers.id AND glpi_infocoms.itemtype = 'Computer') Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN glpi_computers ON (glpi_infocoms.items_id = glpi_computers.id' at line 1 Backtrace : inc/dbmysql.class.php:1043 inc/transfer.class.php:814 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.002\", 16.21Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177 *** MySQL query error: SQL: DELETE FROMglpi_contacts_suppliersWHEREglpi_contacts.idIS NULL LEFT JOINglpi_contactsON (glpi_contacts_suppliers.contacts_id=glpi_contacts.id) Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOINglpi_contactsON (glpi_contacts_suppliers.contacts_id=glpi_co' at line 1 Backtrace : inc/dbmysql.class.php:1043
inc/transfer.class.php:863 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.002\", 16.21Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177 MySQL query error: SQL: DELETE FROM glpi_contacts_suppliers WHERE glpi_suppliers.id IS NULL LEFT JOIN glpi_suppliers ON (glpi_contacts_suppliers.suppliers_id = glpi_suppliers.id) Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN glpi_suppliers ON (glpi_contacts_suppliers.suppliers_id = `glpi_' at line 1 Backtrace : inc/dbmysql.class.php:1043
inc/transfer.class.php:875 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.000\", 16.21Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
MySQL query error: SQL: SELECT contacts_id, glpi_contacts.entities_id, glpi_contacts.is_recursive FROM glpi_contacts_suppliers LEFT JOIN glpi_contacts ON (glpi_contacts_suppliers.contacts_id = glpi_suppliers.id) WHERE suppliers_id IN ('2') Error: Unknown column 'glpi_suppliers.id' in 'on clause' Backtrace : inc/dbmysqliterator.class.php:95
inc/dbmysql.class.php:569 DBmysqlIterator->execute() inc/transfer.class.php:903 DBmysql->request() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.000\", 16.21Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177 MySQL query error: SQL: DELETE FROM glpi_documents_items WHERE glpi_computers.id IS NULL LEFT JOIN glpi_computers ON (glpi_documents_items.items_id = glpi_computers.id AND glpi_documents_items.itemtype = 'Computer') Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN glpi_computers ON (glpi_documents_items.items_id = `glpi_compute' at line 1 Backtrace : inc/dbmysql.class.php:1043
inc/transfer.class.php:931 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.002\", 16.37Mio)"} [2019-04-19 09:19:35] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
MySQL query error: SQL: DELETE FROM glpi_documents_items WHERE glpi_suppliers.id IS NULL LEFT JOIN glpi_suppliers ON (glpi_documents_items.items_id = glpi_suppliers.id AND glpi_documents_items.itemtype = 'Supplier') Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN glpi_suppliers ON (glpi_documents_items.items_id = `glpi_supplie' at line 1 Backtrace : inc/dbmysql.class.php:1043
inc/transfer.class.php:931 DBmysql->delete() inc/transfer.class.php:174 Transfer->simulateTransfer() plugins/uninstall/inc/uninstall.class.php:295 Transfer->moveItems() plugins/uninstall/front/action.php:76 PluginUninstallUninstall::uninstall() {"user":"9@L115909GLPI","mem_usage":"0.000\", 16.39Mio)"}

cedric-anne commented 5 years ago

Hi,

Some problems on transfer have been fixed in 9.4.2 version of GLPI. You should try to upgrade to see if it fixes this bug.

Regards

jettarse52 commented 5 years ago

J'ai procédé a la mise a jour, Le problème existe toujours. Je ne constate plus qu'une erreur sql.

SQL: SELECT contacts_id, glpi_contacts.entities_id, glpi_contacts.is_recursive FROM glpi_contacts_suppliers LEFT JOIN glpi_contacts ON (glpi_contacts_suppliers.contacts_id = glpi_suppliers.id) WHERE suppliers_id IN ('2') Error: Unknown column 'glpi_suppliers.id' in 'on clause'

Je l'ai corrigée en modifiant la ligne 907 du fichier transfer.class.php. j'ai remplacé glpi_suppliers par glpi_contacts.

Je n'ai plus d'erreur sql par contre la désinstallation reste bloqué sur veuillez patienter

jettarse52 commented 5 years ago

Bonjour, Je relance ce sujet, mon problème est toujours présent. Après recherche je viens de trouver cette trace d'erreur dans le fichier error_glpi_log

PHP Fatal error: Uncaught RuntimeException: Empty IN are not allowed in /var/www/html/glpi/inc/dbmysqliterator.class.php:546\nStack trace:\n#0 /var/www/html/glpi/inc/dbmysqliterator.class.php(516): DBmysqlIterator->analyzeCriterion(Array)\n#1 /var/www/html/glpi/inc/dbmysqliterator.class.php(506): DBmysqlIterator->analyseCrit(Array)\n#2 /var/www/html/glpi/inc/dbmysqliterator.class.php(288): DBmysqlIterator->analyseCrit(Array)\n#3 /var/www/html/glpi/inc/dbmysqliterator.class.php(94): DBmysqlIterator->buildQuery('`glpi_contracts...', Array, false)\n#4 /var/www/html/glpi/inc/dbmysql.class.php(569): DBmysqlIterator->execute(Array, '', false)\n#5 /var/www/html/glpi/inc/transfer.class.php(2781): DBmysql->request(Array)\n#6 /var/www/html/glpi/inc/transfer.class.php(2719): Transfer->transferSingleSupplier('20')\n#7 /var/www/html/glpi/inc/transfer.class.php(1077): Transfer->transferInfocoms('Computer', 5, 5)\n#8 /var/www/html/glpi/inc/transfer.class.php(203): Transfer->transferItem('Computer', 5, 5)\n#9 /var/www/html/glpi/plugins/uninstall/inc/un in /var/www/html/glpi/inc/dbmysqliterator.class.php on line 546, referer: http://inventaire.cpam-hainaut.cnamts.fr/front/computer.form.php?id=5

Celle ci se produit a chaque désinstallation. D'où peut provenir le problème ?

Merci de votre aide.

stonebuzz commented 4 years ago

Bonjour @jettarse52

à priori c'est causé par les données administratives et financières pouvez-vous nous faire suivre votre configuration du plugin et du modèle de désinstallation ?

Bien cordialement

stonebuzz commented 1 year ago

I am closing this issue that has not evolved for a long time. Feel free to open a new one if needed

Best regards