Exim puzzle

Top Page
Delete this message
Reply to this message
Author: Nigel Metheringham
Date:  
To: exim-users
Subject: Exim puzzle
Since I have spent a while bashing away at this one, and Philip can't work
out whats happening either, I thought I'd ask the list in general...

I have exim 1.70/1.71 running on SPARC Linux.
For various nasty reasons I have 2 smtp transports defined, one of which
is a special used in conjunction with a smartuser director to shove
certain messages across to a specific machine.

If I have a message which has addresses put to both the smtp based
transports, and remote_max_parallel is set to something, then the second
smtp transport SEGVs and dies (the message is then frozen).

Whats really strange is that this is occuring in the call to
set_process_info() within that function's call to string_vformat(). The
code for that function is:-

void
set_process_info(char *format, ...)
{
int len;
va_list ap;
sprintf(process_info, "%5d %.12s ", (int)getpid(), version_string);
len = strlen(process_info);
va_start(ap, format);
if (!string_vformat(process_info + len, PROCESS_INFO_SIZE - len, format,
ap))
strcpy(process_info + len, "**** string overflowed buffer ****");
DEBUG(2) debug_printf("set_process_info: %s\n", process_info);
va_end(ap);
}

Now there is a chance that the things passed are too long, but it can cope
with that when not running in parallel, so thats not it!

All clues welcome.

    Nigel.


-- 
[ Nigel.Metheringham@???   -  Systems Software Engineer ]
[ Tel : +44 113 251 6012                   Fax : +44 113 224 0003 ]
[            Friends don't let friends use sendmail!              ]




--
* This is sent by the exim-users mailing list.  To unsubscribe send a
    mail with subject "unsubscribe" to exim-users-request@???
* Exim information can be found at http://www.exim.org/