Title mod_asn (or rather postgresql-ip4r) incompatible with IPv6
addresses
Priority urgent Status resolved
Superseder Nosy List poeml
Assigned To poeml Keywords mod_asn
When I once used mod_asn on a host with IPv6 connectivity, I ran into a problem
with the PostgreSQL database server eating memory. The ip4r data type, implanted
throuth the postgresl-ip4r contrib extension, is IPv4 only, and I believe that it
has a bug when it gets queries with IPv6 addresses. What happened was that the
server ran fine for some time, but after a while it complained about an out of
memory situation. The kind of memory that it claimed to have ran out of was not
clearly identifiable; the error message didn't seem to make sense to me 100%.
Since the ASN database is Ipv4-only, I will commit a fix to mod_asn that will stop
it to send IPv6 addresses to the database. That should avoid the issue.
The issue should be (reported and) debugged separately with postgresql-ip4r. Also,
ways to extend postgresql-ip4r for Ipv6 would be interesting to discuss. Finally,
there might be an ASN database for IPv6 addresses in the future; and 32-bit AS
numbers are also coming soon (which is another change). 32-bit AS will supercede
(or supplement, first) the current 16-bit AS numbers.
Issue migrated (2015-06-05) from old issue tracker http://mirrorbrain.org/issues/issue58
msg213 (view) Author: poeml Date: 2010-09-05.17:20:34
When I once used mod_asn on a host with IPv6 connectivity, I ran into a problem
with the PostgreSQL database server eating memory. The ip4r data type, implanted
throuth the postgresl-ip4r contrib extension, is IPv4 only, and I believe that it
has a bug when it gets queries with IPv6 addresses. What happened was that the
server ran fine for some time, but after a while it complained about an out of
memory situation. The kind of memory that it claimed to have ran out of was not
clearly identifiable; the error message didn't seem to make sense to me 100%.
Since the ASN database is Ipv4-only, I will commit a fix to mod_asn that will stop
it to send IPv6 addresses to the database. That should avoid the issue.
The issue should be (reported and) debugged separately with postgresql-ip4r. Also,
ways to extend postgresql-ip4r for Ipv6 would be interesting to discuss. Finally,
there might be an ASN database for IPv6 addresses in the future; and 32-bit AS
numbers are also coming soon (which is another change). 32-bit AS will supercede
(or supplement, first) the current 16-bit AS numbers.
msg214 (view) Author: poeml Date: 2010-09-05.17:57:15
Fix committed in r84.
http://svn.mirrorbrain.org/viewvc/mod_asn?view=revision&revision=84
I'm preparing a release (1.5).
msg216 (view) Author: poeml Date: 2010-09-05.19:11:28
Here's the problem's symptom on the Apache side:
[Fri Sep 03 16:12:51 2010] [notice] [client 2002:8cba:4668::1] [mod_asn] IP
2002:8cba:4668::1 not found
[Fri Sep 03 16:12:51 2010] [error] [client 2002:8cba:4668::1] [mod_mirrorbrain] could
not resolve country
[Fri Sep 03 16:12:51 2010] [error] [client 2002:8cba:4668::1] [mod_mirrorbrain] could
not resolve continent
[Fri Sep 03 16:52:27 2010] errorInternal error: DBD: failed to initialise
[Fri Sep 03 16:52:27 2010] [error] [client 201.221.33.54] [mod_asn] Error acquiring
database connection
(end of migrated issue)
The text was updated successfully, but these errors were encountered: