Pihole -up fails on pogoplug

Please follow the below template, it will help us to help you!

Expected Behaviour:

pihole should start after upgrade

Actual Behaviour:

pihole upgrade results in errors

Debug Token:

44pckikut2

when doing pihole -up you end up with a few errors:

  [i] Checking for existing FTL binary...
/etc/.pihole/automated install/basic-install.sh: line 2245: /usr/bin/pihole-FTL: No such file or directory
  [â] Downloading and Installing FTL

and

[â] DNS service is NOT running
/opt/pihole/updatecheck.sh: line 56: /usr/bin/pihole-FTL: No such file or directory
/opt/pihole/updatecheck.sh: line 62: /usr/bin/pihole-FTL: No such file or directory

[i] The install log is located at: /etc/pihole/install.log
Update Complete!

Current Pi-hole version is v4.0
Current AdminLTE version is v4.0
/opt/pihole/version.sh: line 19: /usr/bin/pihole-FTL: No such file or directory
Invalid Option! Try 'pihole -v --help' for more information.

however the file is there:

debian:/tmp# ls -al /usr/bin/pihole-FTL
-rwxr-xr-x 1 root root 4022401 Aug 6 12:18 /usr/bin/pihole-FTL
debian:/tmp#

debian:~# uname -a
Linux debian 4.9.0-6-marvell #1 Debian 4.9.88-1+deb9u1 (2018-05-07) armv5tel GNU/Linux

So ran through some linuxy things - as this didn't feel like a pihole issue

debian:/tmp# ldd -v /usr/bin/pihole-FTL
        not a dynamic executable
debian:/tmp# ls -lh /usr/bin/pihole-FTL
-rwxr-xr-x 1 root root 3.9M Aug  6 12:18 /usr/bin/pihole-FTL
debian:/tmp# sha1sum /usr/bin/pihole-FTL
88e7e5d394991b304eb1379a256b87f12ec56f0c  /usr/bin/pihole-FTL
debian:/tmp#

so the file is there, but theres something not right

debian:/tmp# strings /usr/bin/pihole-FTL | head
td8n
/lib/ld-linux-armhf.so.3
libgcc_s.so.1
_ITM_deregisterTMCloneTable
__gmon_start__
__aeabi_unwind_cpp_pr0
_Jv_RegisterClasses
_ITM_registerTMCloneTable
__aeabi_unwind_cpp_pr1
libpthread.so.0

ahh - so we dont have the correct library for the binary

debian:/tmp#  dpkg -S ld-linux-armhf.so.3
dpkg-query: no path found matching pattern *ld-linux-armhf.so.3*

lets install the package that contains it

debian:/lib# sudo apt-get install libc6-armhf-cross
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  libc6-armhf-cross
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 1,147 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main armel libc6-armhf-cross all 2.24                                                                                                                                                    -10cross1 [1,147 kB]
Fetched 1,147 kB in 0s (2,099 kB/s)
Selecting previously unselected package libc6-armhf-cross.
(Reading database ... 58380 files and directories currently installed.)
Preparing to unpack .../libc6-armhf-cross_2.24-10cross1_all.deb ...
Unpacking libc6-armhf-cross (2.24-10cross1) ...
Setting up libc6-armhf-cross (2.24-10cross1) ...

figure out where its actually installed

debian:/lib# dpkg -S ld-linux-armhf.so
libc6-armhf-cross: /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3

check it hasnt been symlinked yet

debian:/lib# stat /lib/ld-linux-armhf.so.3
stat: cannot stat '/lib/ld-linux-armhf.so.3': No such file or directory

debian:/lib# stat /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3
  File: /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 -> ld-2.24.so
  Size: 10              Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d      Inode: 328332      Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-08-06 12:32:19.000000000 +0100
Modify: 2017-05-16 05:01:45.000000000 +0100
Change: 2018-08-06 12:32:22.455855242 +0100
 Birth: -

symlink it

debian:/lib# sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib/ld-linux-armhf.so.3

However I still get:

debian:/lib# ldd -v /usr/bin/pihole-FTL
        not a dynamic executable

Now I just dont have the errors in the upgrade script where it complains that it can't find the file. Just shows its ready for an update

debian:/lib# pihole -up
[i] Checking for updates...
[i] Pi-hole Core: up to date
[i] Web Interface: up to date
[i] FTL: update available

[i] FTL out of date, it will be updated by the installer.

