https://bugs.exim.org/show_bug.cgi?id=2064
Bug ID: 2064
Summary: Dkim and Segmentation fault
Product: Exim
Version: 4.88
Hardware: x86-64
OS: Linux
Status: NEW
Severity: bug
Priority: medium
Component: DKIM
Assignee: tom@???
Reporter: al@???
CC: exim-dev@???
Many coredumpes on incomming messages after upgrade exim 4.84 to 4.88.
Linux *** 2.6.32-642.11.1.el6.x86_64 #1 SMP Fri Nov 18 19:25:05 UTC 2016 x86_64
x86_64 x86_64 GNU/Linux
CentOS release 6.8 (Final)
Exim 4.88-2.el6 (epel).
Please help me.
gdb /usr/sbin/exim /tmp/core-exim-11-93-93-322399-1488363643
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-90.el6)
Copyright (C) 2010 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-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/exim...Reading symbols from
/usr/lib/debug/usr/sbin/exim.debug...done.
done.
[New Thread 322399]
Missing separate debuginfo for
Try: yum --enablerepo='*-debug*' install
/usr/lib/debug/.build-id/55/07e794c3a5e46d0cecd02dd8e373d286d31a3e
Reading symbols from /lib64/libdl-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libdl-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libdl-2.12.so
Reading symbols from /lib64/libresolv-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libresolv-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libresolv-2.12.so
Reading symbols from /lib64/libnsl-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libnsl-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libnsl-2.12.so
Reading symbols from /lib64/libcrypt-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libcrypt-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libcrypt-2.12.so
Reading symbols from /lib64/libm-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libm-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libm-2.12.so
Reading symbols from /lib64/libwrap.so.0.7.6...Reading symbols from
/usr/lib/debug/lib64/libwrap.so.0.7.6.debug...done.
done.
Loaded symbols for /lib64/libwrap.so.0.7.6
Reading symbols from /lib64/libpam.so.0.82.2...Reading symbols from
/usr/lib/debug/lib64/libpam.so.0.82.2.debug...done.
done.
Loaded symbols for /lib64/libpam.so.0.82.2
Reading symbols from /lib64/libdb-4.7.so...Reading symbols from
/usr/lib/debug/lib64/libdb-4.7.so.debug...done.
done.
Loaded symbols for /lib64/libdb-4.7.so
Reading symbols from /lib64/libldap-2.4.so.2.10.3...Reading symbols from
/usr/lib/debug/lib64/libldap-2.4.so.2.10.3.debug...done.
done.
Loaded symbols for /lib64/libldap-2.4.so.2.10.3
Reading symbols from /lib64/liblber-2.4.so.2.10.3...Reading symbols from
/usr/lib/debug/lib64/liblber-2.4.so.2.10.3.debug...done.
done.
Loaded symbols for /lib64/liblber-2.4.so.2.10.3
Reading symbols from /usr/lib64/libsqlite3.so.0.8.6...Reading symbols from
/usr/lib/debug/usr/lib64/libsqlite3.so.0.8.6.debug...done.
done.
Loaded symbols for /usr/lib64/libsqlite3.so.0.8.6
Reading symbols from /usr/lib64/libsasl2.so.2.0.23...Reading symbols from
/usr/lib/debug/usr/lib64/libsasl2.so.2.0.23.debug...done.
done.
Loaded symbols for /usr/lib64/libsasl2.so.2.0.23
Reading symbols from /usr/lib64/perl5/CORE/libperl.so...Reading symbols from
/usr/lib/debug/usr/lib64/perl5/CORE/libperl.so.debug...done.
done.
Loaded symbols for /usr/lib64/perl5/CORE/libperl.so
Reading symbols from /lib64/libutil-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libutil-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libutil-2.12.so
Reading symbols from /lib64/libpthread-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libpthread-2.12.so.debug...done.
[Thread debugging using libthread_db enabled]
done.
Loaded symbols for /lib64/libpthread-2.12.so
Reading symbols from /lib64/libc-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libc-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libc-2.12.so
Reading symbols from /usr/lib64/libssl.so.1.0.1e...Reading symbols from
/usr/lib/debug/usr/lib64/libssl.so.1.0.1e.debug...done.
done.
Loaded symbols for /usr/lib64/libssl.so.1.0.1e
Reading symbols from /usr/lib64/libcrypto.so.1.0.1e...Reading symbols from
/usr/lib/debug/usr/lib64/libcrypto.so.1.0.1e.debug...done.
done.
Loaded symbols for /usr/lib64/libcrypto.so.1.0.1e
Reading symbols from /lib64/libpcre.so.0.0.1...Reading symbols from
/usr/lib/debug/lib64/libpcre.so.0.0.1.debug...done.
done.
Loaded symbols for /lib64/libpcre.so.0.0.1
Reading symbols from /lib64/ld-2.12.so...Reading symbols from
/usr/lib/debug/lib64/ld-2.12.so.debug...done.
done.
Loaded symbols for /lib64/ld-2.12.so
Reading symbols from /lib64/libfreebl3.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libfreebl3.so
Reading symbols from /lib64/libaudit.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libaudit.so.1
Reading symbols from /usr/lib64/libssl3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libssl3.so
Reading symbols from /usr/lib64/libsmime3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libsmime3.so
Reading symbols from /usr/lib64/libnss3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libnss3.so
Reading symbols from /usr/lib64/libnssutil3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libnssutil3.so
Reading symbols from /lib64/libplds4.so...(no debugging symbols found)...done.
Loaded symbols for /lib64/libplds4.so
Reading symbols from /lib64/libplc4.so...(no debugging symbols found)...done.
Loaded symbols for /lib64/libplc4.so
Reading symbols from /lib64/libnspr4.so...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnspr4.so
Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libgssapi_krb5.so.2
Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib64/libkrb5.so.3
Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libk5crypto.so.3
Reading symbols from /lib64/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /lib64/librt-2.12.so...Reading symbols from
/usr/lib/debug/lib64/librt-2.12.so.debug...done.
done.
Loaded symbols for /lib64/librt-2.12.so
Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkrb5support.so.0
Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /lib64/libnss_files-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libnss_files-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libnss_files-2.12.so
Reading symbols from /lib64/libnss_dns-2.12.so...Reading symbols from
/usr/lib/debug/lib64/libnss_dns-2.12.so.debug...done.
done.
Loaded symbols for /lib64/libnss_dns-2.12.so
Core was generated by `/usr/sbin/exim -bd -q10m'.
Program terminated with signal 11, Segmentation fault.
#0 pdkim_feed (ctx=0x0,
data=0x7fd581d18470
"\r\nPC9QPg0KPFAgc3R5bGU9IlRFWFQtQUxJR046IGxlZnQ7IE1BUkdJTjogMGNtIDBjbSAwcHQ7IG1z\r\nby1wYWdpbmF0aW9uOiB3aWRvdy1vcnBoYW4iIA0KY2xhc3M9TXNvTm9ybWFsIGFsaWduPWxlZnQ+\r\nPEI+PEk+PpZiYjMzk7OyBCQUNLR1JPVU5EOiB3aGl0"...,
len=167) at pdkim.c:1026
1026 if (ctx->flags & PDKIM_PAST_HDRS)
Missing separate debuginfos, use: debuginfo-install
audit-libs-2.4.5-3.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64
krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64
libselinux-2.0.94-7.el6.x86_64 nspr-4.11.0-1.el6.x86_64
nss-3.21.3-2.el6_8.x86_64 nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64
nss-util-3.21.3-1.el6_8.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) bt
#0 pdkim_feed (ctx=0x0,
data=0x7fd581d18470
"\r\nPC9QPg0KPFAgc3R5bGU9IlRFWFQtQUxJR046IGxlZnQ7IE1BUkdJTjogMGNtIDBjbSAwcHQ7IG1z\r\nby1wYWdpbmF0aW9uOiB3aWRvdy1vcnBoYW4iIA0KY2xhc3M9TXNvTm9ybWFsIGFsaWduPWxlZnQ+\r\nPEI+PEk+PpZiYjMzk7OyBCQUNLR1JPVU5EOiB3aGl0"...,
len=167) at pdkim.c:1026
#1 0x00007fd5807bc699 in dkim_exim_verify_feed (data=<value optimized out>,
len=<value optimized out>) at dkim.c:107
#2 0x00007fd5807ef2b3 in smtp_getc (lim=<value optimized out>) at
smtp_in.c:351
#3 0x00007fd5807ef153 in bdat_getc (lim=<value optimized out>) at
smtp_in.c:395
#4 0x00007fd5807dbc4d in read_message_bdat_smtp (extract_recip=0) at
receive.c:916
#5 receive_msg (extract_recip=0) at receive.c:3009
#6 0x00007fd58078f1e1 in handle_smtp_call () at daemon.c:509
#7 daemon_go () at daemon.c:2040
#8 0x00007fd5807a6ffa in main (argc=3, cargv=0x7fff39e5ec38) at exim.c:4808
(gdb) bt full
#0 pdkim_feed (ctx=0x0,
data=0x7fd581d18470
"\r\nPC9QPg0KPFAgc3R5bGU9IlRFWFQtQUxJR046IGxlZnQ7IE1BUkdJTjogMGNtIDBjbSAwcHQ7IG1z\r\nby1wYWdpbmF0aW9uOiB3aWRvdy1vcnBoYW4iIA0KY2xhc3M9TXNvTm9ybWFsIGFsaWduPWxlZnQ+\r\nPEI+PEk+PpZiYjMzk7OyBCQUNLR1JPVU5EOiB3aGl0"...,
len=167) at pdkim.c:1026
c = <value optimized out>
p = <value optimized out>
#1 0x00007fd5807bc699 in dkim_exim_verify_feed (data=<value optimized out>,
len=<value optimized out>) at dkim.c:107
rc = <value optimized out>
#2 0x00007fd5807ef2b3 in smtp_getc (lim=<value optimized out>) at
smtp_in.c:351
rc = 167
save_errno = 0
#3 0x00007fd5807ef153 in bdat_getc (lim=<value optimized out>) at
smtp_in.c:395
user_msg = 0x0
log_msg = 0x7fd581d1d000 "\200,\255\373\325\177"
#4 0x00007fd5807dbc4d in read_message_bdat_smtp (extract_recip=0) at
receive.c:916
ch = <value optimized out>
linelength = 76
#5 receive_msg (extract_recip=0) at receive.c:3009
i = <value optimized out>
rc = 2
msg_size = 0
process_info_len = 68
error_rc = 1
header_size = <value optimized out>
start = 452568631
end = 123645910
domain = 0
size = <value optimized out>
sptr = <value optimized out>
id_resolution = 500
had_zero = -2136480032
prevlines_length = <value optimized out>
ptr = <value optimized out>
contains_resent_headers = <value optimized out>
extracted_ignored = 0
first_line_ended_crlf = 1
smtp_yield = 1
yield = 0
resents_exist = 0
resent_prefix = 0x7fd580869f5c ""
blackholed_by = 0x0
---Type <return> to continue, or q <return> to quit---
blackhole_log_msg = 0x7fd580869f5c ""
cutthrough_done = NOT_TRIED
lock_data = {l_type = 1, l_whence = 0, l_start = 0, l_len = 19, l_pid =
0}
bad_addresses = 0x0
frozen_by = 0x0
queued_by = 0x0
errmsg = <value optimized out>
s = <value optimized out>
statbuf = {st_dev = 0, st_ino = 140733193388032, st_nlink =
140733193388032, st_mode = 2158519424, st_uid = 32725, st_gid = 63,
__pad0 = 0, st_rdev = 140554982737021, st_size = 140734164492188,
st_blksize = 140554982737016, st_blocks = 140554982714143,
st_atim = {tv_sec = 140554982714448, tv_nsec = 0}, st_mtim = {tv_sec
= 0, tv_nsec = 140554960983505}, st_ctim = {tv_sec = 0,
tv_nsec = 0}, __unused = {140734164492096, 13856005760,
1005022347425}}
smtp_reply = 0x0
user_msg = <value optimized out>
log_msg = <value optimized out>
h = <value optimized out>
next = <value optimized out>
date_header_exists = <value optimized out>
from_header = <value optimized out>
subject_header = <value optimized out>
msgid_header = <value optimized out>
received_header = 0x7fd581d1ea58
timestamp = <value optimized out>
tslen = <value optimized out>
#6 0x00007fd58078f1e1 in handle_smtp_call () at daemon.c:509
ok = <value optimized out>
rc = <value optimized out>
i = <value optimized out>
queue_only_reason = 0
old_pool = <value optimized out>
save_debug_selector = <value optimized out>
local_queue_only = <value optimized out>
session_local_queue_only = 0
act = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1},
sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 2,
sa_restorer = 0x1115a842}
pid = <value optimized out>
max_for_this_host = <value optimized out>
wfsize = 100
whofrom = 0x7fd500000006 <Address 0x7fd500000006 out of bounds>
interface_sockaddr = {v4 = {sin_family = 2, sin_port = 6400, sin_addr =
{s_addr = 1167333969},
---Type <return> to continue, or q <return> to quit---
sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2,
sin6_port = 6400, sin6_flowinfo = 1167333969, sin6_addr = {
__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 =
{0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}},
sin6_scope_id = 0}, v0 = {sa_family = 2, sa_data =
"\000\031Q\032\224E\000\000\000\000\000\000\000"}}
dup_accept_socket = 7
wfptr = <value optimized out>
reset_point = 0x7fd581d0ec20
ifsize = 16
save_log_selector = <value optimized out>
#7 daemon_go () at daemon.c:2040
accept_socket = <value optimized out>
sk = <value optimized out>
max_socket = <value optimized out>
lcount = <value optimized out>
select_errno = <value optimized out>
select_failed = 0
select_listen = {fds_bits = {0 <repeats 16 times>}}
accepted = {sin6_family = 2, sin6_port = 19087, sin6_flowinfo =
703170740, sin6_addr = {__in6_u = {
__u6_addr8 =
"\000\000\000\000\000\000\000\000x\343\341\071\377\177\000", __u6_addr16 = {0,
0, 0, 0, 58232, 14817, 32767, 0},
__u6_addr32 = {0, 0, 971105144, 32767}}}, sin6_scope_id =
2158518880}
len = 16
pid = <value optimized out>
pw = <value optimized out>
listen_sockets = <value optimized out>
listen_socket_count = <value optimized out>
addresses = 0x7fd581d0d690
last_connection_time = 1488363641
local_queue_run_max = 5
#8 0x00007fd5807a6ffa in main (argc=3, cargv=0x7fff39e5ec38) at exim.c:4808
argv = 0x7fff39e5ec38
arg_receive_timeout = -1
arg_smtp_receive_timeout = -1
arg_error_handling = 0
filter_sfd = -1
filter_ufd = -1
group_count = <value optimized out>
i = <value optimized out>
rv = <value optimized out>
list_queue_option = <value optimized out>
msg_action = <value optimized out>
msg_action_arg = <value optimized out>
---Type <return> to continue, or q <return> to quit---
namelen = <value optimized out>
queue_only_reason = 0
perl_start_option = <value optimized out>
recipients_arg = <value optimized out>
sender_address_domain = 0
test_retry_arg = <value optimized out>
test_rewrite_arg = <value optimized out>
arg_queue_only = <value optimized out>
bi_option = 2158518872
checking = <value optimized out>
count_queue = <value optimized out>
expansion_test = <value optimized out>
extract_recipients = <value optimized out>
flag_G = <value optimized out>
flag_n = <value optimized out>
forced_delivery = <value optimized out>
f_end_dot = <value optimized out>
deliver_give_up = <value optimized out>
list_queue = 0
list_options = <value optimized out>
list_config = <value optimized out>
local_queue_only = <value optimized out>
more = 1
one_msg_action = <value optimized out>
opt_D_used = <value optimized out>
queue_only_set = <value optimized out>
receiving_message = <value optimized out>
sender_ident_set = <value optimized out>
session_local_queue_only = <value optimized out>
unprivileged = 0
removed_privilege = 0
usage_wanted = <value optimized out>
verify_address_mode = <value optimized out>
verify_as_sender = <value optimized out>
version_printed = <value optimized out>
alias_arg = <value optimized out>
called_as = 0x7fd580869f5c ""
cmdline_syslog_name = <value optimized out>
start_queue_run_id = <value optimized out>
stop_queue_run_id = <value optimized out>
---Type <return> to continue, or q <return> to quit---
expansion_test_message = <value optimized out>
ftest_domain = <value optimized out>
ftest_localpart = <value optimized out>
ftest_prefix = <value optimized out>
ftest_suffix = <value optimized out>
log_oneline = <value optimized out>
malware_test_file = <value optimized out>
real_sender_address = <value optimized out>
originator_home = 0x7fd581d0d668 "/root"
sz = <value optimized out>
reset_point = <value optimized out>
pw = <value optimized out>
statbuf = {st_dev = 11, st_ino = 3, st_nlink = 1, st_mode = 8592,
st_uid = 0, st_gid = 5, __pad0 = 0, st_rdev = 34816, st_size = 0,
st_blksize = 1024, st_blocks = 0, st_atim = {tv_sec = 1488363630,
tv_nsec = 94338001}, st_mtim = {tv_sec = 1488363630,
tv_nsec = 331338000}, st_ctim = {tv_sec = 1488363073, tv_nsec =
18338001}, __unused = {0, 0, 0}}
passed_qr_pid = <value optimized out>
passed_qr_pipe = <value optimized out>
group_list = {0 <repeats 62510 times>, 2152979175, 32725, 0 <repeats 18
times>, 118784, 0, 117060, 0, 117060, 0, 0, 0, 5, 0,
2211840, 0, 2220032, 0, 2217140, 0, 2221912, 0, 114688, 0, 3, 0
<repeats 15 times>, 2153009244, 32725, 0, 0, 2061647015, 32725,
2155086120, 32725, 2152981162, 32725, 0, 0, 2152969264, 32725, 0, 0,
2155086096, 32725, 2116182201, 32725, 1, 32725, 0, 0,
2155087256, 0, 23, 0, 1, 0, 0, 0, 0, 0, 971356448, 32767, 2152992217,
32725, 2155091240, 32725, 2155086120, 32725, 971356448,
32767, 2152978953, 32725, 1920169263, 1651076143, 1882141750,
896299621, 1380926255, 1768697669, 1818588002, 2020961897,
779055918, 49, 0, 0, 0, 0, 2153009244, 32725, 2063851520, 32725,
2063857868, 32725, 2155092480, 32725, 2152981162, 32725,
971356080, 32767, 0, 0, 0, 1, 2155086096, 32725, 2116182201, 32725,
1, 32725, 3, 3, 971356600, 0, 6, 0, 2221912, 0, 64768, 0,
2099586, 0, 1, 0, 33261, 0, 0, 0, 0, 0, 122056, 0, 4096, 0, 240, 0,
1488320376, 0, 8212001, 0, 1462921191, 0, 0, 0, 1464301126, 0,
302422996, 0, 2153009244, 32725, 0, 0, 2065971401, 32725, 2155091240,
32725, 2152981162, 32725, 0, 0, 2155175936, 32725,
2065971374, 32725, 0, 0, 2116182201, 32725, 1, 32725, 1, 32725, 0, 0,
971357432...}
info_flag = <value optimized out>
info_stdout = <value optimized out>
rsopts = {0x7fd580847e5a "f", 0x7fd580862f3b "ff", 0x7fd580842adc "r",
0x7fd580842ffe "rf", 0x7fd580843001 "rff"}
--
You are receiving this mail because:
You are on the CC list for the bug.