Debug: more info for string-expansion troubles
[users/heiko/exim.git] / test / stderr / 0402
index 7dbf3a12a15b412533c268736082123fa04346f4..6a66236d7682f38da6d1b380b6a2411dd9dfdb66 100644 (file)
@@ -5,11 +5,6 @@ configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
   uid=EXIM_UID gid=EXIM_GID pid=pppp
 admin user
 changed uid/gid: privilege not needed
   uid=EXIM_UID gid=EXIM_GID pid=pppp
-DSN: r1 propagating DSN
-DSN: r2 propagating DSN
-DSN: r3 propagating DSN
-DSN: r4 propagating DSN
-DSN: r5 propagating DSN
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 seeking password data for user "CALLER": using cached result
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 seeking password data for user "CALLER": using cached result
@@ -19,6 +14,8 @@ getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 sender address = CALLER@test.ex
 set_process_info: pppp accepting a local non-SMTP message from <CALLER@test.ex>
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 sender address = CALLER@test.ex
 set_process_info: pppp accepting a local non-SMTP message from <CALLER@test.ex>
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
 Sender: CALLER@test.ex
 Recipients:
   CALLER@test.ex
 Sender: CALLER@test.ex
 Recipients:
   CALLER@test.ex
@@ -37,119 +34,111 @@ I Message-Id: <E10HmaX-0005vi-00@mail.test.ex>
 F From: CALLER_NAME <CALLER@test.ex>
   Date: Tue, 2 Mar 1999 09:44:33 +0000
 
 F From: CALLER_NAME <CALLER@test.ex>
   Date: Tue, 2 Mar 1999 09:44:33 +0000
 
-Data file name: TESTSUITE/spool/input///10HmaX-0005vi-00-D
+Data file name: TESTSUITE/spool//input//10HmaX-0005vi-00-D
 Data file written for message 10HmaX-0005vi-00
 Data file written for message 10HmaX-0005vi-00
-considering: ${tod_full}
-  expanding: ${tod_full}
-     result: Tue, 2 Mar 1999 09:44:33 +0000
-considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-condition: def:sender_rcvhost
-   result: false
-   scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: from $sender_rcvhost
-       
-     result: from 
-       
-   skipping: result is not used
-considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-condition: def:sender_ident
-   result: true
-considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: $sender_ident
-     result: CALLER
-  expanding: from ${quote_local_part:$sender_ident} 
-     result: from CALLER 
-condition: def:sender_helo_name
-   result: false
-   scanning: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (helo=$sender_helo_name)
-       
-     result: (helo=)
-       
-   skipping: result is not used
-  expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}
-     result: from CALLER 
-condition: def:received_protocol
-   result: true
-considering: with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: with $received_protocol
-     result: with local
-condition: def:sender_address
-   result: true
-considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (envelope-from <$sender_address>)
-       
-     result: (envelope-from <CALLER@test.ex>)
-       
-condition: def:received_for
-   result: false
-   scanning: 
-       for $received_for}}
-  expanding: 
-       for $received_for
-     result: 
-       for 
-   skipping: result is not used
-  expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-     result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
-       (envelope-from <CALLER@test.ex>)
-       id 10HmaX-0005vi-00
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+  ┌───scanning: from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: from $sender_rcvhost
+       
+  ├─────result: from 
+       
+  └───skipping: result is not used
+  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──condition: def:sender_ident
+  ├─────result: true
+   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
+   ╎ }}id $message_exim_id${if def:received_for {
+   ╎ for $received_for}}
+   ╎├──expanding: $sender_ident
+   ╎└─────result: CALLER
+   ├──expanding: from ${quote_local_part:$sender_ident} 
+   └─────result: from CALLER 
+  ├──condition: def:sender_helo_name
+  ├─────result: false
+   ┌───scanning: (helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ├──expanding: (helo=$sender_helo_name)
+       
+   ├─────result: (helo=)
+       
+   └───skipping: result is not used
+  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}
+  └─────result: from CALLER 
+ ├──condition: def:received_protocol
+ ├─────result: true
+  ┌considering: with $received_protocol}} (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: with $received_protocol
+  └─────result: with local
+ ├──condition: def:sender_address
+ ├─────result: true
+  ┌considering: (envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: (envelope-from <$sender_address>)
+       
+  └─────result: (envelope-from <CALLER@test.ex>)
+       
+ ├──condition: def:received_for
+ ├─────result: false
+  ┌───scanning: 
+       for $received_for}}
+  ├──expanding: 
+       for $received_for
+  ├─────result: 
+       for 
+  └───skipping: result is not used
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ └─────result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
+       (envelope-from <CALLER@test.ex>)
+       id 10HmaX-0005vi-00
 >>Generated Received: header line
 P Received: from CALLER by mail.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@test.ex>)
        id 10HmaX-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
 calling local_scan(); timeout=300
 local_scan() returned 0 NULL
 >>Generated Received: header line
 P Received: from CALLER by mail.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@test.ex>)
        id 10HmaX-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
 calling local_scan(); timeout=300
 local_scan() returned 0 NULL
