[RESOLVED] Pihole -up breaks installation, lighttpd not starting and DNS service stopped

General info

I'm running Pi-hole on an LXC container. It worked fine without issues for months.

Expected Behaviour:

Pi-hole FTL/WebInterface working fine, pihole -up should perform update as usual

Actual Behaviour:

I've launched pihole -up, during upgrade there is the following message:

  [โœ—] Checking apt-get for upgraded packages
      Kernel update detected. If the install fails, please reboot and try again

BTW, there is no kernel update pending, I've launched apt update && apt upgrade followed by a reboot before performing pihole -up.

The upload ends with:

  [i] Restarting lighttpd service...
  Unable to complete update, please contact Pi-hole Support

After another reboot:

root@DNS-Stack:~# pihole status
[โœ—] DNS service is NOT running

root@DNS-Stack:~# lighttpd -f /etc/lighttpd/lighttpd.conf
Duplicate config variable in conditional 0 global: accesslog.filename
2023-02-10 19:21:11: configfile.c.1970) source: /etc/lighttpd/conf-enabled/10-accesslog.conf line: 4 pos: 1 parser failed somehow near here: (EOL)
2023-02-10 19:21:11: configfile.c.1970) source: find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include "%p"\n' 2>/dev/null line: 7 pos: 1 parser failed somehow near here: (EOL)
2023-02-10 19:21:11: configfile.c.1970) source: /etc/lighttpd/lighttpd.conf line: 82 pos: 1 parser failed somehow near here: (EOL)

Performed a pihole -r and it did not solve the issue:

root@DNS-Stack:~# systemctl status lighttpd
* lighttpd.service - Lighttpd Daemon
     Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2023-02-10 19:22:08 UTC; 15s ago
    Process: 1075 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=255/EXCEPTION)
        CPU: 11ms

Feb 10 19:22:08 DNS-Stack lighttpd[1075]: 2023-02-10 19:22:08: configfile.c.1970) source: /etc/lighttpd/lighttpd.conf line: 82 pos: 1 pars>
Feb 10 19:22:08 DNS-Stack systemd[1]: lighttpd.service: Control process exited, code=exited, status=255/EXCEPTION
Feb 10 19:22:08 DNS-Stack systemd[1]: lighttpd.service: Failed with result 'exit-code'.
Feb 10 19:22:08 DNS-Stack systemd[1]: Failed to start Lighttpd Daemon.
Feb 10 19:22:08 DNS-Stack systemd[1]: lighttpd.service: Scheduled restart job, restart counter is at 5.
Feb 10 19:22:08 DNS-Stack systemd[1]: Stopped Lighttpd Daemon.
Feb 10 19:22:08 DNS-Stack systemd[1]: lighttpd.service: Start request repeated too quickly.
Feb 10 19:22:08 DNS-Stack systemd[1]: lighttpd.service: Failed with result 'exit-code'.
Feb 10 19:22:08 DNS-Stack systemd[1]: Failed to start Lighttpd Daemon.

I can redo everything as I have a snapshot before the update if you need.

Debug Token:

Debug Token Link

Identical problem on my Raspi (Debian Buster, Kernel 5.10.103-v7l+) right after running "pihole -up". Lighttpd is failing.

1 Like

What does the top 10 lines of your /etc/lighttpd/lighttpd.conf look like? Specifically looking for the comment block contents at the top of the file.

root@DNS-Stack:~# head -n 10 /etc/lighttpd/lighttpd.conf
# Pi-hole: A black hole for Internet advertisements
# (c) 2017 Pi-hole, LLC (https://pi-hole.net)
# Network-wide ad blocking via your own hardware.
#
# Lighttpd config for Pi-hole
#
# This file is copyright under the latest version of the EUPL.
# Please see LICENSE file for your rights under this license.

###############################################################################

Sorry, I meant the block that mentions not to change the file contents.

###############################################################################
#     FILE AUTOMATICALLY OVERWRITTEN BY PI-HOLE INSTALL/UPDATE PROCEDURE.     #
# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
#                                                                             #
#              CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE:              #
#                         /etc/lighttpd/external.conf                         #
###############################################################################

Thanks, that doesn't look right, there was a change to that file to no longer modify and I think you have half of the changes.

Do you know what version of the core you were at before you did the latest pihole -up?

same config here ... MightySlaytanic is not alone ^^

1 Like

I've just rolled back to the snapshot before the update and this is the info you requested:

root@DNS-Stack:~# pihole version
  Pi-hole version is v5.14.2 (Latest: v5.15.4)
  AdminLTE version is v5.18 (Latest: v5.18.4)
  FTL version is v5.20 (Latest: v5.21)

Thanks. I think I see what is broken.

1 Like

Ok, also the message about the kernel update is strange, isn't it? I had no reboot pending for kernel updates. Thanks for the support.

What is the output from apt update?

