dovecot-2.1.8 sieve-0.3.1 binutils-2.22 When dovecot and sieve is linked with ld.gold I get a segfault in checkscript command:
$ telnet localhost 4190 [some output] authenticate "PLAIN" "<base64_username_password>" [some more output] checkscript "foobarscript" connection closed Logs: 2012-07-12T19:30:23.624158+00:00 bob dovecot: master: Dovecot v2.1.8 starting up 2012-07-12T19:31:22.548913+00:00 bob dovecot: managesieve-login: Login: user=<username>, method=PLAIN, rip=192.168.122.1, lip=192.168.122.64, mpid=12169, session=<YGo2AqfEcwDAqHoB> 2012-07-12T19:31:34.636747+00:00 bob dovecot: managesieve(username): Fatal: master: service(managesieve): child 12169 killed with signal 11 (core dumped) make check also fails (thank you for that): [...] Test case: ./tests/execute/errors.svtest: 1: Test 'Action conflicts: reject <-> fileinto' SUCCEEDED 2: Test 'Action conflicts: reject <-> keep' SUCCEEDED 3: Test 'Action conflicts: reject <-> redirect' SUCCEEDED 4: Test 'Action limit' SUCCEEDED 5: Test 'Redirect limit' SUCCEEDED /tmp/work/dovecot-2.1-pigeonhole-0.3.1/src/testsuite/.libs/lt-testsuite: symbol lookup error: /tmp/work/dovecot-2.1-pigeonhole-0.3.1/src/lib-sieve/.libs/libdovecot-sieve.so.0: undefined symbol: mail_deliver_get_log_var_expand_table make: *** [tests/execute/errors.svtest] Error 127 Backtrace is attached. -- Eray Aslan <e...@gentoo.org>
[New LWP 12169] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `dovecot/managesieve'. Program terminated with signal 11, Segmentation fault. #0 0x00007f9e154a2aa6 in ?? () from /lib64/libc.so.6 #0 0x00007f9e154a2aa6 in ?? () from /lib64/libc.so.6 No symbol table info available. #1 0x000000000040b353 in sieve_storage_save_will_activate (ctx=0x17ee170) at sieve-storage-save.c:329 _data_stack_cur_id = 5 scriptname = 0x17b8356 "foobarscript.sieve" ret = <optimized out> #2 0x0000000000406170 in cmd_putscript_finish_parsing (cmd=0x17e4c88) at cmd-putscript.c:206 ehandler = <optimized out> cpflags = 3 sbin = <optimized out> errors = <optimized out> _data_stack_cur_id = 4 script = 0x17ef180 success = true client = 0x17e4bf0 ctx = 0x17e7150 args = 0x17c3c28 ret = <optimized out> #3 0x0000000000406407 in cmd_putscript_continue_script (cmd=0x17e4c88) at cmd-putscript.c:423 failed = <optimized out> all_written = <optimized out> client = 0x17e4bf0 ctx = 0x17e7150 size = 18446744073709551615 ret = <optimized out> #4 0x0000000000406837 in cmd_putscript_continue_parsing (cmd=0x17e4c88) at cmd-putscript.c:332 client = 0x17e4bf0 ctx = 0x17e7150 args = 0x17c3c28 ret = <optimized out> #5 0x0000000000408597 in client_handle_input (cmd=0x17e4c88) at managesieve-client.c:546 client = 0x17e4bf0 __FUNCTION__ = "client_handle_input" #6 0x000000000040863f in client_handle_input (cmd=0x17e4c88) at managesieve-client.c:598 client = 0x17e4bf0 __FUNCTION__ = "client_handle_input" #7 0x00000000004087da in client_input (client=0x17e4bf0) at managesieve-client.c:639 _data_stack_cur_id = 3 cmd = 0x17e4c88 ret = <optimized out> #8 0x00007f9e157cfd16 in io_loop_call_io (io=0x17e4fc0) at ioloop.c:379 ioloop = 0x17c0680 t_id = 2 #9 0x00007f9e157d0a37 in io_loop_handler_run (ioloop=<optimized out>) at ioloop-epoll.c:213 ctx = 0x17c09f0 events = 0x0 event = 0x17c0a60 list = 0x17dba30 io = <optimized out> tv = {tv_sec = 1799, tv_usec = 999667} msecs = <optimized out> ret = 1 i = <optimized out> call = <optimized out> #10 0x00007f9e157cf728 in io_loop_run (ioloop=0x17c0680) at ioloop.c:398 No locals. #11 0x00007f9e157bbc43 in master_service_run (service=0x17c0530, callback=<optimized out>) at master-service.c:543 No locals. #12 0x00000000004094f5 in main (argc=1, argv=0x17c0370) at main.c:315 set_roots = {0x412b20, 0x0} login_set = {auth_socket_path = 0x17b8088 "/var/run/dovecot/auth-master", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback = 0x408fc0 <login_client_connected>, failure_callback = 0x408f70 <login_client_failed>} service_flags = <optimized out> storage_service_flags = <optimized out> username = <optimized out> c = <optimized out>