-considering: ${tod_full}
 expanding: ${tod_full}
    result: Tue, 2 Mar 1999 09:44:33 +0000
-Writing spool header file: TESTSUITE/spool/input///hdr.pppp
+ ┌considering: ${tod_full}
├──expanding: ${tod_full}
└─────result: Tue, 2 Mar 1999 09:44:33 +0000
+Writing spool header file: TESTSUITE/spool//input//hdr.pppp
 DSN: Write SPOOL :-dsn_envid NULL
 DSN: Write SPOOL :-dsn_ret 0
 DSN: Flags :0
 DSN: Write SPOOL :-dsn_envid NULL
 DSN: Write SPOOL :-dsn_ret 0
 DSN: Flags :0
@@ -162,7 +151,7 @@ DSN: Flags :0
 DSN: **** SPOOL_OUT - address: |rd+CALLER@test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
 DSN: Flags :0
 DSN: **** SPOOL_OUT - address: |rd+usery@test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
 DSN: **** SPOOL_OUT - address: |rd+CALLER@test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
 DSN: Flags :0
 DSN: **** SPOOL_OUT - address: |rd+usery@test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
-Renaming spool header file: TESTSUITE/spool/input///10HmaX-0005vi-00-H
+Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
 Size of headers = sss
 LOG: MAIN
   <= CALLER@test.ex U=CALLER P=local S=sss
 Size of headers = sss
 LOG: MAIN
   <= CALLER@test.ex U=CALLER P=local S=sss
@@ -175,11 +164,6 @@ changed uid/gid: forcing real = effective
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
-DSN: r1 propagating DSN
-DSN: r2 propagating DSN
-DSN: r3 propagating DSN
-DSN: r4 propagating DSN
-DSN: r5 propagating DSN
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 seeking password data for user "CALLER": using cached result
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 seeking password data for user "CALLER": using cached result
@@ -188,7 +172,7 @@ seeking password data for user "CALLER": using cached result
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 set_process_info: pppp delivering specified messages
 set_process_info: pppp delivering 10HmaX-0005vi-00
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 set_process_info: pppp delivering specified messages
 set_process_info: pppp delivering 10HmaX-0005vi-00
-Trying spool file TESTSUITE/spool/input///10HmaX-0005vi-00-D
+Trying spool file TESTSUITE/spool//input//10HmaX-0005vi-00-D
 reading spool file 10HmaX-0005vi-00-H
 user=CALLER uid=CALLER_UID gid=CALLER_GID sender=CALLER@test.ex
 sender_local=1 ident=CALLER
 reading spool file 10HmaX-0005vi-00-H
 user=CALLER uid=CALLER_UID gid=CALLER_GID sender=CALLER@test.ex
 sender_local=1 ident=CALLER
@@ -202,11 +186,11 @@ recipients_count=5
 **** SPOOL_IN - No additional fields
 **** SPOOL_IN - No additional fields
 body_linecount=0 message_linecount=6
 **** SPOOL_IN - No additional fields
 **** SPOOL_IN - No additional fields
 body_linecount=0 message_linecount=6
-DSN: set orcpt: NULL  flags: 0
-DSN: set orcpt: NULL  flags: 0
-DSN: set orcpt: NULL  flags: 0
-DSN: set orcpt: NULL  flags: 0
-DSN: set orcpt: NULL  flags: 0
+DSN: set orcpt:   flags: 0
+DSN: set orcpt:   flags: 0
+DSN: set orcpt:   flags: 0
+DSN: set orcpt:   flags: 0
+DSN: set orcpt:   flags: 0
 Delivery address list:
   CALLER@test.ex 
   usery@test.ex 
 Delivery address list:
   CALLER@test.ex 
   usery@test.ex 
