On Fri, 2010-02-12 at 23:28 -0200, Leonardo Rodrigues wrote:
> Program received signal SIGSEGV, Segmentation fault.
> 0x4c1be763 in unsetenv () from /lib/libc.so.6
> (gdb) bt full
> #0 0x4c1be763 in unsetenv () from /lib/libc.so.6
> No symbol table info available.
> #1 0x0805cc44 in main (argc=9, argv=0xbfe6da54) at deliver.c:497

Oh, this one. It's a libc bug.. I reported it to Ubuntu people already:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/380487

Wouldn't hurt to report it elsewhere too :)

Anyway, it crashes only if the problematic setting is first in the
config file. Also the attached patch probably helps?



diff -r 1ff706e7d95f src/deliver/deliver.c
--- a/src/deliver/deliver.c	Sun Feb 07 01:55:06 2010 +0200
+++ b/src/deliver/deliver.c	Sat Feb 13 03:43:45 2010 +0200
@@ -355,6 +355,7 @@
 	if (fd < 0)
 		i_fatal_status(EX_TEMPFAIL, "open(%s) failed: %m", path);
 
+	env_put("_glibc_bug_workaround=1");
 	input = i_stream_create_fd(fd, (size_t)-1, TRUE);
 	i_stream_set_return_partial_line(input, TRUE);
 	while ((line = i_stream_read_next_line(input)) != NULL) {

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to