Web UI System Status Check stuck loading and errors running ../status_checks.py


About two months ago I installed MiaB v0.26c on a Linode VPS and it has been running with very few issues since.

During this time I have been having issues with Spamhaus intermittently listing the IP I was assigned even though I have sent no spam. This lead me to contact Linode to see if they could help since they own the IP.

It turns out that the IP I was assigned was in a block of IPs that had been listed by Sapmhaus. The resolution to this was to give me a new IP that was not listed.

After Linode issued the new IP I updated my network settings, Postfix, /etc/hosts, and others to the new IP, turned off Linode’s auto network config, rebooted the linode, and reran the MiaB installer to reconfigure. I also updated all DNS info including glue records and have verified through third party tools that everything has updated correctly.

It took a few hours for DNS to update completely but I can now send and receive email as before.

Now when logging in to the UI the System Status Checks screen hangs on loading. All of the other pages load fine (I have not tested other processes other than re-issuing the SSLs and adding custom DNS records).

Following some similar posts on this forum I looked through the logs and was unable to find anything obviously wrong so I ran …/status_checks.py from the cli and got the following output:

$ sudo ~/mailinabox/management/status_checks.py
✓  All system services are running.
✓  SSH disallows password-based login.
✓  System software is up to date.
✓  Mail-in-a-Box is up to date. You are running version v0.26c.
✓  System administrator address exists as a mail alias. [administrator@angel.sourcedev.net ↦ 
✓  The disk has 6.07 GB space remaining.
✓  System memory is 61% free.

WARN: uid is 0 but '/' is owned by 107
✓  Firewall is active.
✓  Outbound mail (SMTP port 25) is not blocked.
✓  IP address is not blacklisted by zen.spamhaus.org.
Traceback (most recent call last):
  File "/usr/lib/python3.4/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/usr/lib/python3.4/multiprocessing/pool.py", line 47, in starmapstar
    return list(itertools.starmap(args[0], args[1]))
  File "/home/cnehring/mailinabox/management/status_checks.py", line 350, in run_domain_checks_on_domain
    check_mail_domain(domain, env, output)
  File "/home/cnehring/mailinabox/management/status_checks.py", line 586, in check_mail_domain
    mxhost = mx.split('; ')[0].split(' ')[1]
IndexError: list index out of range

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/cnehring/mailinabox/management/status_checks.py", line 983, in <module>
    run_checks(False, env, ConsoleOutput(), pool)
  File "/home/cnehring/mailinabox/management/status_checks.py", line 65, in run_checks
    run_domain_checks(rounded_values, env, output, pool)
  File "/home/cnehring/mailinabox/management/status_checks.py", line 323, in run_domain_checks
    ret = pool.starmap(run_domain_checks_on_domain, args, chunksize=1)
  File "/usr/lib/python3.4/multiprocessing/pool.py", line 268, in starmap
    return self._map_async(func, iterable, starmapstar, chunksize).get()
  File "/usr/lib/python3.4/multiprocessing/pool.py", line 599, in get
    raise self._value
IndexError: list index out of range

On seeing this I tried a few things including:

  • Rebooting and reinstalling/updating MiaB
  • Un-installing and then reinstalling python3.4 and associated programs
  • Removing and re-issuing all LE SSLs

The error still remains.

I have read through everything I could find on the forum but everything I found related to CRYPTO issues or failures at other points in the …/status_checks.py process or to other processes/tools.

I am thoroughly stuck and could use a hand if anyone has any ideas.

Please let me know if you need any more info or have something for me to try.

Any help anyone can offer would be greatly appreciated!

After digging around a bit more and not finding a resolution in the forum or docs, or anything I could make sense of in the logs I tried (re)moving the mailinabox folder in $HOME and re-installing with the curl command which worked.

I can now run …/status_checks.py without error and the System Status Checks page is working once again.

Trying to find a reason for this fixing the issue I used meld to run a comparison of the newly installed mailinabox folder and the archived version I had saved just in case and found that there are some files that are different.

In …/mailinabox/management/pycache/ there are 6 files that are different:

  • auth.cpython-34.pyc,
  • dns_update.cpython-34.pyc,
  • mailconfig.cpython-34.pyc,
  • ssl_certificates.cpython-34.pyc,
  • utils.cpython-34.pyc,
  • web_update.cpython-34.pyc,

and 2 files that are missing:

  • backup.cpython-34.pyc,
  • status_checks.cpython-34.pyc,

As these file names seem to relate to MiaB processes I’m guessing that the missing files will appear once those processes run.

In hindsight I probably could have deleted status_checks.cpython-34.pyc and the Status Checks page would have started working but I have no way of knowing that for sure.

In the interest of trying to learn more about how MiaB works I have a few questions:

  • What are these files for?
  • Why would changing the server’s IP have caused the Status Checks page to crash during the Domain Check portion?
  • Why did removing these files fix the issue?

If anyone has any ideas or answers I’d be grateful for the info.

Hi @sd3247,
Sorry for the delay in replying. My internet access has been down for the last two days.

I will review my notes and see if there is anything I didn’t mention in my last post. It may be a few days before I can follow up on this though. My ISP is sending out a new modem and a tech to fix the line issue but neither will be out until Tuesday/Wednesday (3-4 days).

I will follow up as soon as I can though.

Between now and then if you can give more info on the specific errors you are getting that might help.

Did you run …/status_checks.py from the cli? If not I would start there as you will get more info which may help you figure out what is causing the issue.

If you see the same permissions error I got (and listed in my first post) you can search for that here on the forum to see some of the ways others have fixed that.

If you get it worked out please let me know otherwise I’ll follow up as soon as I get back online with anything I missed from my notes.

Hi @sd3247,
Sorry for the delay. It took a bit to get caught up once I got internet access back.

I looked over my notes and did not see anything I left out of my previous posts so I looked at your domain to see if I could find anything that might help. I didn’t get very far because your domain is not resolving.

If you are still trying to get this going please let me know. If you are then their is an issue with your DNS config as your name servers are currently unreachable.

Hi @sd3247,
I just tested santiagodarre.com, which I took from the error message you posted, and get an error saying that the Nameserver for this domain is unreachable.

Is this the domain you are using for MiaB?

If so then there is definitely something wrong with the DNS configuration.