@@ -214,10 +198,11 @@ Delivery address list:
   rd+CALLER@test.ex 
   rd+usery@test.ex 
 locking TESTSUITE/spool/db/retry.lockfile
   rd+CALLER@test.ex 
   rd+usery@test.ex 
 locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
 ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim
 ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim
+failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: CALLER@test.ex
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: CALLER@test.ex
@@ -277,9 +262,9 @@ local_part=rd+usery domain=test.ex
 stripped prefix rd+
 checking local_parts
 usery in "usery"? yes (matched "usery")
 stripped prefix rd+
 checking local_parts
 usery in "usery"? yes (matched "usery")
-considering: /non-exist/$domain
 expanding: /non-exist/$domain
    result: /non-exist/test.ex
+ ┌considering: /non-exist/$domain
├──expanding: /non-exist/$domain
└─────result: /non-exist/test.ex
 calling r5 router
 rda_interpret (string): TESTSUITE/test-mail/junk
 expanded: TESTSUITE/test-mail/junk
 calling r5 router
 rda_interpret (string): TESTSUITE/test-mail/junk
 expanded: TESTSUITE/test-mail/junk
@@ -316,9 +301,9 @@ local_part=rd+CALLER domain=test.ex
 stripped prefix rd+
 checking local_parts
 CALLER in "CALLER"? yes (matched "CALLER")
 stripped prefix rd+
 checking local_parts
 CALLER in "CALLER"? yes (matched "CALLER")
-considering: /non-exist/$local_part
 expanding: /non-exist/$local_part
    result: /non-exist/CALLER
+ ┌considering: /non-exist/$local_part
├──expanding: /non-exist/$local_part
└─────result: /non-exist/CALLER
 calling r4 router
 rda_interpret (string): TESTSUITE/test-mail/junk
 expanded: TESTSUITE/test-mail/junk
 calling r4 router
 rda_interpret (string): TESTSUITE/test-mail/junk
 expanded: TESTSUITE/test-mail/junk
@@ -349,9 +334,9 @@ r2 router skipped: local_parts mismatch
 local_part=userz domain=test.ex
 checking local_parts
 userz in "userz"? yes (matched "userz")
 local_part=userz domain=test.ex
 checking local_parts
 userz in "userz"? yes (matched "userz")
-considering: /non-exist/$domain
 expanding: /non-exist/$domain
    result: /non-exist/test.ex
+ ┌considering: /non-exist/$domain
├──expanding: /non-exist/$domain
└─────result: /non-exist/test.ex
 calling r3 router
 r3 router called for userz@test.ex
   domain = test.ex
 calling r3 router
 r3 router called for userz@test.ex
   domain = test.ex
@@ -374,9 +359,9 @@ r1 router skipped: local_parts mismatch
 local_part=usery domain=test.ex
 checking local_parts
 usery in "usery"? yes (matched "usery")
 local_part=usery domain=test.ex
 checking local_parts
 usery in "usery"? yes (matched "usery")
-considering: /non-exist/$domain
 expanding: /non-exist/$domain
    result: /non-exist/test.ex
+ ┌considering: /non-exist/$domain
├──expanding: /non-exist/$domain
└─────result: /non-exist/test.ex
 calling r2 router
 r2 router called for usery@test.ex
   domain = test.ex
 calling r2 router
 r2 router called for usery@test.ex
   domain = test.ex
@@ -394,9 +379,9 @@ routing CALLER@test.ex
 local_part=CALLER domain=test.ex
 checking local_parts
 CALLER in "CALLER"? yes (matched "CALLER")
 local_part=CALLER domain=test.ex
 checking local_parts
 CALLER in "CALLER"? yes (matched "CALLER")
-considering: /non-exist/$local_part
 expanding: /non-exist/$local_part
    result: /non-exist/CALLER
+ ┌considering: /non-exist/$local_part
├──expanding: /non-exist/$local_part
└─────result: /non-exist/CALLER
 calling r1 router
 r1 router called for CALLER@test.ex
   domain = test.ex
 calling r1 router
 r1 router called for CALLER@test.ex
   domain = test.ex
