* On 04/06/07 02:59 +0300, Timo Sirainen wrote:
| On Sun, 2007-06-03 at 21:20 +0300, Odhiambo WASHINGTON wrote:
| > Here is a backtrace of the dovecot-auth crash:
|
| Two problems with it:
|
| > #0 0x805dc00 in userdb_blocking_lookup ()
|
| Debugging symbols were stripped. Could you try building it without
| removing them, at least from dovecot-auth binary? I guess "make install"
| does the stripping, so maybe copying the file manually would preserve
| it. You can anyway check this with "file dovecot-auth" to see if it says
| "stripped" or "not stripped".
|
| > (gdb) bt
| > #0 0x805dc00 in userdb_blocking_lookup ()
| > #1 0x805dd50 in userdb_blocking_lookup ()
| > #2 0x806175a in sql_drivers_register_all ()
| > #3 0x8060d1c in sql_query ()
| > #4 0x805de62 in userdb_blocking_lookup ()
| > #5 0x8055724 in auth_stream_is_empty ()
| > #6 0x80557f4 in auth_stream_is_empty ()
| > #7 0x8055894 in auth_stream_is_empty ()
| > #8 0x80668ac in io_loop_handler_run ()
| > #9 0x80662a1 in io_loop_run ()
| > #10 0x805770f in main ()
| > #11 0x804fd52 in _start ()
|
| Also this backtrace is corrupted for some reason. One (pretty) sure way
| to get a non-corrupted backtrace is to attach gdb to dovecot-auth while
| it's still running:
|
| gdb attach
| cont
| <wait for crash>
| bt full
Hi Timo,
You were right. `make install` did strip it.
file `locate dovecot-auth`
/usr/local/libexec/dovecot/dovecot-auth: ELF 32-bit LSB executable, \
Intel 80386, version 1 (FreeBSD), for FreeBSD 4.9.2, dynamically linked \
(uses shared libs), stripped
I have built and manually copied dovecot-auth to the install destination
and now it id not stripped. Now this is the result of the debug:
[root@ns2]#gdb /usr/local/libexec/dovecot/dovecot-auth /var/run/dovecot/dovecot-auth.core
GNU gdb 4.18 (FreeBSD)
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...(no debugging symbols found)...
Core was generated by `dovecot-auth'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libcrypt.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libpam.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/compat/pkg/libmysqlclient.so.10...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libm.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libc.so.4...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libz.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/libexec/ld-elf.so.1...(no debugging symbols found)...done.
#0 0x805d848 in sql_query_get_result ()
(gdb) bt
#0 0x805d848 in sql_query_get_result ()
#1 0x805d998 in sql_query_callback ()
#2 0x8061396 in driver_mysql_query ()
#3 0x8060964 in sql_query ()
#4 0x805daaa in userdb_sql_lookup ()
#5 0x805536c in auth_worker_handle_user ()
#6 0x805543c in auth_worker_handle_line ()
#7 0x80554dc in auth_worker_input ()
#8 0x8065e34 in io_loop_handler_run ()
#9 0x8065829 in io_loop_run ()
#10 0x8057357 in main ()
#11 0x804f99a in _start ()
(gdb)
BTW, I don't understand all that stuff:-)
While trying the other method you have detailed, I just don't seem to get it right:
[root@ns2]#ps ax | grep dove
11446 ?? Ss 0:00.04 /usr/local/sbin/dovecot
11447 ?? S 0:00.02 dovecot-auth
17279 p2 RV 0:00.00 grep dove (csh)
[root@ns2]#gdb attach 11447 -w process
Excess command line arguments ignored. (process)
GNU gdb 4.18 (FreeBSD)
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
attach: No such file or directory.
/var/run/dovecot/11447: No such file or directory.
Attaching to process 11447
0x2812bc50 in ?? ()
(gdb)
Why does it say "attach: No such file or directory"?
(gdb) quit
The program is running. Quit anyway (and detach it)? (y or n) n
Not confirmed.
(gdb) cont
Continuing.
After that, I connect to either the pop3/imap and try to authenticate, upon
which I get the error I have been getting, but when I tell gdb 'bt full', then
nothing happens...
I could be mising another point along the way, even after reading
the man page of gdb on this FreeBSD box.
-Wash
http://www.netmeister.org/news/learn2quote.html
DISCLAIMER: See http://www.wananchi.com/bms/terms.php
--
+======================================================================+
|\ _,,,---,,_ | Odhiambo Washington
Zzz /,`.-'`' -. ;-;;,_ | Wananchi Online Ltd. www.wananchi.com
|,4- ) )-,_. ,\ ( `'-'| Tel: +254 20 313985-9 +254 20 313922
'---''(_/--' `-'\_) | GSM: +254 722 743223 +254 733 744121
+======================================================================+
Finding out what goes on in the C.I.A. is like performing acupuncture
on a rock.
-- New York Times, Jan. 20, 1981