[exim-dev] [Bug 2064] New: Dkim and Segmentation fault

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 2064] New: Dkim and Segmentation fault
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.