@@ -409,9 +394,10 @@ routed by r1 router
   envelope to: CALLER@test.ex
   transport: t1
 locking TESTSUITE/spool/db/retry.lockfile
   envelope to: CALLER@test.ex
   transport: t1
 locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
+failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: TESTSUITE/test-mail/junk
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: TESTSUITE/test-mail/junk
@@ -436,22 +422,23 @@ search_tidyup called
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> TESTSUITE/test-mail/junk <--------
 locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> TESTSUITE/test-mail/junk <--------
 locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
+failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 no retry data available
-considering: /non-exist/$local_part
 expanding: /non-exist/$local_part
    result: /non-exist/usery
+ ┌considering: /non-exist/$local_part
├──expanding: /non-exist/$local_part
└─────result: /non-exist/usery
 search_tidyup called
 changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail/junk> transport=ft1
   uid=CALLER_UID gid=CALLER_GID pid=pppp
   home=/non-exist/usery current=/
 set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
 appendfile transport entered
 search_tidyup called
 changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail/junk> transport=ft1
   uid=CALLER_UID gid=CALLER_GID pid=pppp
   home=/non-exist/usery current=/
 set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
 appendfile transport entered
-considering: $address_file
 expanding: $address_file
    result: TESTSUITE/test-mail/junk
+ ┌considering: $address_file
├──expanding: $address_file
└─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
@@ -463,24 +450,25 @@ hitch name: TESTSUITE/test-mail/junk.lock.test.ex.dddddddd.pppppppp
 lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
-considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
-
-condition: def:return_path
  result: true
-considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
-
-  expanding: $return_path
-     result: CALLER@test.ex
-   scanning: MAILER-DAEMON}} ${tod_bsdinbox}
-
-  expanding: MAILER-DAEMON
-     result: MAILER-DAEMON
-   skipping: result is not used
 expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
-
    result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
-
+ ┌considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──condition: def:return_path
├─────result: true
+  ┌considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+  
+  ├──expanding: $return_path
+  └─────result: CALLER@test.ex
+  ┌───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+  
+  ├──expanding: MAILER-DAEMON
+  ├─────result: MAILER-DAEMON
+  └───skipping: result is not used
├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
└─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
 writing data block fd=dddd size=sss timeout=0
 writing data block fd=dddd size=sss timeout=0
+cannot use sendfile for body: spoolfile not wireformat
 writing data block fd=dddd size=sss timeout=0
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
 writing data block fd=dddd size=sss timeout=0
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
@@ -494,9 +482,10 @@ LOG: MAIN
   => TESTSUITE/test-mail/junk <rd+usery@test.ex> R=r5 T=ft1
 --------> TESTSUITE/test-mail/junk <--------
 locking TESTSUITE/spool/db/retry.lockfile
   => TESTSUITE/test-mail/junk <rd+usery@test.ex> R=r5 T=ft1
 --------> TESTSUITE/test-mail/junk <--------
 locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
+failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail/junk> transport=ft1
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail/junk> transport=ft1
@@ -504,9 +493,9 @@ changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail
   home=/non-exist/CALLER current=/
 set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
 appendfile transport entered
   home=/non-exist/CALLER current=/
 set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
 appendfile transport entered
-considering: $address_file
 expanding: $address_file
    result: TESTSUITE/test-mail/junk
+ ┌considering: $address_file
├──expanding: $address_file
└─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
@@ -518,24 +507,25 @@ hitch name: TESTSUITE/test-mail/junk.lock.test.ex.dddddddd.pppppppp
 lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
-considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
-
-condition: def:return_path
  result: true
-considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
-
-  expanding: $return_path
-     result: CALLER@test.ex
-   scanning: MAILER-DAEMON}} ${tod_bsdinbox}
-
-  expanding: MAILER-DAEMON
-     result: MAILER-DAEMON
-   skipping: result is not used
 expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
-
    result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
-
+ ┌considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──condition: def:return_path
├─────result: true
+  ┌considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+  
+  ├──expanding: $return_path
+  └─────result: CALLER@test.ex
+  ┌───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+  
+  ├──expanding: MAILER-DAEMON
+  ├─────result: MAILER-DAEMON
+  └───skipping: result is not used
├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
└─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
 writing data block fd=dddd size=sss timeout=0
 writing data block fd=dddd size=sss timeout=0
