Unable to repair mail: You should specify at least one non-empty ip adress

Created:

2017-02-02 15:52:19 UTC

Modified:

2017-08-16 17:35:00 UTC

0

Was this article helpful?


Have more questions?

Submit a request

Unable to repair mail: You should specify at least one non-empty ip adress

Applicable to:

  • Plesk 12.5 for Linux

Symptoms

Unable to repair Plesk mail server, as this error is shown:

Fatal error: plesk::SystemError(You should specify at least one non-empty ip adress: No such file or directory)

With Plesk debug logging enabled, it can be seen that IP addresses are not passed to the utility:

DEBUG [dbquery] [59] SQL: SELECT `m`.* FROM `IpAddressesCollections` AS `i`
 INNER JOIN `IP_Addresses` AS `m` ON `i`.`ipAddressId` = `m`.`id` WHERE (`i`.`ipCollectionId` = 506)
DEBUG [util_exec] [3e6be3bd5a12f16a2d044e182df4d205-0] Starting: domain_repair.worker, stdin: {"domain":{"name":"example.com","aliases":[],"enabled":true,"non_existent":{"type":"reject","arg":""},"outgoing_limit":750,"is_main":true,"subscription_limit":1500,"transport_type":"domain-ip","ipv4":"","ipv6":""}}

There is no IP collection with ID mentioned in the request above:

mysql>  SELECT `m`.* FROM `IpAddressesCollections` AS `i` INNER JOIN `IP_Addresses` AS `m` ON `i`.`ipAddressId` = `m`.`id` WHERE (`i`.`ipCollectionId` = 506);
Empty set (0.00 sec)
 

Cause

Inconsistency in Plesk database for the domain mail service.

Resolution

Repair the inconsistency, having made a backup of Plesk database :

1. Find the IP address example.com is associated with at Subscriptions > example.com > Web Hosting Access

2. Find the IP address ID:

mysql> select id,ip_address from IP_Addresses where ip_address='203.0.113.2';
+----+---------------+
| id | ip_address     |
+----+---------------+
|   2 | 203.0.113.2  |
+----+---------------+


3. Insert the necessary entry (506 in this example is the ID taken from the query in Symptoms):

mysql> insert into IpAddressesCollections values(506,2);
Query OK, 1 row affected (0.00 sec)


4. Reconfigure mail service for the domain:

# plesk repair mail example.com

Note: to find the inconsistent mail services for the other domains, the following query can be used:

mysql> select dom_id,type,status from DomainServices where ipCollectionId in (select p.ipCollectionId from DomainServices as p LEFT JOIN IpAddressesCollections as t ON p.ipCollectionId = t.ipCollectionId where t.ipCollectionId is null) and type='mail';

Have more questions? Submit a request
Please sign in to leave a comment.