Plesk

Unable to load object of type BsDomain with id=3: Domain does not exist.

Symptoms

The following error appears in Plesk UI during an attempt to open a domain control panel in Plesk, or open the Home > Domains link in the left navigation bar, or login to Plesk:

external error: Unable to load object of type BsDomain with id=3: Domain does not exist.

Cause

The issue is caused by a psa database inconsistency. It occurs if a record in the domains.webspace_id or domain_aliases.dom_id columns of a psa database points to a non-existing domain ID.

Resolution

The inconsistency can be fixed in the automatic mode:

# plesk repair db

Note: Refer to the documentation for details.

Manual solution

  1. Connect to the server via SSH or via RDP

  2. Create Plesk database backup

  3. Check the links to <id from error> in the psa.domains table:

    # plesk db "SELECT * FROM domains WHERE webspace_id=<id from error>"

    Note: The above query will return a list of domains that belong to a broken webspace, if there are any.

  4. Check the domain-related tables and domain aliases:

    Linux:

    # for table in domain_aliases hosting dom_param DomainServices subdomains;do echo TABLE: $table; plesk db "select * from $table where dom_id=<id from error>";done

    Windows:

    C:> for %T in (domain_aliases,hosting,dom_param,DomainServices,subdomains) do echo %T && plesk db "select * from %T where dom_id=13"

    Note: This query will return domain aliases that belong to the missing dom_id and also entries in related tables that contain information about the domain.

  5. If the hosting and DomainServices tables returned a non-empty result on step 3, check whether the actual domain content folder exist…