root@DNS-Stack:~# apt update
Hit:1 http://security.debian.org bullseye-security InRelease
Hit:2 http://ftp.debian.org/debian bullseye InRelease
Hit:3 http://ftp.debian.org/debian bullseye-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

Thanks, the check for kernel runs uname -r to get the currently running kernel and then checks to see if /lib/modules/ has a subdirectory that matches the running kernel version. If they are different then the currently running kernel is missing libraries. That often means the libraries were updated via apt yet the kernel has not restarted to match the libraries.

Can you do uname -r and then check if there is the proper /lib/modules/(uname -r)?

In the meantime, I've rolled back the core update that I think is making this an issue.

The /etc/lighttpd/lighttpd.conf file needs to be changed, will update the detection function to make sure that people that update from a version prior to v5.15 will make it to where they need to be.

1 Like

There is no /lib/modules, but I think it is normal being an LXC container running on proxmox, which is effectively running on the Proxmox VE kernel. Iโ€™ve just shutdown everything, updated packages on Proxmox VE, rebooted Proxmox VE and restarted the LXC container with pi-hole: nothing changed, there is still the message about the kernel (which is fine if you say that it is checking /lib/modules/$(uname -r)) and then the install fails as before. So, I think that the message about the kernel has always been there but Iโ€™ve never noticed it :wink:

Ah yeah, that would explain it. The kernel check was a very early addition when everything was primarily Raspberry Pi OS/Raspbian and was a way to tell users that a reboot would be a smart thing to do. Not sure it does anything useful anymore. I think Raspberry Pi OS even does in-place kernel upgrades now anyways.

1 Like
1 Like

7 posts were split to a new topic: LXC and FTL permissions

Hi I am also broken. I get this:

sudo systemctl status lighttpd.service
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Start request repeated too quickly.
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Failed with result 'exit-code'.
Feb 10 20:43:37 grimawormtongue systemd[1]: Failed to start Lighttpd Daemon.

sudo journalctl -u lighttpd
10 20:43:37 grimawormtongue lighttpd[16431]: Duplicate config variable in conditional 0 global: accesslog.filename
Feb 10 20:43:37 grimawormtongue lighttpd[16431]: 2023-02-10 20:43:37: (configfile.c.2158) source: /etc/lighttpd/conf-enabled/10-accesslog.conf line: 4 pos: 1 parser failed>
Feb 10 20:43:37 grimawormtongue lighttpd[16431]: 2023-02-10 20:43:37: (configfile.c.2158) source: find /etc/lighttpd/conf-enabled -name '.conf' -a ! -name 'letsencrypt.co>
Feb 10 20:43:37 grimawormtongue lighttpd[16431]: 2023-02-10 20:43:37: (configfile.c.2158) source: /etc/lighttpd/lighttpd.conf line: 82 pos: 1 parser failed somehow near he>
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Control process exited, code=exited, status=255/EXCEPTION
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Failed with result 'exit-code'.
Feb 10 20:43:37 grimawormtongue systemd[1]: Failed to start Lighttpd Daemon.
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Scheduled restart job, restart counter is at 4.
Feb 10 20:43:37 grimawormtongue systemd[1]: Stopped Lighttpd Daemon.
Feb 10 20:43:37 grimawormtongue systemd[1]: Starting Lighttpd Daemon...
Feb 10 20:43:37 grimawormtongue lighttpd[16438]: Duplicate config variable in conditional 0 global: accesslog.filename
Feb 10 20:43:37 grimawormtongue lighttpd[16438]: 2023-02-10 20:43:37: (configfile.c.2158) source: /etc/lighttpd/conf-enabled/10-accesslog.conf line: 4 pos: 1 parser failed>
Feb 10 20:43:37 grimawormtongue lighttpd[16438]: 2023-02-10 20:43:37: (configfile.c.2158) source: find /etc/lighttpd/conf-enabled -name '
.conf' -a ! -name 'letsencrypt.co>
Feb 10 20:43:37 grimawormtongue lighttpd[16438]: 2023-02-10 20:43:37: (configfile.c.2158) source: /etc/lighttpd/lighttpd.conf line: 82 pos: 1 parser failed somehow near he>
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Control process exited, code=exited, status=255/EXCEPTION
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Failed with result 'exit-code'.
Feb 10 20:43:37 grimawormtongue systemd[1]: Failed to start Lighttpd Daemon.
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Scheduled restart job, restart counter is at 5.
Feb 10 20:43:37 grimawormtongue systemd[1]: Stopped Lighttpd Daemon.
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Start request repeated too quickly.
Feb 10 20:43:37 grimawormtongue systemd[1]: lighttpd.service: Failed with result 'exit-code'.
Feb 10 20:43:37 grimawormtongue systemd[1]: Failed to start Lighttpd Daemon.

Unsure how to fix it at this time...