[Pdns-users] Signal 11 trying to query my DNS server, using gmysql

Frédéric Trudeau ftrudeau at zesolution.com
Tue May 27 22:05:10 UTC 2003


Here is the deal. Ive got a domain name, zesolution.com, which I would like
to act as a master for other domains (including zesolution.com itself).
I then configured my records accordingly ... Please note that I masked the
IP addresses in this email myself, for security reasons.

mysql> select * from records where domain_id = '2' group by id;
+----+-----------+------------------------+------+--------------------------
--------------------+-------+------+-------------+
| id | domain_id | name                   | type | content
| ttl   | prio | change_date |
+----+-----------+------------------------+------+--------------------------
--------------------+-------+------+-------------+
|  8 |         2 | zesolution.com         | MX   | mail.zesolution.com
|   120 |    5 |           0 |
|  9 |         2 | mail.zesolution.com    | A    | xx.xx.xxx.60
|   120 |    5 |        NULL |
| 10 |         2 | zesolution.com         | NS   | ns1.zesolution.com
| 86400 |    5 |        NULL |
| 11 |         2 | zesolution.com         | SOA  | ns1.zesolution.com
hostmaster.zesolution.com | 86400 | NULL |        NULL |
| 14 |         2 | ns2.zesolution.com     | A    | xx.xx.xxx.62
|   120 | NULL |        NULL |
| 15 |         2 | ns1.zesolution.com     | A    | xx.xx.xxx.61
|   120 | NULL |        NULL |
| 16 |         2 | zesolution.com         | NS   | ns2.zesolution.com
| 86400 | NULL |        NULL |
| 17 |         2 | ftp.zesolution.com     | A    | xx.xx.xxx.60
|   120 | NULL |        NULL |
| 18 |         2 | imap.zesolution.com    | A    | xx.xx.xxx.60
|   120 | NULL |        NULL |
| 19 |         2 | pop.zesolution.com     | A    | xx.xx.xxx.60
            |   120 | NULL |        NULL |
| 20 |         2 | moebius.zesolution.com | A    | 127.0.0.1
|   120 | NULL |        NULL |
+----+-----------+------------------------+------+--------------------------
--------------------+-------+------+-------------+
12 rows in set (0.00 sec)


Now, when I query my DNS server directly, using its IP, PowerDNS crashes,
and I get this in the logs.

