I resolved this maddening bug by restarting tvheadend with some extra options.
First checkout what's running now:
donotob@RPITV:/etc/init $ ps -ef|grep tv
hts 1240 1 3 05:05 ? 00:00:01 /usr/bin/tvheadend -f -p /run/tvheadend.pid -u hts -g video
donotob 1290 988 16 05:06 pts/3 00:00:00 grep --color=auto tv
Then stop and restart with the extra options:
donotob@RPITV:/etc/init $ sudo systemctl stop tvheadend
donotob@RPITV:/etc/init $ sudo /usr/bin/tvheadend -f -C --noacl -p /run/tvheadend.pid -u hts -g video
Checkout what's running now
donotob@RPITV:/etc/init $ ps -ef|grep tv
hts 1309 1 3 05:09 ? 00:00:01 /usr/bin/tvheadend -f -C --noacl -p /run/tvheadend.pid -u hts -g video
donotob 1360 988 0 05:10 pts/3 00:00:00 grep --color=auto tv
This forces tvheadend to disable all access control checks and forces the website to start without
having to provide a username/password... checkout with:
donotob@RPITV:/etc/init $ tvheadend --help
-C, --firstrun If no user account exists then create one with
no username and no password. Use with care as
it will allow world-wide administrative access
to your Tvheadend installation until you create or edit
the access control from within the Tvheadend web interface.
--noacl Disable all access control checks
After setting up the administrative account via the website, just restart tvheadend:
donotob@RPITV:/etc/init $ sudo systemctl restart tvheadend
Hope this helps.