[exim-dev] [Bug 2443] exim 4.92.2 segfault with check_srv

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 2443] exim 4.92.2 segfault with check_srv
https://bugs.exim.org/show_bug.cgi?id=2443

--- Comment #5 from Bertrand Jacquin <bertrand@???> ---
(In reply to Bertrand Jacquin from comment #4)
> (In reply to Jeremy Harris from comment #3)
> > The case is tested in the testsuite (testcase 0467, last subtest), so we'll
> > need to find out what differs here. Can you get a testrun with full debug
> > enabled? Also, a stacktrace from a coredump would help - though that's
> > harder,
> > exim usually being installed setuid.
>
> Of course. I will provide coredump and stacktrace during the week.


Please find attached a small configuration which replicated the observed issue
along with a compressed coredump.

# gdb /usr/sbin/exim /tmp/core-exim.24671.e5-build1.1569164502
GNU gdb (Gentoo 8.3 vanilla) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.


For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/exim...
Reading symbols from /usr/lib/debug//usr/sbin/exim.debug...
[New LWP 24671]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/sbin/exim -C /home/beber/bug-2443.conf -bt
daniel@???'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055a1213674d3 in dns_basic_lookup (type=33, name=0x55a123141b10
"octaforge.org", dnsa=0x7ffd6b177600) at dns.c:736
736         while (*checkname++ != '.');
(gdb) set height 0
(gdb) set print pretty on
(gdb) set print elements 0
(gdb) set filename-display absolute
(gdb) bt
#0  0x000055a1213674d3 in dns_basic_lookup (type=33, name=0x55a123141b10
"octaforge.org", dnsa=0x7ffd6b177600) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/dns.c:736
#1  dns_basic_lookup (dnsa=0x7ffd6b177600, name=<optimized out>, type=33) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/dns.c:661
#2  0x000055a1213676fd in dns_lookup (dnsa=0x7ffd6b177600, name=0x55a123141a10
"octaforge.org", type=33, fully_qualified_name=0x7ffd6b1771c8) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/dns.c:896
#3  0x000055a12137c2ad in dns_lookup_timerwrap (dnsa=0x7ffd6b177600,
name=0x55a123141968 "_smtp._tcp.octaforge.org", type=33,
fully_qualified_name=<optimized out>) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/host.c:136
#4  0x000055a12137f129 in host_find_bydns (host=<optimized out>,
host@entry=0x7ffd6b1877e0, ignore_target_hosts=0x55a12312f890 "0.0.0.0 :
127.0.0.0/8", whichrrs=whichrrs@entry=31,
srv_service=srv_service@entry=0x55a12312f8a8 "smtp",
    srv_fail_domains=<optimized out>, mx_fail_domains=<optimized out>,
dnssec_d=0x55a12312f808, fully_qualified_name=0x7ffd6b1877d0,
removed=0x7ffd6b1877cc) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/host.c:2610
#5  0x000055a1213d2905 in dnslookup_router_entry (rblock=0x55a12312f678,
addr=0x55a123141710, pw=<optimized out>, verify=<optimized out>,
addr_local=<optimized out>, addr_remote=<optimized out>, addr_new=<optimized
out>,
    addr_succeed=<optimized out>) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/routers/dnslookup.c:301
#6  0x000055a1213a1377 in route_address (addr=addr@entry=0x55a123141710,
paddr_local=paddr_local@entry=0x7ffd6b187af8,
paddr_remote=paddr_remote@entry=0x7ffd6b187af0,
addr_new=addr_new@entry=0x7ffd6b187ae8,
    addr_succeed=addr_succeed@entry=0x7ffd6b187b00, verify=verify@entry=0) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/route.c:1687
#7  0x000055a1213c63e2 in verify_address (vaddr=0x55a123141710,
fp=0x7f44a9aef5c0 <_IO_2_1_stdout_>, options=6, callout=-1, callout_overall=-1,
callout_connect=-1, se_mailfrom=0x0, pm_mailfrom=0x0, routed=0x0)
    at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/verify.c:1822
