Some symbol tables were missing. It suggests that some parts of the rpm had not been built with -g. In that case you would need to build from source and check what flags are being used, e.g. to verify -g is part of them. I tried to build from source using following steps: ./configure --enable-debug --with-pgsql --with-mysql --with-sqlite --with-sql=plugin --with-sql-drivers --with-db make make install
The config file is the same. Now gdb -p <dovecot-auth> is this: (gdb) cont Continuing.
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208375616 (LWP 18633)] sql_query_callback (result=0x8ba8d20, sql_request=0x70) at passdb-sql.c:58 58 struct auth_request *auth_request = sql_request->auth_request; (gdb) bt full #0 sql_query_callback (result=0x8ba8d20, sql_request=0x70) at passdb-sql.c:58 auth_request = (struct auth_request *) 0xbf84c1d8 passdb_result = <value optimized out> password = 0x0 scheme = <value optimized out> ret = <value optimized out> __PRETTY_FUNCTION__ = "sql_query_callback" #1 0x00327bef in result_finish (result=0x8ba8d20) at driver-pgsql.c:293 _data_stack_cur_id = 3 db = (struct pgsql_db *) 0x7d61462c #2 0x0806dad0 in io_loop_handler_run (ioloop=0x8ae01a8) at ioloop-epoll.c:203 ctx = <value optimized out> event = (const struct epoll_event *) 0x8ae8140 list = (struct io_list *) 0x8af1d70 io = (struct io_file *) 0x8b02580 tv = {tv_sec = 0, tv_usec = 499487} t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #3 0x0806cbd8 in io_loop_run (ioloop=0x8ae01a8) at ioloop.c:320 No locals. #4 0x0805a2c7 in main (argc=0, argv=0x8adc008) at main.c:328 _data_stack_cur_id = 0 foreground = false
The Makefile is attached. If there's any error, just let me know.