debian:/lib# sudo systemctl status pihole-FTL
â pihole-FTL.service - LSB: pihole-FTL daemon
   Loaded: loaded (/etc/init.d/pihole-FTL; generated; vendor preset: enabled)
   Active: active (exited) since Mon 2018-08-06 12:46:18 BST; 58s ago
     Docs: man:systemd-sysv-generator(8)

Aug 06 12:46:17 debian systemd[1]: Starting LSB: pihole-FTL daemon...
Aug 06 12:46:18 debian pihole-FTL[11564]: Not running
Aug 06 12:46:18 debian pihole-FTL[11564]: chown: cannot access '/etc/pihole/dhcp.leases': No such file or directory
Aug 06 12:46:18 debian su[11587]: Successful su for pihole by root
Aug 06 12:46:18 debian su[11587]: + ??? root:pihole
Aug 06 12:46:18 debian su[11587]: pam_unix(su:session): session opened for user pihole by (uid=0)
Aug 06 12:46:18 debian pihole-FTL[11564]: Illegal instruction
Aug 06 12:46:18 debian systemd[1]: Started LSB: pihole-FTL daemon.

so the system thinks its running but pihole -c doesnt:

 Pi-hole Chronometer

            Press Ctrl-C to exit
            ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
  Hostname: debian             (Debian Stretch 9)
    Uptime: 00:39:40
 Task Load: 0.54 0.98 0.82     (Active: 1 of 35 tasks)
 CPU usage: 3%                 (1.2 GHz)
 RAM usage: 20%                (Used: 49 MB of 248 MB)
 HDD usage: 21%                (Used: 2 GB of 11 GB)
  LAN addr: 192.168.1.2        (Gateway: 192.168.1.254)
   Pi-hole: Offline            (Blocking: 0 sites)
 Ads Today: 0%                 (Total: 0 of 0)
Local Qrys: 0%                 (2 DNS servers)
   Blocked: FTL offline
Top Advert:
Top Domain:
Top Client:

So now i've done all that, i uninstalled, re-installed (no luck), then repaired (still no luck), so I've run another debug session. New token: ywq16h4h0x

At least this time it shows FTL but not a version:

*** [ DIAGNOSING ]: Core version
[i] Core: v4.0 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249)
[i] Branch: master
[i] Commit: v4.0-0-gddbdb51

*** [ DIAGNOSING ]: Web version
[i] Web: v4.0 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249)
[i] Branch: master
[i] Commit: v4.0-0-gaf8c926

*** [ DIAGNOSING ]: FTL version
[â] FTL:

*** [ DIAGNOSING ]: dnsmasq version
[i] 2.76

pihole -v version:

debian:/etc/pihole# pihole -v
  Pi-hole version is v4.0 (Latest: v4.0)
  AdminLTE version is v4.0 (Latest: v4.0)
  Latest FTL version is v4.0
(gdb) run debug
Starting program: /usr/bin/pihole-FTL debug

Program received signal SIGILL, Illegal instruction.
0xb6fd7bce in ?? () from /lib/ld-linux-armhf.so.3
(gdb) backtrace
#0  0xb6fd7bce in ?? () from /lib/ld-linux-armhf.so.3
#1  0xb6fda89e in ?? () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

In case I messed things up with the symlinking i tried earlier, I pointed ld-linux-armfh.so.3 to ld-linux.so.3 and re-ran GDB

debian:/lib# gdb pihole-FTL
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pihole-FTL...done.
(gdb) run debug
Starting program: /usr/bin/pihole-FTL debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabi/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb)

Did you manage to install Pi-hole before on this device?

From your debug log, I see that your architecture is

*** [ DIAGNOSING ]: Processor
[i] armv5tel

which is something we don't support out of the box. We provide binaries for ARMv6 and ARMv8 as these are the two architectures used by Raspberry Pis as well as most other ARM boxes out there.

Whatever you try, the binaries we provide will not work as they contain instructions your processor cannot execute (hence the Illegal instruction messages you've seen).

This means that we don't know if FTL will run on your machine, however, you are invited to compile FTL by your own. We provide a guide how to do it.

3 Likes

Yes, this has been working since February, including upgrades and all sorts. I'll have a stab at compiling it myself and see whats going on.

thanks!

Edit: Yes compiling as per the instructions worked just fine, and its back up and running. Many thanks!

2 Likes

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