It seems to be killed while scanning the whitelist regex. Not sure why it is still scanning this list, because I disabled all regex for this test.
EDIT
Yes, it was the whitelist regex
(\.|^)*\.services\.generalmagic\.com$
Despite being already disabled I removed it via web UI and pihole -q
runs very fast without error.
nanopi@nanopi:~$ pihole -q gstatic.com
[i] No results found for gstatic.com within the block lists
nanopi@nanopi:~$ sudo bash -x /opt/pihole/query.sh gstatic.com
+ piholeDir=/etc/pihole
+ gravityDBfile=/etc/pihole/gravity.db
+ options=gstatic.com
+ all=
+ exact=
+ blockpage=
+ matchType=match
+ colfile=/opt/pihole/COL_TABLE
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 256 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ [[ gstatic.com == \-\h ]]
+ [[ gstatic.com == \-\-\h\e\l\p ]]
+ [[ gstatic.com == *\-\b\p* ]]
+ [[ gstatic.com == *\-\a\l\l* ]]
+ [[ gstatic.com == *\-\e\x\a\c\t* ]]
++ sed -E 's/ ?-(bp|adlists?|all|exact) ?//g'
+ options=gstatic.com
+ case "${options}" in
+ domainQuery=gstatic.com
+ [[ -n '' ]]
+ scanDatabaseTable gstatic.com whitelist 0
+ local domain table type querystr result extra
++ printf %q gstatic.com
+ domain=gstatic.com
+ table=whitelist
+ type=0
+ [[ whitelist == \g\r\a\v\i\t\y ]]
+ case "${exact}" in
+ querystr='SELECT domain,enabled FROM domainlist WHERE type = '\''0'\'' AND domain LIKE '\''%gstatic.com%'\'' ESCAPE '\''\'\'''
++ sqlite3 /etc/pihole/gravity.db 'SELECT domain,enabled FROM domainlist WHERE type = '\''0'\'' AND domain LIKE '\''%gstatic.com%'\'' ESCAPE '\''\'\'''
+ result=
+ [[ -z '' ]]
+ return
+ scanDatabaseTable gstatic.com blacklist 1
+ local domain table type querystr result extra
++ printf %q gstatic.com
+ domain=gstatic.com
+ table=blacklist
+ type=1
+ [[ blacklist == \g\r\a\v\i\t\y ]]
+ case "${exact}" in
+ querystr='SELECT domain,enabled FROM domainlist WHERE type = '\''1'\'' AND domain LIKE '\''%gstatic.com%'\'' ESCAPE '\''\'\'''
++ sqlite3 /etc/pihole/gravity.db 'SELECT domain,enabled FROM domainlist WHERE type = '\''1'\'' AND domain LIKE '\''%gstatic.com%'\'' ESCAPE '\''\'\'''
+ result=
+ [[ -z '' ]]
+ return
+ scanRegexDatabaseTable gstatic.com whitelist 2
+ local domain list
+ domain=gstatic.com
+ list=whitelist
+ type=2
+ mapfile -t regexList
++ sqlite3 /etc/pihole/gravity.db 'SELECT domain FROM domainlist WHERE type = 2'
+ [[ 0 -ne 0 ]]
+ scanRegexDatabaseTable gstatic.com blacklist 3
+ local domain list
+ domain=gstatic.com
+ list=blacklist
+ type=3
+ mapfile -t regexList
++ sqlite3 /etc/pihole/gravity.db 'SELECT domain FROM domainlist WHERE type = 3'
+ [[ 23 -ne 0 ]]
++ printf '%s\n' '^(.+[.-])?ad[sxv]?[0-9]*[.-]' '^(.+[.-])?adse?rv(er?|ice)?s?[0-9]*[.-]' '^(.+[.-])?telemetry[.-]' '^(www[0-9].)?xn–' '^adim(age|g)s?[0-9][.-]' '^adtrack(er|ing)?[0-9]*[.-]' '^advert(s|is(ing|ements?))?[0-9][.-]' '^aff(iliat(es?|ion))?[.-]' '^analytics?[.-]' '^banners?[.-]' '^beacons?[0-9][.-]' '^count(ers?)?[0-9]*[.-]' '^mads.' '^pixels?[-.]' '^stat(s|istics)?[0-9][_.-]' '^track(ers?|ing)?[0-9][_.-]' '^traff(ic)?[.-]' '^.*metric.*\..*\..*$' '^logs?\..*\..*$' '(^|[-_.]+)(m?a(d((vert(s|is(ing|e?ments?))?|im(age|g)s?)|([vx]|s(e?rv(er?|ice)?s?)?)|track(ers?|ing))?|ff(iliat(es?|ion))?|nalytics?)|b((anner|eacon)s?)|count(ers?)?|pixels?|stat(s|istics?)?|t(elemetry|ra(ffic|ck(ers?|ing))))[-_]*[0-9]*[-_.]' '^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]' '^(.+[_.-])?ad[sxv]?[0-9]*[_.-]' '(^|\.)asn\.advolution\.de$'
+ str_regexList='^(.+[.-])?ad[sxv]?[0-9]*[.-]
^(.+[.-])?adse?rv(er?|ice)?s?[0-9]*[.-]
^(.+[.-])?telemetry[.-]
^(www[0-9].)?xn–
^adim(age|g)s?[0-9][.-]
^adtrack(er|ing)?[0-9]*[.-]
^advert(s|is(ing|ements?))?[0-9][.-]
^aff(iliat(es?|ion))?[.-]
^analytics?[.-]
^banners?[.-]
^beacons?[0-9][.-]
^count(ers?)?[0-9]*[.-]
^mads.
^pixels?[-.]
^stat(s|istics)?[0-9][_.-]
^track(ers?|ing)?[0-9][_.-]
^traff(ic)?[.-]
^.*metric.*\..*\..*$
^logs?\..*\..*$
(^|[-_.]+)(m?a(d((vert(s|is(ing|e?ments?))?|im(age|g)s?)|([vx]|s(e?rv(er?|ice)?s?)?)|track(ers?|ing))?|ff(iliat(es?|ion))?|nalytics?)|b((anner|eacon)s?)|count(ers?)?|pixels?|stat(s|istics?)?|t(elemetry|ra(ffic|ck(ers?|ing))))[-_]*[0-9]*[-_.]
^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]
^(.+[_.-])?ad[sxv]?[0-9]*[_.-]
(^|\.)asn\.advolution\.de$'
+ mapfile -t regexMatches
++ scanList gstatic.com '^(.+[.-])?ad[sxv]?[0-9]*[.-]
^(.+[.-])?adse?rv(er?|ice)?s?[0-9]*[.-]
^(.+[.-])?telemetry[.-]
^(www[0-9].)?xn–
^adim(age|g)s?[0-9][.-]
^adtrack(er|ing)?[0-9]*[.-]
^advert(s|is(ing|ements?))?[0-9][.-]
^aff(iliat(es?|ion))?[.-]
^analytics?[.-]
^banners?[.-]
^beacons?[0-9][.-]
^count(ers?)?[0-9]*[.-]
^mads.
^pixels?[-.]
^stat(s|istics)?[0-9][_.-]
^track(ers?|ing)?[0-9][_.-]
^traff(ic)?[.-]
^.*metric.*\..*\..*$
^logs?\..*\..*$
(^|[-_.]+)(m?a(d((vert(s|is(ing|e?ments?))?|im(age|g)s?)|([vx]|s(e?rv(er?|ice)?s?)?)|track(ers?|ing))?|ff(iliat(es?|ion))?|nalytics?)|b((anner|eacon)s?)|count(ers?)?|pixels?|stat(s|istics?)?|t(elemetry|ra(ffic|ck(ers?|ing))))[-_]*[0-9]*[-_.]
^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]
^(.+[_.-])?ad[sxv]?[0-9]*[_.-]
(^|\.)asn\.advolution\.de$' regex
++ local domain=gstatic.com 'esc_domain=gstatic\.com' 'lists=^(.+[.-])?ad[sxv]?[0-9]*[.-]
^(.+[.-])?adse?rv(er?|ice)?s?[0-9]*[.-]
^(.+[.-])?telemetry[.-]
^(www[0-9].)?xn–
^adim(age|g)s?[0-9][.-]
^adtrack(er|ing)?[0-9]*[.-]
^advert(s|is(ing|ements?))?[0-9][.-]
^aff(iliat(es?|ion))?[.-]
^analytics?[.-]
^banners?[.-]
^beacons?[0-9][.-]
^count(ers?)?[0-9]*[.-]
^mads.
^pixels?[-.]
^stat(s|istics)?[0-9][_.-]
^track(ers?|ing)?[0-9][_.-]
^traff(ic)?[.-]
^.*metric.*\..*\..*$
^logs?\..*\..*$
(^|[-_.]+)(m?a(d((vert(s|is(ing|e?ments?))?|im(age|g)s?)|([vx]|s(e?rv(er?|ice)?s?)?)|track(ers?|ing))?|ff(iliat(es?|ion))?|nalytics?)|b((anner|eacon)s?)|count(ers?)?|pixels?|stat(s|istics?)?|t(elemetry|ra(ffic|ck(ers?|ing))))[-_]*[0-9]*[-_.]
^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]
^(.+[_.-])?ad[sxv]?[0-9]*[_.-]
(^|\.)asn\.advolution\.de$' type=regex
++ cd /etc/pihole
++ export LC_CTYPE=C
++ LC_CTYPE=C
++ case "${type}" in
+++ echo '^(.+[.-])?ad[sxv]?[0-9]*[.-]
^(.+[.-])?adse?rv(er?|ice)?s?[0-9]*[.-]
^(.+[.-])?telemetry[.-]
^(www[0-9].)?xn–
^adim(age|g)s?[0-9][.-]
^adtrack(er|ing)?[0-9]*[.-]
^advert(s|is(ing|ements?))?[0-9][.-]
^aff(iliat(es?|ion))?[.-]
^analytics?[.-]
^banners?[.-]
^beacons?[0-9][.-]
^count(ers?)?[0-9]*[.-]
^mads.
^pixels?[-.]
^stat(s|istics)?[0-9][_.-]
^track(ers?|ing)?[0-9][_.-]
^traff(ic)?[.-]
^.*metric.*\..*\..*$
^logs?\..*\..*$
(^|[-_.]+)(m?a(d((vert(s|is(ing|e?ments?))?|im(age|g)s?)|([vx]|s(e?rv(er?|ice)?s?)?)|track(ers?|ing))?|ff(iliat(es?|ion))?|nalytics?)|b((anner|eacon)s?)|count(ers?)?|pixels?|stat(s|istics?)?|t(elemetry|ra(ffic|ck(ers?|ing))))[-_]*[0-9]*[-_.]
^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]
^(.+[_.-])?ad[sxv]?[0-9]*[_.-]
(^|\.)asn\.advolution\.de$'
++ awk 'NR==FNR{regexps[$0];next}{for (r in regexps)if($0 ~ r)print r}' /dev/fd/63 /dev/fd/62
+++ echo gstatic.com
+ [[ 0 -ne 0 ]]
+ mapfile -t results
++ scanDatabaseTable gstatic.com gravity
++ local domain table type querystr result extra
+++ printf %q gstatic.com
++ domain=gstatic.com
++ table=gravity
++ type=
++ [[ gravity == \g\r\a\v\i\t\y ]]
++ case "${exact}" in
++ querystr='SELECT gravity.domain,adlist.address,adlist.enabled FROM gravity LEFT JOIN adlist ON adlist.id = gravity.adlist_id WHERE domain LIKE '\''%gstatic.com%'\'' ESCAPE '\''\'\'''
+++ sqlite3 /etc/pihole/gravity.db 'SELECT gravity.domain,adlist.address,adlist.enabled FROM gravity LEFT JOIN adlist ON adlist.id = gravity.adlist_id WHERE domain LIKE '\''%gstatic.com%'\'' ESCAPE '\''\'\'''
++ result=
++ [[ -z '' ]]
++ return
+ [[ -z '' ]]
+ [[ -z '' ]]
+ [[ -z '' ]]
+ echo -e ' [i] No results found for gstatic.com within the block lists'
[i] No results found for gstatic.com within the block lists
+ exit 0