May 27 17:54:33 moebius pdns[4859]: Query: select
content,ttl,prio,type,domain_id,name from records where
name='zesolution.com'
May 27 17:54:33 moebius pdns[4859]: Query: select
content,ttl,prio,type,domain_id,name from records where type='SOA' and
name='zesolution.com'
May 27 17:54:33 moebius pdns[4859]: Query: select
content,ttl,prio,type,domain_id,name from records where domain_id='2'
May 27 17:54:33 moebius pdns[4859]: Query: select
content,ttl,prio,type,domain_id,name from records where
name='zesolution.com'
May 27 17:54:33 moebius pdns[4859]: Query: select
content,ttl,prio,type,domain_id,name from records where type='A' and
name='mail.zesolution.com'
May 27 17:54:33 moebius pdns[4859]: Query: select
content,ttl,prio,type,domain_id,name from records where type='A' and
name='ns1.zesolution.com'
May 27 17:54:33 moebius pdns[4859]: Got a signal 11, attempting to print
trace:
May 27 17:54:33 moebius pdns[4859]:
/usr/sbin/pdns_server-zesolution-instance [0x811e4ab]
May 27 17:54:33 moebius pdns[4859]: /lib/i686/libpthread.so.0 [0x4008bf05]
May 27 17:54:33 moebius pdns[4859]:
/usr/sbin/pdns_server-zesolution-instance [0x42029188]
May 27 17:54:33 moebius pdns[4859]:
/usr/sbin/pdns_server-zesolution-instance(lookup__12UeberBackendRC5QTypeRCt1
2basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b1i0P9
DNSPacketi+0xd3c) [0x812c498]
May 27 17:54:33 moebius pdns[4859]:
/usr/sbin/pdns_server-zesolution-instance(doAdditionalProcessingAndDropAA__1
3PacketHandlerP9DNSPacketT1+0x246) [0x80b7c12]
May 27 17:54:33 moebius pdns[4859]: /usr/sbin/pdns_server-zesolution-instanc
e(question__13PacketHandlerP9DNSPacket+0x6e2c) [0x80c65fc]
May 27 17:54:33 moebius pdns[4859]:
/usr/sbin/pdns_server-zesolution-instance(makeThread__t11Distributor3Z9DNSPa
cketZ9DNSPacketZ13PacketHandlerPv+0x6ac) [0x8182dec]
May 27 17:54:33 moebius pdns[4859]: /lib/i686/libpthread.so.0 [0x40088faf]
May 27 17:54:33 moebius pdns[4859]:
/usr/sbin/pdns_server-zesolution-instance(__clone+0x3a) [0x420e790a]
May 27 17:54:34 moebius pdns[4754]: Our pdns instance (4851) exited after
signal 6
May 27 17:54:34 moebius pdns[4754]: Respawning
May 27 17:54:35 moebius pdns[4863]: Virtual configuration name: zesolution
May 27 17:54:35 moebius pdns[4863]: Guardian is launching an instance
May 27 17:54:35 moebius [4863]: [BindBackend] This is the bind backend
version 2.9.8 (May 20 2003, 10:46:50) reporting
May 27 17:54:35 moebius [4863]: [Bind2Backend] This is the bind backend
version 2.9.8 (May 20 2003, 10:44:26) reporting
May 27 17:54:35 moebius [4863]:  [RandomBackend] This is the randombackend
version 2.9.8 (May 20 2003, 10:43:29) reporting
May 27 17:54:35 moebius pdns[4863]: This is module gmysqlbackend.so
reporting
May 27 17:54:35 moebius pdns[4863]: This is a guarded instance of pdns
May 27 17:54:35 moebius pdns[4863]: Opened file '/etc/powerdns/pdns.conf'
for configuration
May 27 17:54:35 moebius pdns[4863]: UDP server bound to xx.xx.xxx.61:53
May 27 17:54:35 moebius pdns[4863]: TCP server bound to xx.xx.xxx.61:53
May 27 17:54:35 moebius pdns[4863]: PowerDNS 2.9.8 (C) 2001-2003
PowerDNS.COM BV (May 20 2003, 10:40:50) starting up
May 27 17:54:35 moebius pdns[4863]: PowerDNS comes with ABSOLUTELY NO
WARRANTY. This is free software, and you are welcome to redistribute it
according to the terms of the GPL version 2.
May 27 17:54:35 moebius pdns[4863]: Set effective group id to 101
May 27 17:54:35 moebius pdns[4863]: Set effective user id to 101
May 27 17:54:35 moebius pdns[4863]: DNS Proxy launched, local port 28333,
remote xxx.xx.xxx.xxx:53
May 27 17:54:35 moebius pdns[4867]: Launched webserver on xx.xx.xxx.60:8080
May 27 17:54:35 moebius pdns[4863]: Creating backend connection for TCP
May 27 17:54:35 moebius pdns[4869]: Master/slave communicator launching
May 27 17:54:35 moebius pdns[4863]: gmysql Connection succesful
May 27 17:54:35 moebius pdns[4869]: gmysql Connection succesful
May 27 17:54:35 moebius pdns[4863]: About to create 3 backend threads
May 27 17:54:35 moebius pdns[4869]: All slave domains are fresh
May 27 17:54:35 moebius pdns[4871]: gmysql Connection succesful
May 27 17:54:35 moebius pdns[4869]: No master domains need notifications
May 27 17:54:35 moebius pdns[4872]: gmysql Connection succesful
May 27 17:54:35 moebius pdns[4873]: gmysql Connection succesful
May 27 17:54:35 moebius pdns[4863]: Done launching threads, ready to
distribute questions


If I set both NS types records to 'localhost', or 127.0.0.1, everything
works fine. But that is not what I want, of course, since ultimatelly, I
will register other domains, that i'll point toward ns1.zesolution.com and
ns2.zesolution.com in order to deal with their zones.

I hope im clear enough trying to explain what I want to achieve using
PowerDNS.

Here is my config file, if taht can help any of you figure out what ive done
wrong.

# Autogenerated configuration file template
launch=gmysql
gmysql-socket=/var/lib/mysql/mysql.sock
gmysql-user=powerdns
gmysql-password=alabama
gmysql-dbname=_system_powerdns
recursor=xxx.xx.xxx.xxx:53

#################################
# allow-axfr-ips        If disabled, DO allow zonetransfers from these IP
addresses
#
# allow-axfr-ips=

#################################
# allow-recursion       List of netmasks that are allowed to recurse
#
# allow-recursion= 255.255.255.0

#################################
# cache-ttl     Seconds to store packets in the PacketCache
#
cache-ttl=20

#################################
# chroot        If set, chroot to this directory for more security
#
# chroot=

#################################
# config-dir    Location of configuration directory (pdns.conf)
#
config-dir=/etc/powerdns

#################################
# config-name   Name of this virtual configuration - will rename the binary
image
#
config-name=zesolution

#################################
# control-console       Debugging switch - don't use
#
# control-console=no

#################################
# daemon        Operate as a daemon
#
daemon=yes

#################################
# default-soa-name      name to insert in the SOA record if none set in the
backend
#
# default-soa-name=a.misconfigured.powerdns.server

#################################
# disable-axfr  Disable zonetransfers but do allow TCP queries
#
# disable-axfr=no

#################################
# disable-tcp   Do not listen to TCP queries
#
# disable-tcp=no

#################################
# distributor-threads   Default number of Distributor (backend) threads to
start
#
# distributor-threads=3

#################################
# fancy-records Process URL and MBOXFW records
#
# fancy-records=no

#################################
# guardian      Run within a guardian process
#
# guardian=no

#################################
# launch        Which backends to launch and order to query them in
#
# launch=

#################################
# lazy-recursion        Only recurse if question cannot be answered locally
#
# lazy-recursion=yes

#################################
# load-modules  Load this module - supply absolute or relative path
#
# load-modules=

#################################
# local-address Local IP address to which we bind
#
# local-address=127.0.0.1
local-address=xx.xx.xxx.61

#################################
# local-ipv6    Local IP address to which we bind
#
# local-ipv6=

#################################
# local-port    The port on which we listen
#
local-port=53

#################################
# log-dns-details       If PDNS should log failed update requests
#
log-dns-details=yes

#################################
# log-failed-updates    If PDNS should log failed update requests
#
log-failed-updates=yes

#################################
# logfile       Logfile to use
#
# logfile=pdns.log

#################################
# logging-facility      Log under a specific facility
#
# logging-facility=

#################################
# loglevel      Amount of logging. Higher is more. Do not set below 3
#
loglevel=3

#################################
# master        Act as a master
#
master=yes

#################################
# max-queue-length      Maximum queuelength before considering situation
lost
#
max-queue-length=5000

#################################
# max-tcp-connections   Maximum number of TCP connections
#
max-tcp-connections=10

#################################
# module-dir    Default directory for modules
#
module-dir=/usr/lib/powerdns

#################################
# negquery-cache-ttl    Seconds to store packets in the PacketCache
#
# negquery-cache-ttl=60

#################################
# only-soa      Make sure that no SOA serial is less than this number
#
# only-soa=org

#################################
# out-of-zone-additional-processing     Do out of zone additional processing
#
out-of-zone-additional-processing=yes

#################################
# query-cache-ttl       Seconds to store packets in the PacketCache
#
# query-cache-ttl=20

#################################
# query-logging Hint backends that queries should be logged
#
query-logging=yes

#################################
# queue-limit   Maximum number of milliseconds to queue a query
#
# queue-limit=1500

#################################
# receiver-threads      Number of receiver threads to launch
#
# receiver-threads=1

#################################
# recursive-cache-ttl   Seconds to store packets in the PacketCache
#
# recursive-cache-ttl=10

#################################
# recursor      If recursion is desired, IP address of a recursing
nameserver
#
# recursor=

#################################
# setgid        If set, change group id to this gid for more security
#
setgid=powerdns

#################################
# setuid        If set, change user id to this uid for more security
#
setuid=powerdns

#################################
# skip-cname    Do not perform CNAME indirection for each query
#
# skip-cname=no

#################################
# slave Act as a slave
#
# slave=no

#################################
# slave-cycle-interval  Reschedule failed SOA serial checks once every ..
seconds
#
# slave-cycle-interval=60

#################################
# smtpredirector        Our smtpredir MX host
#
# smtpredirector=a.misconfigured.powerdns.smtp.server

#################################
# soa-minimum-ttl       Default SOA mininum ttl
#
# soa-minimum-ttl=3600

#################################
# soa-serial-offset     Make sure that no SOA serial is less than this
number
#
# soa-serial-offset=0

#################################
# socket-dir    Where the controlsocket will live
#
socket-dir=/var/run/powerdns

#################################
# strict-rfc-axfrs      Perform strictly rfc compliant axfrs (very slow)
#
# strict-rfc-axfrs=no

#################################
# urlredirector Where we send hosts to that need to be url redirected
#
# urlredirector=127.0.0.1

#################################
# use-logfile   Use a log file
#
# use-logfile=no

#################################
# webserver     Start a webserver for monitoring
#
webserver=yes

#################################
# webserver-address     IP Address of webserver to listen on
#
webserver-address=xx.xx.xxx.60

#################################
# webserver-password    Password required for accessing the webserver
#
webserver-password=xxxxxxx

#################################
# webserver-port        Port of webserver to listen on
#
webserver-port=8080

#################################
# webserver-print-arguments     If the webserver should print arguments
#
webserver-print-arguments=yes

#################################
# wildcard-url  Process URL and MBOXFW records
#
# wildcard-url=no

#################################
# wildcards     Honor wildcards in the database
#
# wildcards=





More information about the Pdns-users mailing list