Bug 246536 - dns/powerdns-recursor: Segmentation fault running pdns_recursor on i386
Summary: dns/powerdns-recursor: Segmentation fault running pdns_recursor on i386
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: i386 Any
: --- Affects Some People
Assignee: freebsd-ports-bugs mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-18 11:42 UTC by jose.belejo
Modified: 2020-05-20 12:21 UTC (History)
3 users (show)

See Also:
fernape: maintainer-feedback? (tremere)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jose.belejo 2020-05-18 11:42:19 UTC
Hi,

I believe I've found a critical bug on powerdns recursor 4.2.1 for i386 FreeBSD 12.1.

When I run pdns_recursor I get a Segmentation fault at the start. This is a persistent behaviour.

I'm using the default configuration file for recursor, but that happens with a customized conf file or even withou any configuration file.

This bug seems to be specific to i386 port.

System was fresh installed.

root@magalhaes:~ # uname -a
FreeBSD magalhaes 12.1-RELEASE-p5 FreeBSD 12.1-RELEASE-p5 GENERIC  i386
root@magalhaes:~ #
root@magalhaes:~ # freebsd-version
12.1-RELEASE-p5
root@magalhaes:~ #
root@magalhaes:~ # pkg info
boost-libs-1.72.0_1            Free portable C++ libraries (without Boost.Python)
gettext-runtime-0.20.1         GNU gettext runtime libraries and programs
icu-66.1,1                     International Components for Unicode (from IBM)
indexinfo-0.3.1                Utility to regenerate the GNU info page index
libedit-3.1.20191211,1         Command line editor library
lua52-5.2.4                    Small, compilable scripting language providing easy access to C code
pkg-1.13.2                     Package manager
powerdns-recursor-4.2.1        Advanced DNS recursor
protobuf-3.11.4,1              Data interchange format library
sudo-1.8.31p1                  Allow others to run commands as root
root@magalhaes:~ #
root@magalhaes:~ # pdns_recursor
May 18 12:31:09 Asked to run with pdns-distributes-queries set but no distributor threads, raising to 1
May 18 12:31:09 PowerDNS Recursor 4.2.1 (C) 2001-2019 PowerDNS.COM BV
May 18 12:31:09 Using 32-bits mode. Built using clang 8.0.1 (tags/RELEASE_801/final 366581) on Apr 24 2020 19:00:05 by root@121i386-quarterly-job-07.
May 18 12:31:09 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 18 12:31:09 NOT using IPv6 for outgoing queries - set 'query-local-address6=::' to enable
May 18 12:31:09 Only allowing queries from: 127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10
May 18 12:31:09 Will not send queries to: 127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32, 0.0.0.0, ::
May 18 12:31:09 PowerDNS Recursor itself will distribute queries over threads
May 18 12:31:09 Inserting rfc 1918 private space zones
May 18 12:31:09 Listening for UDP queries on 127.0.0.1:53
May 18 12:31:09 Listening for TCP queries on 127.0.0.1:53
May 18 12:31:09 Set effective group id to 120
May 18 12:31:09 Set effective user id to 120
May 18 12:31:09 Launching 1 distributor threads
May 18 12:31:09 Launching 2 worker threads
May 18 12:31:09 Done priming cache with root hints
May 18 12:31:09 Done priming cache with root hints
May 18 12:31:09 Done priming cache with root hints
Segmentation fault
root@magalhaes:~ #

log from messages:
May 18 12:22:01 magalhaes pdns_recursor[948]: PowerDNS Recursor 4.2.1 (C) 2001-2019 PowerDNS.COM BV
May 18 12:22:01 magalhaes pdns_recursor[948]: Using 32-bits mode. Built using clang 8.0.1 (tags/RELEASE_801/final 366581) on Apr 24 2020 19:00:05 by root@121i386-quarterly-job-07.
May 18 12:22:01 magalhaes pdns_recursor[948]: 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 18 12:22:01 magalhaes pdns_recursor[948]: NOT using IPv6 for outgoing queries - set 'query-local-address6=::' to enable
May 18 12:22:01 magalhaes pdns_recursor[948]: Only allowing queries from: 127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10
May 18 12:22:01 magalhaes pdns_recursor[948]: Will not send queries to: 127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32, 0.0.0.0, ::
May 18 12:22:01 magalhaes pdns_recursor[948]: PowerDNS Recursor itself will distribute queries over threads
May 18 12:22:01 magalhaes pdns_recursor[948]: Inserting rfc 1918 private space zones
May 18 12:22:01 magalhaes pdns_recursor[948]: Launching 1 distributor threads
May 18 12:22:01 magalhaes pdns_recursor[948]: Launching 2 worker threads
May 18 12:22:01 magalhaes pdns_recursor[948]: Done priming cache with root hints
May 18 12:22:01 magalhaes kernel: pid 948 (pdns_recursor), jid 0, uid 120: exited on signal 11

Thanks in advance for your attention.

Best regards,
Jose Belejo
Comment 1 Ralf van der Enden 2020-05-20 09:06:50 UTC
I've talked to people upstream and unfortunately it was decided to not look into this issue on i386 by them. See this for reference: https://github.com/PowerDNS/pdns/issues/4974

So unless you or somebody else can supply a patch to fix it I'm afraid I'll have to mark the recursor as broken on i386.
Comment 2 jose.belejo 2020-05-20 12:21:44 UTC
(In reply to Ralf van der Enden from comment #1)
Hi Ralf,

First please let me thank you your concern and trouble you had investigating this subject.

Considering PowerDNS team is not willing to invest more time on i386 platform, I believe it doesn't make much sense for me or anyone else to work on a fix for a specific release without any roadmap for this platform. Strangely, or not, PowerDNS is yet supported on Raspberry PI early models that are as you know 32 bits.

On the other hand, PowerDNS Authoritive Server seems to work fine on i386.

Anyway, no worries about it, although I'm very comfortable to work with PowerDNS recursor, I'll look for another alternative.

Thank you once again.

Best regards,
Jose Belejo