Microsoft Per Core, Empty CPU Count or CPU Core Count: Reconciliation Failed with Error: JavaException: java.lang.IllegalArgumentException: Comparison method violates its general contract!] + Cannot use in for non-objectDescriptionReconciliation fails when an incorrect license metric is used on a Microsoft product. This is because of some CIs having empty cpu count or cpu core countSteps to Reproduce On a Tokyo RTP instance, when you have a license for CIS, Windows Server, or SQL Server software models with a license metric Per Core, and have some CIs missing cpu count and/or cpu core count information, reconciliation for Microsoft publisher fails with the following error: "Failed with Error: JavaException: java.lang.IllegalArgumentException: Comparison method violates its general contract!" or "TypeError: Cannot read property "0032aa8c1b8c34509a26657faa4bcb0c" from undefined" WorkaroundMake sure you've assigned the correct license metric to all your MS products as listed in KB1123092 or in the following documentation: https://docs.servicenow.com/bundle/rome-it-asset-management/page/product/software-asset-management2/reference/mapping-ms-license-metrics.htmlIf there are CIs with empty cpu count and/or cpu core count, then apply the appropriate update set that is attached (the ones the PRB related to this KE): Utah: sys_remote_update_set_79073cc748321110fa9b7d9fda5b4887.xmlTokyo: sys_remote_update_set_fae9f1cf89b21110f877ce177a3fbaeb.xml Make sure there aren't CIs with empty cpu count and/or cpu core count to get accurate reconciliation results.Go to sys_update_xml, mark the entry corresponding to the Script Include SamNewPerCoreForMicrosoftLicenseCalculator as replace_on_upgrade=trueRelated Problem: PRB1608883