Hello Wesley,
On 06/04/2010 10:32 PM, Wesley Craig wrote:
And that's all? At a minimum, if authN is failing, you should get
this syslog:
if ((r = backend_authenticate(ret, prot,&mlist, userid,
cb, auth_status))) {
syslog(LOG_ERR, "couldn't authenticate to backend
server: %s",
sasl_errstring(r, NULL, NULL));
if (!ret_backend) free(ret);
close(sock);
ret = NULL;
}
If you're not, I guess you're in some sort of loop in
backend_authenticate(). Do you get a backtrace?
I'm new to gdb, so I hope I don't give you any wrong information.
I set a breakpoint on backend_authenticate but i don't get any break.
However I set a breakpoint in backend_connect and stepped a lot.
Please see attached file "bt" and bt2.
I could not get a good backtrace because I didn't know how to get it.
However the file bt2 shows the backtrace I was able to get. I don't
know how to say break on a specific line. as the line numbers gdb shows
are not matching the line numbers in the source file :(.
Thank you very much!
Rudy
Breakpoint 1, backend_connect (ret_backend=0x0, server=0x1415e50 "maild1r.ugent.be", prot=0x6d5b40, userid=0x44dbfd "", cb=0x1418230, auth_status=0x0)
at backend.c:321
321 {
(gdb) continue
Continuing.
Breakpoint 2, backend_connect (ret_backend=0x0, server=<value optimized out>, prot=0x6d5b40, userid=0x44dbfd "", cb=0x1418230, auth_status=0x0)
at backend.c:514
514 do_compress(ret, &prot->compress_cmd)) {
(gdb) step
463 const void *ssf;
(gdb) step
514 do_compress(ret, &prot->compress_cmd)) {
(gdb) step
517 if (!ret_backend) free(ret);
(gdb) step
520 }
(gdb) step
config_getswitch (opt=IMAPOPT_PROXY_COMPRESS) at libconfig.c:119
119 assert(opt > IMAPOPT_ZERO && opt < IMAPOPT_LAST);
(gdb) step
118 {
(gdb) step
119 assert(opt > IMAPOPT_ZERO && opt < IMAPOPT_LAST);
(gdb) step
120 assert(imapopts[opt].t == OPT_SWITCH);
(gdb) step
122 if ((imapopts[opt].val.b > 0x7fffffff)||
(gdb) step
129 }
(gdb) step
backend_connect (ret_backend=0x0, server=0x14183b8 "0�D\001", prot=0x6d5b40, userid=0x44dbfd "", cb=0x1418230, auth_status=0x0) at backend.c:534
534 prot_printf(s->out, "%s\r\n", s->prot->ping_cmd.cmd);
(gdb) step
replica_connect (be=0x0, servername=0x1415e50 "maild1r.ugent.be", cb=0x1418230) at sync_client.c:3406
3406 _exit(1);
(gdb) step
3403 fprintf(stderr, "Can not connect to server '%s'\n",
(gdb) step
3406 _exit(1);
(gdb) step
3408
(gdb) step
Can not connect to server 'maild1r.ugent.be', retrying in 15 seconds
3411 * http://en.wikipedia.org/wiki/Nagle's_algorithm
Starting program: /usr/cyrus-2.3.16/bin/sync_client -v -l -C /mail/maild1-p1/etc/imapd.conf -u rudy.gevaert@xxxxxxxx
[Thread debugging using libthread_db enabled]
[New Thread 0x7f2ae0eb5700 (LWP 8133)]
Can not connect to server 'maild1r.ugent.be', retrying in 15 seconds
Can not connect to server 'maild1r.ugent.be', retrying in 30 seconds
Can not connect to server 'maild1r.ugent.be', retrying in 60 seconds
Can not connect to server 'maild1r.ugent.be', retrying in 120 seconds
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0x7f2ae0eb5700 (LWP 8133)]
0x00007f2adfa7cfc0 in nanosleep () from /lib/libc.so.6
(gdb) bt
#0 0x00007f2adfa7cfc0 in nanosleep () from /lib/libc.so.6
#1 0x00007f2adfa7ce17 in sleep () from /lib/libc.so.6
#2 0x0000000000408776 in replica_connect (be=0x0, servername=0x19e6e50 "maild1r.ugent.be", cb=0x19e9230) at sync_client.c:3411
#3 0x000000000040e2d0 in main (argc=7, argv=0x7fff61e4a818) at sync_client.c:3717
(gdb) bt full
#0 0x00007f2adfa7cfc0 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1 0x00007f2adfa7ce17 in sleep () from /lib/libc.so.6
No symbol table info available.
#2 0x0000000000408776 in replica_connect (be=0x0, servername=0x19e6e50 "maild1r.ugent.be", cb=0x19e9230) at sync_client.c:3411
wait = 240
proto = <value optimized out>
#3 0x000000000040e2d0 in main (argc=7, argv=0x7fff61e4a818) at sync_client.c:3717
opt = <value optimized out>
i = <value optimized out>
alt_config = <value optimized out>
input_filename = 0x0
r = <value optimized out>
exit_rc = <value optimized out>
mode = 1
wait = <value optimized out>
timeout = 600
min_delta = 0
sync_log_file = '\0' <repeats 280 times>, "%���*\177\000\000\000\000\000\000\000\000\000\000(\225��*\177\000\000o�[�*\177\000\000\004N��*\177", '\0' <repeats 66 times>, "\001", '\0' <repeats 167 times>, "%���*\177\000\000\000\000\000\000\000\000\000\000(\225��*\177\000\000�l|�*\177\000\000\004N��*\177", '\0' <repeats 66 times>, "\001", '\0' <repeats 215 times>, "%���*\177\000\000\000\000\000\000\000\000\000\000(\225��*\177\000\000�B\237�*\177\000\000\004N��*\177", '\0' <repeats 66 times>, "\001", '\0' <repeats 151 times>, "%���*\177\000\000\000\000\000\000\000"...
sync_shutdown_file = 0x0
buf = "\001\000\000\000*\177\000\000\000\000\000\000\000\000\000\000\001\000\000\000*\177\000\000����*\177\000\000\000\000\000\000\001\000\000\000�\004\000\000\001\000\000\000\000\000\000\000\001\000\000\000�w��*\177\000\000Xs��*\177\000\000`��a�\177\000\000\000p��*\177\000\000%8@\000\000\000\000\000.N=�\000\000\000\000dc��*\177\000\000$)\236�*\177\000\000.\000\000\000*\177\000\0008��\003\000\000\000\000���a�\177\000\000(��a�\177\000\000\020+\236�*\177\000\000\000\000\000\000\000\000\000\000\210w��*\177\000\000�\204��*\177\000\000�7@\000\000\000\000\000��\236�*\177\000\000"...
file = <value optimized out>
len = <value optimized out>
be = <value optimized out>
cb = <value optimized out>
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html