#8  0x000055a1213688de in test_address (s=<optimized out>, flags=6,
exit_value=0x7ffd6b187d50) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/exim.c:753
#9  0x000055a12134bec7 in main (argc=5, cargv=<optimized out>) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/exim.c:4792
(gdb) fr 0
#0  0x000055a1213674d3 in dns_basic_lookup (type=33, name=0x55a123141b10
"octaforge.org", dnsa=0x7ffd6b177600) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/dns.c:736
736         while (*checkname++ != '.');
(gdb) fr 1
#1  dns_basic_lookup (dnsa=0x7ffd6b177600, name=<optimized out>, type=33) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/dns.c:661
661     dns_basic_lookup(dns_answer *dnsa, const uschar *name, int type)
(gdb) fr 2
#2  0x000055a1213676fd in dns_lookup (dnsa=0x7ffd6b177600, name=0x55a123141a10
"octaforge.org", type=33, fully_qualified_name=0x7ffd6b1771c8) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/dns.c:896
896       if ((rc = dns_basic_lookup(dnsa, name, type)) != DNS_SUCCEED)
(gdb) fr 3
#3  0x000055a12137c2ad in dns_lookup_timerwrap (dnsa=0x7ffd6b177600,
name=0x55a123141968 "_smtp._tcp.octaforge.org", type=33,
fully_qualified_name=<optimized out>) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/host.c:136
136       return dns_lookup(dnsa, name, type, fully_qualified_name);
(gdb) fr 4
#4  0x000055a12137f129 in host_find_bydns (host=<optimized out>,
host@entry=0x7ffd6b1877e0, ignore_target_hosts=0x55a12312f890 "0.0.0.0 :
127.0.0.0/8", whichrrs=whichrrs@entry=31,
srv_service=srv_service@entry=0x55a12312f8a8 "smtp",
    srv_fail_domains=<optimized out>, mx_fail_domains=<optimized out>,
dnssec_d=0x55a12312f808, fully_qualified_name=0x7ffd6b1877d0,
removed=0x7ffd6b1877cc) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/host.c:2610
2610      rc = dns_lookup_timerwrap(&dnsa, temp_fully_qualified_name, ind_type,
(gdb) fr 5
#5  0x000055a1213d2905 in dnslookup_router_entry (rblock=0x55a12312f678,
addr=0x55a123141710, pw=<optimized out>, verify=<optimized out>,
addr_local=<optimized out>, addr_remote=<optimized out>, addr_new=<optimized
out>,
    addr_succeed=<optimized out>) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/routers/dnslookup.c:301
301       rc = host_find_bydns(&h, CUS rblock->ignore_target_hosts, flags,
(gdb) fr 6
#6  0x000055a1213a1377 in route_address (addr=addr@entry=0x55a123141710,
paddr_local=paddr_local@entry=0x7ffd6b187af8,
paddr_remote=paddr_remote@entry=0x7ffd6b187af0,
addr_new=addr_new@entry=0x7ffd6b187ae8,
    addr_succeed=addr_succeed@entry=0x7ffd6b187b00, verify=verify@entry=0) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/route.c:1687
1687      yield = (r->info->code)(r, addr, pw, verify, paddr_local,
paddr_remote,
(gdb) fr 7
#7  0x000055a1213c63e2 in verify_address (vaddr=0x55a123141710,
fp=0x7f44a9aef5c0 <_IO_2_1_stdout_>, options=6, callout=-1, callout_overall=-1,
callout_connect=-1, se_mailfrom=0x0, pm_mailfrom=0x0, routed=0x0)
    at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/verify.c:1822
1822        rc = route_address(addr, &addr_local, &addr_remote, &addr_new,
(gdb) fr 8
#8  0x000055a1213688de in test_address (s=<optimized out>, flags=6,
exit_value=0x7ffd6b187d50) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/exim.c:753
753       int rc = verify_address(deliver_make_addr(address,TRUE), stdout,
flags, -1,
(gdb) fr 9
#9  0x000055a12134bec7 in main (argc=5, cargv=<optimized out>) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/exim.c:4792
4792            test_address(s, flags, &exit_value);
(gdb) fr 0
#0  0x000055a1213674d3 in dns_basic_lookup (type=33, name=0x55a123141b10
"octaforge.org", dnsa=0x7ffd6b177600) at
/usr/src/debug/mail-mta/exim-4.92.2/exim-4.92.2/build-exim-gentoo/dns.c:736
736         while (*checkname++ != '.');
(gdb) info args
type = 33
name = 0x55a123141b10 "octaforge.org"
dnsa = 0x7ffd6b177600


--
You are receiving this mail because:
You are on the CC list for the bug.