fusioninventory / fusioninventory-for-glpi

FusionInventory plugin for GLPI
http://www.FusionInventory.org/
GNU Affero General Public License v3.0
361 stars 148 forks source link

[9.2+2.0-RC1] PHP warning messages in the upgrade process #2529

Open tabad opened 6 years ago

tabad commented 6 years ago

The environment

* Red Hat Enterprise Linux Server release 7.3 (Maipo)
    * Source Environment
        * GLPI v9.1.2
            * FusionInventory for GLPI v9.1+1.1
            * ...and other plugins
    * Target Environment
        * GLPI v9.2.3
            * FusionInventory for GLPI v9.2+2.0-RC1
            * ...and other plugins

The issue

When the FusionInventory for GLPI upgrade process from v9.1+1.1 (GLPI v9.1.2) to v9.2+2.0-RC1 (GLPI v9.2.3) starts, it writes the following warning messages into php-errors.log file.

Note #1: The upgrade process of GLPI v9.1.2 to v9.2.3 was executed successfully.

Note #2: This problem doesn't appear upgrading to v9.2+2.0-RC1 under GLPI v9.2.2.

[...]
2018-04-30 13:51:01 [26@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 22
  Backtrace :
  plugins/fusioninventory/install/update.php:4769    
  plugins/fusioninventory/install/update.php:376     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:850               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-04-30 13:51:01 [26@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 22
  Backtrace :
  plugins/fusioninventory/install/update.php:4769    
  plugins/fusioninventory/install/update.php:376     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:850               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-04-30 13:51:02 [26@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 22
  Backtrace :
  plugins/fusioninventory/install/update.php:4769    
  plugins/fusioninventory/install/update.php:376     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:850               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-04-30 13:51:02 [26@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 22
  Backtrace :
  plugins/fusioninventory/install/update.php:4769    
  plugins/fusioninventory/install/update.php:376     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:850               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-04-30 13:51:02 [26@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 22
  Backtrace :
  plugins/fusioninventory/install/update.php:4769    
  plugins/fusioninventory/install/update.php:376     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:850               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-04-30 13:51:03 [26@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 22
  Backtrace :
  plugins/fusioninventory/install/update.php:4769    
  plugins/fusioninventory/install/update.php:376     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:850               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
[...]

Regards,

tabad commented 6 years ago

The bug continues with FI4G v9.2+2.0.

More information:

The previous contain of php-errors.log was regarding upgrade process of FI4G. These new lines are regarding enable process. I think those errors are related.

2018-05-30 11:58:43 [7@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined index: entities_id
  Backtrace :
  inc/item_operatingsystem.class.php:682
  inc/commondbtm.class.php:891                       Item_OperatingSystem->prepareInputForAdd()
  plugins/fusioninventory/install/update.php:4771    CommonDBTM->add()
  plugins/fusioninventory/install/update.php:371     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:848               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-05-30 11:58:43 [7@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined index: is_recursive
  Backtrace :
  inc/item_operatingsystem.class.php:683
  inc/commondbtm.class.php:891                       Item_OperatingSystem->prepareInputForAdd()
  plugins/fusioninventory/install/update.php:4771    CommonDBTM->add()
  plugins/fusioninventory/install/update.php:371     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:848               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-05-30 11:58:44 [7@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined index: entities_id
  Backtrace :
  inc/item_operatingsystem.class.php:682
  inc/commondbtm.class.php:891                       Item_OperatingSystem->prepareInputForAdd()
  plugins/fusioninventory/install/update.php:4771    CommonDBTM->add()
  plugins/fusioninventory/install/update.php:371     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:848               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-05-30 11:58:44 [7@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined index: is_recursive
  Backtrace :
  inc/item_operatingsystem.class.php:683
  inc/commondbtm.class.php:891                       Item_OperatingSystem->prepareInputForAdd()
  plugins/fusioninventory/install/update.php:4771    CommonDBTM->add()
  plugins/fusioninventory/install/update.php:371     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:848               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()
2018-05-30 11:58:57 [7@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 22
  Backtrace :
  plugins/fusioninventory/install/update.php:4764
  plugins/fusioninventory/install/update.php:371     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:848               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()

Best regards,

tabad commented 6 years ago

Hello again,

There are also other *** PHP Notice(8): Undefined offset: 69 messages in addition to the *** PHP Notice(8): Undefined offset: 22 messages.

2018-06-04 13:40:06 [7@inventariopre.sescam.jclm.es]
  *** PHP Notice(8): Undefined offset: 69
  Backtrace :
  plugins/fusioninventory/install/update.php:4764
  plugins/fusioninventory/install/update.php:371     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:848               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()

Also I have detected this other kind of messages.

2018-06-04 13:42:45 [7@inventariopre.sescam.jclm.es]
  *** PHP Warning(2): Invalid argument supplied for foreach()
  Backtrace :
  plugins/fusioninventory/install/update.php:4853
  plugins/fusioninventory/install/update.php:371     do_computeroperatingsystem_migration()
  plugins/fusioninventory/hook.php:848               pluginFusioninventoryUpdate()
  inc/plugin.class.php:731                           plugin_fusioninventory_install()
  front/plugin.form.php:48                           Plugin->install()

Regards,

tabad commented 6 years ago

Hello again,

Once I have GLPI v9.2.3 & FI4G v9.2+2.0 running I have a myriad of messages of this kind

2018-06-05 01:22:59 [6@inventario.sescam.jclm.es]
  *** MySQL query error:
  SQL: INSERT
                   INTO `glpi_items_operatingsystems` (`itemtype`,`items_id`,`operatingsystemarchitectures_id`,`operatingsystemkernelversions_id`,`operatingsystems_id`,`operatingsystemversions_id`,`operatingsystemservicepacks_id`,`operatingsystemeditions_id`,`license_id`,`license_number`,`is_dynamic`,`entities_id`,`is_recursive`,`date_creation`,`date_mod`) VALUES ('Computer','21234','2','17434','2',0,'1',0,'12345-123-1234567-12345','AAAAA-BBBBB-CCCCC-DDDDD-EEEEE','1','1120','0','2018-06-05 01:22:57','2018-06-05 01:22:57')
  Error: Duplicate entry '21234-Computer-2-2' for key 'unicity'
  Backtrace :
  inc/commondbtm.class.php:504
  inc/commondbtm.class.php:928                       CommonDBTM->addToDB()
  ...nventory/inc/inventorycomputerlib.class.php:187 CommonDBTM->add()
  ...ry/inc/inventorycomputerinventory.class.php:556 PluginFusioninventoryInventoryComputerLib->updateComputer()
  ...inventory/inc/inventoryruleimport.class.php:795 PluginFusioninventoryInventoryComputerInventory->rulepassed()
  inc/rule.class.php:1436                            PluginFusioninventoryInventoryRuleImport->executeActions()
  inc/rulecollection.class.php:1461                  Rule->process()
  ...ry/inc/inventorycomputerinventory.class.php:361 RuleCollection->processAllRules()
  ...ry/inc/inventorycomputerinventory.class.php:126 PluginFusioninventoryInventoryComputerInventory->sendCriteria()
  ...fusioninventory/inc/communication.class.php:234 PluginFusioninventoryInventoryComputerInventory->import()
  ...fusioninventory/inc/communication.class.php:463 PluginFusioninventoryCommunication->import()
  plugins/fusioninventory/front/communication.php:93 PluginFusioninventoryCommunication->handleOCSCommunication()
  plugins/fusioninventory/index.php:59               include_once()

in sql-errors.log file.

I believe that these errors are caused by the above errors in the update process.

Regards,

tabad commented 5 years ago

Hello,

Is there or have you any news about this issue?

Thanks in advance,