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 <eras at gentoo.org>
-------------- next part --------------
[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>