Migrating from 7.14.4 to 8.6.1: Exception in Controller: No module defined (nothing on home screen after login)

Hi,

After migrating to 8.6.1, I am stuck on a blank home page. Any clues appreciated :slight_smile:

Best,
Stéphane.

Description
I migrated from 7.14.4 to 8.6.1.

After login, I get the home page but nothing on it.

In the public/legacy/suitecrm.log, the only error is this:

[103][1][FATAL] Exception handling in /app/suitecrm/public/legacy/include/MVC/Controller/SugarController.php:397
[103][1][FATAL] Exception in Controller: No module defined

Environment

  • VPS
  • SuiteCRM in custom docker, based on php8.2-apache
  • PHP 8.2
  • MariaDB in docker, version: 10.11
  • SuiteCRM version: 8.6.1
  • Operating System: Linux

Other info

I did the migration by following the steps here: migration instructions

Migration was successful, but I could not login → In the database, I changed the id of the admin user to 1 (from this post)
It worked immediately after this.

Maybe it solves the login problem but messes things up in other ways? Permissions?

I have the exact same error when accessing an Email record.

For some reason the URL query has the correct parameters in a previous call to the function, but then it’s empty:

Mon Aug 26 16:54:23 2024 [12690][1][FATAL] RouteConverter::convertUri: index.php?module=Emails&action=DetailView&record=a5453b14-6bdf-3576-18eb-66c85a85c24c
Mon Aug 26 16:54:23 2024 [12690][1][FATAL] RouteConverter::convertUri: index.php?module=Emails&action=EditView&return_module=Emails&return_action=DetailView
Mon Aug 26 16:54:23 2024 [12690][1][FATAL] RouteConverter::convertUri: index.php?module=&action=DetailView&record=
Mon Aug 26 16:54:23 2024 [12690][1][FATAL] Exception handling in /var/www/crm/public/legacy/include/MVC/Controller/SugarController.php:397
Mon Aug 26 16:54:23 2024 [12690][1][FATAL] Exception in Controller: No module defined

See the three calls to convertUri.

This seems to be the incorrect one:

RouteConverter::convertUri: index.php?module=&action=DetailView&record=

The only “fix” I found so far was disabling the exception in RouteConverter.php::69:

    public function convert(?string $module, ?string $action, ?string $record, ?array $queryParams): string
    {
        if (empty($module)) {
            // throw new InvalidArgumentException('No module defined');
        }

And this also started happening after upgrading to SuiteCRM 8.6.2 (from 8.5.1).

If you think it is an issue and not yet reported here, you can raise one.

@rsp Good idea, done: Accessing detail view of Email module throws exception: `Exception in Controller: No module defined` · Issue #537 · salesagility/SuiteCRM-Core · GitHub

I updated from 8.61 to 8.7-beta and had same problem. disabled the line as you indicated and it works now and I can see the emails in my Timeline with Contacts. Previously, the email page was blank. Good sleuthing and repair suggestion on Github.

Hey man,

Have you fixed your issue ?

I got exactly the same, from same file & line.

Permissions could be the issue but I have the default one from the documentation.

Checkout the GitHUb link mentioned here. They are suggesting to comment that line.

No, still running with the commented line that throws the error. Haven’t noticed any adverse effects so far though.

Update: They released a fix for this for 8.8.0: