Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SuiteCRM 7.14.6, PHP 8.2.9, MSSQL, DBManager.php error on quick repair #10620

Open
pawelek4318 opened this issue Jan 20, 2025 · 0 comments
Open
Labels
Type: Bug Bugs within the core SuiteCRM codebase

Comments

@pawelek4318
Copy link

Issue

Quick repair and rebuild is not able to complete as there is error on comapring vardefs:

[20-Jan-2025 14:02:51 Asia/Kuwait] PHP Warning: Array to string conversion in C:\CRM\SuiteCRM-7.14.6\include\database\MssqlManager.php on line 2145 [20-Jan-2025 14:02:51 Asia/Kuwait] PHP Warning: foreach() argument must be of type array|object, string given in C:\CRM\SuiteCRM-7.14.6\include\utils\array_utils.php on line 273 [20-Jan-2025 14:02:51 Asia/Kuwait] PHP Fatal error: Uncaught TypeError: array_map(): Argument #2 ($array) must be of type array, string given in C:\CRM\SuiteCRM-7.14.6\include\database\DBManager.php:1048 Stack trace: #0 C:\CRM\SuiteCRM-7.14.6\include\database\DBManager.php(1048): array_map('strtolower', 'Array') #1 C:\CRM\SuiteCRM-7.14.6\include\database\SqlsrvManager.php(326): DBManager->compareVarDefs(Array, Array) #2 C:\CRM\SuiteCRM-7.14.6\include\database\DBManager.php(991): SqlsrvManager->compareVarDefs(Array, Array) #3 C:\CRM\SuiteCRM-7.14.6\include\database\DBManager.php(765): DBManager->repairTableParams('acl_actions', Array, Array, false, NULL) #4 C:\CRM\SuiteCRM-7.14.6\modules\Administration\repairDatabase.php(121): DBManager->repairTable(Object(ACLAction), false) #5 C:\CRM\SuiteCRM-7.14.6\modules\Administration\QuickRepairAndRebuild.php(140): include_once('C:\\CRM\\SuiteCRM...') #6 C:\CRM\SuiteCRM-7.14.6\modules\Administration\QuickRepairAndRebuild.php(122): RepairAndClear->repairDatabase() #7 C:\CRM\SuiteCRM-7.14.6\modules\Administration\views\view.repair.php(56): RepairAndClear->repairAndClearAll(Array, Array, false, true) #8 C:\CRM\SuiteCRM-7.14.6\include\MVC\View\SugarView.php(210): ViewRepair->display() #9 C:\CRM\SuiteCRM-7.14.6\include\MVC\Controller\SugarController.php(432): SugarView->process() #10 C:\CRM\SuiteCRM-7.14.6\include\MVC\Controller\SugarController.php(363): SugarController->processView() #11 C:\CRM\SuiteCRM-7.14.6\include\MVC\SugarApplication.php(101): SugarController->execute() #12 C:\CRM\SuiteCRM-7.14.6\index.php(52): SugarApplication->execute() #13 {main} thrown in C:\CRM\SuiteCRM-7.14.6\include\database\DBManager.php on line 1048

Possible Fix

Reason of this is string "Array" goes into function instead of actaull array.

Steps to Reproduce the Issue

1. SuiteCRM 7.14.6, PHP 8.2.9 nts x64, mssql 2019, IIS 10
2. Try Quick repair and rebuild
3. There will be info "Processing database and vardef comparison..." at repair page but actually it throws posted error with DBManager.php
...

Context

After upgrading from 7.12.x it is impossible to repair DB from interface.
Tried with fresh install of 7.14.6 on same env but error stays for clean install.
Tried with PHP 8.1.9 and also tried with 7.4.9 - the thing is that on php 7.4 it doesn't throw an error, but db script is wrong as it puts string "Array" instead of values:

/*INDEX MISMATCH WITH DATABASE - idx_del_user - ROW <name> idx_del_user <type> index <fields>[0] => 'deleted' [1] => 'assigned_user_id' */ /* VARDEF - idx_del_user - ROW<name> idx_del_user <type> index <fields>*/ DROP INDEX idx_del_user ON leads;; CREATE INDEX idx_del_user ON leads (Array);;

Version

7.14.6

What browser are you currently using?

Chrome

Browser Version

131.0.6778.265 (Official Build) (64-bit)

Environment Information

MSSQL 2019, PHP 8.2.9, IIS 10

Operating System and Version

Windows Server 2022

@pawelek4318 pawelek4318 added the Type: Bug Bugs within the core SuiteCRM codebase label Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug Bugs within the core SuiteCRM codebase
Projects
None yet
Development

No branches or pull requests

1 participant