+cannot use sendfile for body: spoolfile not wireformat
 writing data block fd=dddd size=sss timeout=0
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
 writing data block fd=dddd size=sss timeout=0
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
@@ -549,9 +539,10 @@ LOG: MAIN
   => TESTSUITE/test-mail/junk <rd+CALLER@test.ex> R=r4 T=ft1
 --------> CALLER@test.ex <--------
 locking TESTSUITE/spool/db/retry.lockfile
   => TESTSUITE/test-mail/junk <rd+CALLER@test.ex> R=r4 T=ft1
 --------> CALLER@test.ex <--------
 locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
+failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to CALLER <CALLER@test.ex> transport=t1
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to CALLER <CALLER@test.ex> transport=t1
@@ -574,13 +565,14 @@ LOG: MAIN
   => CALLER <CALLER@test.ex> R=r1 T=t1
 --------> usery@test.ex <--------
 locking TESTSUITE/spool/db/retry.lockfile
   => CALLER <CALLER@test.ex> R=r1 T=t1
 --------> usery@test.ex <--------
 locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
+failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 no retry data available
-considering: /non-exist/$local_part
 expanding: /non-exist/$local_part
    result: /non-exist/usery
+ ┌considering: /non-exist/$local_part
├──expanding: /non-exist/$local_part
└─────result: /non-exist/usery
 search_tidyup called
 changed uid/gid: local delivery to usery <usery@test.ex> transport=t1
   uid=CALLER_UID gid=CALLER_GID pid=pppp
 search_tidyup called
 changed uid/gid: local delivery to usery <usery@test.ex> transport=t1
   uid=CALLER_UID gid=CALLER_GID pid=pppp
@@ -602,13 +594,14 @@ LOG: MAIN
   => usery <usery@test.ex> R=r2 T=t1
 --------> userz@test.ex <--------
 locking TESTSUITE/spool/db/retry.lockfile
   => usery <usery@test.ex> R=r2 T=t1
 --------> userz@test.ex <--------
 locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
+failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 no retry data available
-considering: /$local_part
 expanding: /$local_part
    result: /userz
+ ┌considering: /$local_part
├──expanding: /$local_part
└─────result: /userz
 search_tidyup called
 changed uid/gid: local delivery to userz <userz@test.ex> transport=t2
   uid=CALLER_UID gid=CALLER_GID pid=pppp
 search_tidyup called
 changed uid/gid: local delivery to userz <userz@test.ex> transport=t2
   uid=CALLER_UID gid=CALLER_GID pid=pppp
@@ -634,15 +627,15 @@ changed uid/gid: post-delivery tidying
 set_process_info: pppp tidying up after delivering 10HmaX-0005vi-00
 Processing retry items
 Succeeded addresses:
 set_process_info: pppp tidying up after delivering 10HmaX-0005vi-00
 Processing retry items
 Succeeded addresses:
-userz@test.ex: no retry items
-usery@test.ex: no retry items
-CALLER@test.ex: no retry items
-TESTSUITE/test-mail/junk: no retry items
-rd+CALLER@test.ex: no retry items
-TESTSUITE/test-mail/junk: no retry items
-rd+usery@test.ex: no retry items
-rd+CALLER@test.ex: no retry items
-rd+usery@test.ex: no retry items
+ userz@test.ex: no retry items
+ usery@test.ex: no retry items
+ CALLER@test.ex: no retry items
+ TESTSUITE/test-mail/junk: no retry items
+ rd+CALLER@test.ex: no retry items
+ TESTSUITE/test-mail/junk: no retry items
+ rd+usery@test.ex: no retry items
+ rd+CALLER@test.ex: no retry items
+ rd+usery@test.ex: no retry items
 Failed addresses:
 Deferred addresses:
 end of retry processing
 Failed addresses:
 Deferred addresses:
 end of retry processing
@@ -707,6 +700,6 @@ LOG: MAIN
 end delivery of 10HmaX-0005vi-00
 search_tidyup called
 search_tidyup called
 end delivery of 10HmaX-0005vi-00
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>