Solved milter-greylist dies when IPv6 sendmail connection

When I enable IPv6 for sendmail() and an IPv6 mail connection is made:

milter_sys_read(greylist): cmd read returned 0, expecting 5
Milter (greylist): to error state
Milter: connect: host=[IPv6:2401:a400:2070:7d01:5d62:ec06:7dcb:ff3], addr=IPv6:2401:a400:2070:7d01:5d62:ec06:7dcb:ff3, temp failing commands


kernel: pid 21825 (milter-greylist), uid 26: exited on signal 11

I've checked that everything has been compiled with IPv6 where applicable (milter-greylist and its dependencies) and it looks like it has. sockstat() shows:

mailnull milter-gre 55856 3  stream /var/milter-greylist/milter-greylist.sock
mailnull milter-gre 55856 6  tcp6   *:5252                *:*
mailnull milter-gre 55856 7  tcp4   *:5252                *:*
mailnull milter-gre 55856 13 dgram  -> /var/run/log

root     sendmail   21798 4  tcp4   *:25                  *:*
root     sendmail   21798 5  tcp6   *:25                  *:*

Anything I've found with Google suggests something hasn't been compiled with, or does not support, IPv6. I believe I've checked everything more than once ... famous last words :)

I have checked (and recompiled):
o libmilter
o libspf2
o GeoIP
o milter-greylist

A portupgrade -FRr milter-greylist should have caught everything too, to be sure, to be sure.

If I remove the milter, the other milters and sendmail behave and IPv6 mail is accepted and delivered. So, it's milter-greylist that is the problem for some reason (works with IPv4 only without problem).

Any other ideas?
The cause of the problem was using the GeoIP "feature".

Removing GeoIP from the list of options and from the configuration file and recompiling milter-greylist solved the issue :)