[From nobody Sun Sep 27 11:23:05 2026
Received: (at submit) by bugs.debian.org; 26 Sep 2026 15:56:04 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-16.0 required=4.0 tests=BAYES_00,
 BODY_INCLUDES_PACKAGE,DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FOURLA,
 FREEMAIL_FROM,FVGT_m_MULTI_ODD,HAS_PACKAGE,LONGWORDS,
 NML_ADSP_CUSTOM_MED,NO_RELAYS,XMAILER_REPORTBUG autolearn=ham
 autolearn_force=no version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 294; hammy, 150; neutral, 443; spammy,
 0. spammytokens: hammytokens:0.000-+--XDebbugsCc,
 0.000-+--X-Debbugs-Cc, 0.000-+--armhf, 0.000-+--H*Ad:N*Bug,
 0.000-+--HTo:N*Debian
Return-path: &lt;vindrg@gmail.com&gt;
Received: via submission by buxtehude.debian.org with esmtp (Exim 4.96)
 (envelope-from &lt;vindrg@gmail.com&gt;) id 1xAUku-001b2e-14
 for submit@bugs.debian.org; Sat, 26 Sep 2026 15:56:04 +0000
Content-Type: text/plain; charset=&quot;us-ascii&quot;
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Vincas Dargis &lt;vindrg@gmail.com&gt;
To: Debian Bug Tracking System &lt;submit@bugs.debian.org&gt;
Subject: exim4-daemon-heavy: Exim4 crashes (SEGV) on 32bit armhf when
 delivering to Maildir
Message-ID: &lt;179043816068.577.11382853295302306318.reportbug@odroid-hc1&gt;
X-Mailer: reportbug 13.2.0
Date: Sat, 26 Sep 2026 18:56:00 +0300
Delivered-To: submit@bugs.debian.org

Package: exim4-daemon-heavy
Version: 4.100-1~bpo13+1
Severity: grave
Tags: upstream
Justification: renders package unusable
X-Debbugs-Cc: debian-arm@lists.debian.org, vindrg@gmail.com
User: debian-arm@lists.debian.org
Usertags: armhf

Dear Maintainer,

Upgraded my Odroid-HC1 ARM device from Debian 12 -&gt; Debian 13 and Exim
stopped delivering (receiving) email with SEGV:

```
18:09:29 7887 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
18:09:29 7887   directory=/home/vmail/example.com/username/Maildir format=maildir
18:09:29 7887   message_prefix=null
18:09:29 7887   message_suffix=null
18:09:29 7887   maildir_use_size_file=no
18:09:29 7887 ensuring maildir directories exist in /home/vmail/example.com/username/Maildir
18:09:29 7887 delivering in maildir format in /home/vmail/example.com/username/Maildir
18:09:29 7887 try option 'maildir_tag'
18:09:29 7887 LOG: MAIN PANIC
18:09:29 7887   SIGSEGV (deliberate trap)
2026-09-26 18:09:29 1xASkY-000000001wE-0V64 SIGSEGV (deliberate trap)
18:09:29 7884 LOG: MAIN PANIC
18:09:29 7884   failed to read delivery status for username@example.com from delivery subprocess
18:09:29 7884 LOG: MAIN PANIC
```

Manged to get backtrace with GDB:

```
#1  0x0057d0b4 in string_vformat_trc (g=&lt;optimized out&gt;, g@entry=0x0, func=func@entry=0x61a23c &lt;__FUNCTION__.2&gt; &quot;appendfile_transport_entry&quot;, line=line@entry=2475, size_limit=size_limit@entry=32768, flags=&lt;optimized out&gt;, flags@entry=3, format=&lt;optimized out&gt;, format@entry=0x607af8 &quot;%lld.M%luP%d.%s&quot;, ap=..., ap@entry=...) at string.c:1778
        length = &lt;optimized out&gt;
        slen = &lt;optimized out&gt;
        nptr = 0x22c8
        item_start = &lt;optimized out&gt;
        s = 0x22ce &lt;error: Cannot access memory at address 0x22ce&gt;
        newformat = &quot;%d\000\000\000\237\361\276D\360c\000|\000\000&quot;
        l_align = 0 '\000'
        null = &lt;optimized out&gt;
        gp = 0x2184901 &quot;&quot;
        L_NORMAL = L_NORMAL
        L_SHORT = L_SHORT
        L_LONG = L_LONG
        L_LONGLONG = L_LONGLONG
        L_LONGDOUBLE = L_LONGDOUBLE
        L_SIZE = L_SIZE
        taint_checked = 1 '\001'
        width = -1
        precision = -1
        initial_off = &lt;optimized out&gt;
        lim = 127
        need = &lt;optimized out&gt;
        fp = 0x607b07 &quot;&quot;
        __FUNCTION__ = &quot;string_vformat_trc&quot;
#2  0x0057d826 in string_sprintf_trc (format=format@entry=0x607af8 &quot;%lld.M%luP%d.%s&quot;, func=func@entry=0x61a23c &lt;__FUNCTION__.2&gt; &quot;appendfile_transport_entry&quot;, line=&lt;optimized out&gt;) at string.c:747
        g = 0x0
        flags = 3
        ap = {
          __ap = 0xbef19ffc
        }
        __FUNCTION__ = &quot;string_sprintf_trc&quot;
#3  0x0059fc0a in appendfile_transport_entry (tblock=0x212d754, addr=0x217fbcc) at appendfile.c:2475
        basename = &lt;optimized out&gt;
        i = 1
        check_path = &lt;optimized out&gt;
        re = &lt;optimized out&gt;
        ob = 0x212d7f4
        trname = 0x213eeb8 &quot;dovecot_transport&quot;
        statbuf = {
          st_dev = 44826983,
          st_ino = 4295000484,
          st_mode = 0,
          st_nlink = 0,
          st_uid = 0,
          st_gid = 0,
          st_rdev = 67084,
          st_size = 4096,
          st_blksize = 136,
          st_blocks = 1790424337,
          st_atim = {
            tv_sec = -5298298788879578396,
            tv_nsec = 0
          },
          st_mtim = {
            tv_sec = -5298298791948976128,
            tv_nsec = -1225641240
          },
          st_ctim = {
            tv_sec = -5387405881438633984,
            tv_nsec = 35001544
          }
        }
        fdname = &lt;optimized out&gt;
        deliver_dir = &lt;optimized out&gt;
        filename = &lt;optimized out&gt;
        hitchname = 0x0
        dataname = &lt;optimized out&gt;
        lockname = 0x0
        newname = &lt;optimized out&gt;
        nametag = 0x0
        cr = 0x60f484 &quot;&quot;
        filecount_msg = 0x60f484 &quot;&quot;
        path = &lt;optimized out&gt;
        times = {
          actime = -5264410814043121969,
          modtime = 2053
        }
        msg_tv = {
          tv_sec = 1790435780,
          tv_usec = 915461
        }
        disable_quota = &lt;optimized out&gt;
        isdirectory = &lt;optimized out&gt;
        isfifo = 0 '\000'
        wait_for_tick = 0 '\000'
        uid = 993
        gid = 993
        mbformat = 3
        mode = &lt;optimized out&gt;
        saved_size = -1
        mailbox_size = &lt;optimized out&gt;
        mailbox_filecount = -1
        hd = -1
        fd = &lt;optimized out&gt;
        yield = 2
        i = &lt;optimized out&gt;
        save_fd = 0
        mbx_lockfd = -1
        mbx_lockname = &quot;\004\000\000\000\004\000\000\000T\327\022\002&quot;, '\000' &lt;repeats 16 times&gt;, &quot;\341\003\000\000\006\000\000\000\020\000\000&quot;
        temp_file = 0x0
        maildirsize_fd = &lt;optimized out&gt;
        maildir_save_errno = &lt;optimized out&gt;
        __FUNCTION__ = &quot;appendfile_transport_entry&quot;
#4  0x00527b64 in deliver_local (addr=addr@entry=0x217fbcc, shadowing=shadowing@entry=0 '\000') at deliver.c:2412
        ti = 0x212d63c
        ok = &lt;optimized out&gt;
        replicate = 1 '\001'
        rl = {
          rlim_cur = 0,
          rlim_max = 0
        }
        use_initgroups = 0 '\000'
        uid = 993
        gid = 993
        status = 35144964
        len = &lt;optimized out&gt;
        rc = &lt;optimized out&gt;
        pfd = {8, 9}
        pid = &lt;optimized out&gt;
        working_directory = 0x5d53bc &quot;/&quot;
        addr2 = &lt;optimized out&gt;
        tp = &lt;optimized out&gt;
        trname = 0x213eeb8 &quot;dovecot_transport&quot;
        __FUNCTION__ = &quot;deliver_local&quot;
#5  0x005280e4 in do_local_deliveries () at deliver.c:3049
        deliver_time = {
          tv_sec = 455301678012,
          tv_usec = 28132658559057920
        }
        addr3 = 0x217fbcc
        logflags = 1
        logchar = &lt;optimized out&gt;
        tpt_dummy = 0x0
        nextaddr = &lt;optimized out&gt;
        delivery_start = {
          tv_sec = 1790435780,
          tv_usec = 816966
        }
        addr2 = &lt;optimized out&gt;
        tp = 0x212d754
        serialize_key = 0x0
        trname = &lt;optimized out&gt;
        addr = &lt;optimized out&gt;
        dbblock = {
          dbptr = 0x41,
          lockfd = 6544944,
          readonly = 0 '\000'
        }
        dbm_file = &lt;optimized out&gt;
        now = &lt;optimized out&gt;
        __FUNCTION__ = &quot;do_local_deliveries&quot;
#6  0x0052a9c8 in deliver_message (id=&lt;optimized out&gt;, forced=forced@entry=1 '\001', give_up=give_up@entry=0 '\000') at deliver.c:8446
        i = &lt;optimized out&gt;
        rc = &lt;optimized out&gt;
        final_yield = 0
        process_recipients = &lt;optimized out&gt;
        now = &lt;optimized out&gt;
        addr_last = &lt;optimized out&gt;
        filter_message = 0x0
        info = &lt;optimized out&gt;
        dbblock = {
          dbptr = 0x2133ca8,
          lockfd = -1,
          readonly = 0 '\000'
        }
        dbm_file = &lt;optimized out&gt;
        has_privs = &lt;optimized out&gt;
        reset_point = &lt;optimized out&gt;
        __FUNCTION__ = &quot;deliver_message&quot;
#7  0x0050c40a in main (argc=&lt;optimized out&gt;, cargv=&lt;optimized out&gt;) at exim.c:5151
        status = 15523
        pid = &lt;optimized out&gt;
        argv = &lt;optimized out&gt;
        arg_receive_timeout = -1
        arg_smtp_receive_timeout = -1
        arg_error_handling = 0
        filter_sfd = -1
        filter_ufd = -1
        group_count = &lt;optimized out&gt;
        i = 3
        rv = &lt;optimized out&gt;
        list_queue_option = &lt;optimized out&gt;
        msg_action = &lt;optimized out&gt;
        msg_action_arg = &lt;optimized out&gt;
        namelen = &lt;optimized out&gt;
        queue_only_reason = 0
        rcpt_dsn_flags = &lt;optimized out&gt;
        recipients_arg = &lt;optimized out&gt;
        sender_address_domain = 0
        test_retry_arg = &lt;optimized out&gt;
        test_rewrite_arg = &lt;optimized out&gt;
        perl_start_option = &lt;optimized out&gt;
        original_egid = &lt;optimized out&gt;
        admin_only_arg = &lt;optimized out&gt;
        arg_queue_only = &lt;optimized out&gt;
        bi_option = &lt;optimized out&gt;
        checking = &lt;optimized out&gt;
        count_queue = &lt;optimized out&gt;
        extract_recipients = &lt;optimized out&gt;
        flag_G = &lt;optimized out&gt;
        flag_n = &lt;optimized out&gt;
        forced_delivery = 1 '\001'
        f_end_dot = &lt;optimized out&gt;
        deliver_give_up = &lt;optimized out&gt;
        list_queue = &lt;optimized out&gt;
        list_options = &lt;optimized out&gt;
        list_config = &lt;optimized out&gt;
        local_queue_only = &lt;optimized out&gt;
        one_msg_action = &lt;optimized out&gt;
        opt_D_used = &lt;optimized out&gt;
        queue_only_set = &lt;optimized out&gt;
        receiving_message = &lt;optimized out&gt;
        sender_ident_set = &lt;optimized out&gt;
        session_local_queue_only = &lt;optimized out&gt;
        unprivileged = &lt;optimized out&gt;
        removed_privilege = 0 '\000'
        usage_wanted = &lt;optimized out&gt;
        verify_address_mode = &lt;optimized out&gt;
        verify_as_sender = &lt;optimized out&gt;
        rcpt_verify_quota = &lt;optimized out&gt;
        version_printed = &lt;optimized out&gt;
        alias_arg = &lt;optimized out&gt;
        called_as = &lt;optimized out&gt;
        cmdline_syslog_name = &lt;optimized out&gt;
        start_queue_run_id = &lt;optimized out&gt;
        stop_queue_run_id = &lt;optimized out&gt;
        expansion_test_message = &lt;optimized out&gt;
        ftest_domain = &lt;optimized out&gt;
        ftest_localpart = &lt;optimized out&gt;
        ftest_prefix = &lt;optimized out&gt;
        ftest_suffix = &lt;optimized out&gt;
        malware_test_file = &lt;optimized out&gt;
        real_sender_address = &lt;optimized out&gt;
        log_oneline = &lt;optimized out&gt;
        originator_home = 0x5d53bc &quot;/&quot;
        sz = &lt;optimized out&gt;
        pw = 0x6807cc &lt;pwcache&gt;
        statbuf = {
          st_dev = 21,
          st_ino = 5,
          st_mode = 8576,
          st_nlink = 1,
          st_uid = 0,
          st_gid = 5,
          st_rdev = 34818,
          st_size = 0,
          st_blksize = 1024,
          st_blocks = 0,
          st_atim = {
            tv_sec = 1790435699,
            tv_nsec = 0
          },
          st_mtim = {
            tv_sec = 1790435699,
            tv_nsec = 0
          },
          st_ctim = {
            tv_sec = 1790433725,
            tv_nsec = 319048639
          }
        }
        passed_qr_pid = &lt;optimized out&gt;
        passed_qr_pipe = &lt;optimized out&gt;
        group_list = &lt;error reading variable group_list (value requires 262144 bytes, which is more than max-value-size)&gt;
        info_flag = &lt;optimized out&gt;
        info_stdout = &lt;optimized out&gt;
        rsopts = {0x5e8a60 &quot;f&quot;, 0x60c208 &quot;ff&quot;, 0x6077ac &quot;r&quot;, 0x5ddaa8 &quot;rf&quot;, 0x5ddaac &quot;rff&quot;}
        __FUNCTION__ = &quot;main&quot;
r0             0x22ce              8910
r1             0x22c8              8904
r2             0x22ce              8910
r3             0xbef1a014          3203506196
r4             0x6                 6
r5             0x607b06            6322950
r6             0x0                 0
r7             0xffffffff          4294967295
r8             0xffffffff          4294967295
r9             0x2184901           35145985
r10            0x21848bc           35145916
r11            0x73                115
r12            0xffffffff          4294967295
sp             0xbef19f08          0xbef19f08
lr             0x57d0b5            5755061
pc             0xb67e39ee          0xb67e39ee &lt;__GI_strlen+174&gt;
cpsr           0x20070030          537329712
fpscr          0x80000010          -2147483632
=&gt; 0xb67e39ee &lt;__GI_strlen+174&gt;:	ldrd	r2, r3, [r1]
```

Looks like issue is that format &quot;%lld.M%luP%d.%s&quot; expects 32bit integer on 32bit armhf while msg_tv.tv_usec is 64bit.

-- Package-specific info:
Exim version 4.100 #2 built 29-Aug-2026 09:06:40
Copyright (c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2026
Copyright (c) University of Cambridge, 1995 - 2018

Hints DB:
 Using sqlite3
Support for: Content_Scanning Local_Scan Exim_filter Sieve_filter crypteq Expand_dlfunc iconv() IPv6 PAM Perl GnuTLS move_frozen_messages TLS_resume DANE DKIM DNSSEC ESMTP_Limits ESMTP_Wellknown Event I18N OCSP PIPECONNECT PRDR PROXY Queue_Ramp SOCKS SPF SRS TCP_Fast_Open
Lookups (built-in): cdb dbm dbmnz dbmjz dnsdb dsearch ldap ldapdn ldapm ldapauth iplsearch lsearch nwildlsearch wildlsearch mysql passwd pgsql psl regdom sqlite spf readsock
Authenticators (built-in):  cram_md5 cyrus_sasl dovecot external plaintext spa tls
Routers (built-in):  accept dnslookup ipliteral iplookup manualroute redirect queryprogram
Transports (built-in):   appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Malware: clamd avast sock cmdline
Fixed never_users: 0
Configure owner: 0:0
Size of off_t:8 ptr:4 long:4 int:4
Configuration file search path is /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
Configuration file is /var/lib/exim4/config.autogenerated

-- System Information:
Debian Release: 13.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'stable')
Architecture: armhf (armv7l)

Kernel: Linux 6.12.107+deb13-armmp-lpae (SMP w/8 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages exim4-daemon-heavy depends on:
ii  debconf [debconf-2.0]  1.5.91
ii  exim4-base             4.100-1~bpo13+1
ii  libc6                  2.41-12+deb13u4
ii  libcrypt1              1:4.4.38-1
ii  libgnutls-dane0t64     3.8.9-3+deb13u4
ii  libgnutls30t64         3.8.9-3+deb13u4
ii  libidn12               1.43-1
ii  libidn2-0              2.3.8-2
ii  libldap2               2.6.10+dfsg-1
ii  libmariadb3            1:11.8.6-0+deb13u1
ii  libpam0g               1.7.0-5
ii  libpcre2-8-0           10.46-1~deb13u2
ii  libperl5.40            5.40.1-6+deb13u1
ii  libpq5                 17.11-0+deb13u1
ii  libsasl2-2             2.1.28+dfsg1-9
ii  libspf2-2t64           1.2.10-8.3
ii  libsqlite3-0           3.46.1-7+deb13u2

exim4-daemon-heavy recommends no packages.

exim4-daemon-heavy suggests no packages.

-- debconf information excluded
]