Error on ALL Custom Modules After 7.4.3 Upgrade

Cant open a single custom module, what on earth happened???

[26-Nov-2015 07:39:01 Europe/London] PHP Fatal error: Call to undefined method clt_client_profile_sugar::clt_client_profile_sugar() in /home/rjonline/public_html/crm/modules/clt_client_profile/clt_client_profile.php on line 44
[26-Nov-2015 07:39:04 Europe/London] PHP Fatal error: Call to undefined method clt_client_header_sugar::clt_client_header_sugar() in /home/rjonline/public_html/crm/modules/clt_client_header/clt_client_header.php on line 44
[26-Nov-2015 07:40:02 Europe/London] PHP Fatal error: Call to undefined method clt_client_profile_sugar::clt_client_profile_sugar() in /home/rjonline/public_html/crm/modules/clt_client_profile/clt_client_profile.php on line 44

Line 44 on all of them is like:
function clt_client_header(){

parent::clt_client_header_sugar();
}

and the class this refers to is “class clt_client_header_sugar extends Basic {”

SuiteCRM staff? help? your release appears to break the installation, please advise urgently! 24 hours is sufficient since I first asked. Thanks.

Hi - I have experienced EXACTLY the same issue after upgrade to 7.4.3. On ‘deploying’ a field change within a custom module, these errors started occurring, and I can no longer view Account records, and the Admin area returns a blank page, so I am pretty stuffed.

Was a solution to this problem found?

Many thanks.

Unfortunately I ended up rolling everything back as I still couldnt get it working. SuiteCRM support and response on this (and indeed a number of other points) is totally abysmal. It would appear that people posting follow-ups on suitecrm is just as poor as it was with sugarcrm, if not worse.

Hi websolprov, siren07,

What version of SuiteCRM did you upgrade from?

I tested this upgrading from 7.1.4 to 7.3.2 then to 7.4.3 and it worked as expected, with no issues in regards to either the Admin Panel or Custom Modules.

However, some issues after upgrading may be related to permissions.
If you set permissions on your instance again to appropriate values, using the commands:

sudo chmod -R 755 .
sudo chmod -R 775 cache custom modules themes data upload config_override.php
sudo chown -R <user>:<group> .

(Replace and with the Apache/IIS user’s username and group)

After setting permissions, is anything resolved?

Thanks both of you for responding to my query.

I have temporarily resolved by rolling back. I had previously upgrades from 7.2.2 (which worked fine) via the 7.3.2 upgrade patch and then the 7.4.3 upgrade patch. I do not know which of these broke custom modules.

I spent quite a bit of time seeing if I could work though the issues. Firstly commented out all the parent::[CUSTOM_MODULE_NAME]_sugar(); calls I could find. But then other parts of the commit would fail - fatal errors in the php_errors.log file including from:

/var/www/sugarcrm/modules/ModuleBuilder/parsers/relationships/UndeployedRelationships.php (seemed to be to do with undefined $db class variable, and also functions being called with incorrect parameters), and
/var/www/sugarcrm/modules/ModuleBuilder/MB/MBModule.php

I have always run a script to chown -R and chmod -R the entire sugarcrm directory before, during and after the upgrades, having been bitten by this in the past, so I don’t think permissions were the issue.

At that point I gave up and rolled back to 7.2.2.

Any insight you can provide would be gratefully received.

Thanks,

Digging a little into the code, I found that the solution is very simple (at least in my case). It seems that the new versions of SuiteCRM moved to the new style of PHP constructors but forgot one; The call in .php to parent::<module.name>_sugar() needs to be replaced by the call to parent::__construct(). Basically, don’t deploy from the module builder but rather publish the module, change that call and then install. It works like a charm.

Thanks all,
I have the same issue with the version upgrade made by Godaddy without doing the upgrade path.
I noticed the issue is specific to retrieving the list of records in each modules. In my case these are not custom modules but the vanilla ones.
I will try Yedidim approach and let you know.