Some more info, complete rpctraces (attached in two separate mails) and a gdb backtrace from exim4-daemon-heavy.
rpctrace ======== rpctrace build-tree/build-exim4-daemon-{light,heavy}/exim -C exim4-4.76/test/eximtest/exim4.conf -bV > rpctrace_exim4_{light,heavy} 2>&1 gdb === gdb build-tree/build-exim4-daemon-heavy/exim (gdb) run -C exim4-4.76/test/eximtest/exim4.conf -bV Cannot access memory at address 0x6465766d Cannot access memory at address 0x6465766d Cannot access memory at address 0x6465766d Cannot access memory at address 0x6465766d Cannot access memory at address 0x6465766d Cannot access memory at address 0x6465766d [New Thread 1227.10] 0x6465766d Cannot access memory at address 0x6465766d Cannot access memory at address 0x6465766d Cannot access memory at address 0x6465766d Exim version 4.76 #1 built 16-May-2011 17:11:04 ... Exim version 4.76 uid=1000 gid=1000 pid=1285 D=fbb95cfd Exim has no root privilege: uid=1000 gid=1000 euid=1000 egid=1000 changed uid/gid: -C, -D, -be or -bf forces real uid uid=1000 gid=1000 pid=1285 auxiliary group list: <none> seeking password data for user "1000": cache not available configuration file is exim4-4.76/test/eximtest/exim4.conf log selectors = 00000ffc 00212001 LOG: MAIN PANIC exim user lost privilege for using -C option Total 18 lookups Program received signal SIGSEGV, Segmentation fault. 0x000504fa in rda_get_file_contents (rdata=0x1e1e0c0, options=<value optimized out>, include_directory=0x0, sieve_vacation_directory=0x0, sieve_enotify_mailto_owner=0xffffffff <Address 0xffffffff out of bounds>, sieve_useraddress=0x12354c "", sieve_subaddress=0x0, generated=0x0, error=0x0, eblockp=0xffffffff, filtertype=0xec9bd) at rda.c:200 200 in rda.c (gdb) thread apply all bt Thread 5 (Thread 1285.10): #0 0x018eff4c in ?? () #1 0x018f0749 in ?? () #2 0x018f0e79 in ?? () #3 0x018f0f4b in ?? () #4 0x0190194f in ?? () #5 0x017eec3c in ?? () #6 0x00000000 in ?? () Thread 4 (Thread 1285.9): #0 0x000504fa in rda_get_file_contents (rdata=0x1e1e0c0, options=<value optimized out>, include_directory=0x0, sieve_vacation_directory=0x0, sieve_enotify_mailto_owner=0xffffffff <Address 0xffffffff out of bounds>, sieve_useraddress=0x12354c "", sieve_subaddress=0x0, generated=0x0, error=0x0, eblockp=0xffffffff, filtertype=0xec9bd) at rda.c:200 #1 rda_extract (rdata=0x1e1e0c0, options=<value optimized out>, include_directory=0x0, sieve_vacation_directory=0x0, sieve_enotify_mailto_owner=0xffffffff <Address 0xffffffff out of bounds>, sieve_useraddress=0x12354c "", sieve_subaddress=0x0, generated=0x0, error=0x0, eblockp=0xffffffff, filtertype=0xec9bd) at rda.c:358 #2 0x00000000 in ?? () (gdb) dir src (gdb) list 195 DEBUG(D_route) debug_printf("%s does not exist\n%schecking parent directory\n", 196 filename, 197 ((options & RDO_ENOTDIR) != 0)? "ignore_enotdir set => skip " : ""); 198 *yield = (((options & RDO_ENOTDIR) != 0) || 199 rda_exists(filename, error) == FILE_NOT_EXIST)? 200 FF_NONEXIST : FF_ERROR; 201 return NULL; 202 203 case ENOTDIR: /* Something on the path isn't a directory */ 204 if ((options & RDO_ENOTDIR) == 0) goto DEFAULT_ERROR;