Issues after failed upgrade to Pi-hole 6

Hi all

Debug token: https://tricorder.pi-hole.net/EMBe2eQS/

I ran into some problems while upgrading from Pi-hole 5 to 6.

Here's what happened:

  • I did the usual pihole -up, which at some point ran into "[✗] DNS resolution is currently unavailable".
  • The Raspi running Pi-hole is receiving its DNS through DHCP, so was eventually pointing to itself. I presumed the issue was that Pi-hole wasn't running during the upgrade and that's why I was getting the DNS resolution error message.
  • I did wait for a while but the installation process seemed to be stuck there, so I Ctrl-C, changed the DNS to work without Pi-hole, restarted the Raspi.
  • It now had proper internet connection, so I rerun pihole -up, which said all was fine.
  • I couldn't access the web interface and it turns out lighttpd was still running. So I removed it manually, restarted the Raspi, now I can access the web interface and Pi-hole seems to run.
  • But: The whole internet experience is slow and laggy. Some websites load instantaneously, others take up to maybe 10 seconds before opening. The Pi-hole web interface shows the same behavior: Sometimes pages load immediately, sometimes it hangs for a couple seconds. I also occasionally get an error message that a website can't be loaded.

Another interesting change: The pihole command line now requires sudo? I can't do pihole -up or pihole -d without sudo, as I used to with version 5. Is this intended?

I have now set up DNS in DHCP to not use Pi-hole until it works reliably again. I am considering doing a clean re-install. I have a current Teleporter export from Pi-hole 5, so I should be able to just re-install the Raspi and Pi-hole and import the configuration without much effort. If there's another way to fix this without starting from scratch I'd be happy to try, though.

Lastly, thank you for Pi-hole! Been using it for years and donated a couple times. :slightly_smiling_face:

Thank you!

Correct! :wink:

Next time start another SSH session and change your DNS Settings then restart Networking or DNS Service and the pihole -up process will just continue and finish everything !! :+1:

I do this from time to time and had to do it too when testing Pi-Hole v6 Beta the first time :slight_smile:

A lot of users have the same issue because of very old large databases of the Query Log so you might want to look into that :wink:

1 Like

Meanwhile I have done a clean install of Pi-hole in a Docker container on my NAS, imported the Teleport settings from version 5 and everything runs smoothly. Maybe the time was the right to retire the old Raspi 3B...

Out of interest, I guess it's not advisable for the Pi-hole host to use Pi-hole as DNS? Or maybe I should quickly switch to another DNS server before running any updates? Never had any issues though, except this time.

Also, simply out of interest, if anybody would like to look at the debug token: Is anything wrong?

Of course, why didn't I think of it! :man_facepalming: :joy: Thanks!

1 Like

Do you have a desktop environment and browser installed on the host? If not, there is no need to use Pi-hole as DNS server (there will be no browsing to see ads).

Usually is better to use a different DNS server, to avoid issues when Pi-hole is updating or offline.

I've marked @nero355's answer as the solution. If I had opened a second ssh session and changed the DNS, I would have saved myself a lot of trouble.

Better still if I had used a DNS other than Pi-hole on the host, as @rdwebdesign suggests. It was a Raspi 3B running only Pi-hole. There was nothing else running there.

Either way, I've decommissioned the Raspi (and now thinking about something fun I could do with it) and moved Pi-hole into a Docker container on my NAS. Happy the way things are, after all!

1 Like

No such option. When I run it I get:

sudo pihole -up
Usage: pihole [options]
Example: 'pihole -w -h'
Add '-h' after specific commands for more information on usage

Whitelist/Blacklist Options:
  -w, whitelist       Whitelist domain(s)
  -b, blacklist       Blacklist domain(s)
  --regex, regex      Regex blacklist domains(s)
  --white-regex       Regex whitelist domains(s)
  --wild, wildcard    Wildcard blacklist domain(s)
  --white-wild        Wildcard whitelist domain(s)
                        Add '-h' for more info on whitelist/blacklist usage

Debugging Options:
  -d, debug           Start a debugging session
                        Add '-c' or '--check-database' to include a Pi-hole database integrity check
  -f, flush           Flush the Pi-hole log
  -t, tail [arg]      View the live output of the Pi-hole log.
                      Add an optional argument to filter the log
                      (regular expressions are supported)


Options:
  -a, admin           Web interface options
                        Add '-h' for more info on Web Interface usage
  -c, chronometer     Calculates stats and displays to an LCD
                        Add '-h' for more info on chronometer usage
  -g, updateGravity   Update the list of ad-serving domains
  -h, --help, help    Show this help dialog
  -l, logging         Specify whether the Pi-hole log should be used
                        Add '-h' for more info on logging usage
  -q, query           Query the adlists for a specified domain
                        Add '-h' for more info on query usage
                        Add '--check-only' to exit script before update is performed.
  -v, version         Show installed versions of Pi-hole, Web Interface & FTL
                        Add '-h' for more info on version usage
  status              Display the running status of Pi-hole subsystems
  enable              Enable Pi-hole subsystems
  disable             Disable Pi-hole subsystems
                        Add '-h' for more info on disable usage
  restartdns          Full restart Pi-hole subsystems
                        Add 'reload' to update the lists and flush the cache without restarting the DNS server
                        Add 'reload-lists' to only update the lists WITHOUT flushing the cache or restarting the DNS server
  arpflush            Flush information stored in Pi-hole's network tables

My database is also corrupt as most pihole screens say:

An unknown error occurred while loading the data.
{"error":{"key":"database_error","message":"Could not read domains from database table","hint":"Database not available"},"took":0.00018048286437988281}

Is there some way to redo the db migration?

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.