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) {
signature.asc
Description: This is a digitally signed message part