Hello Aki, Arch Linux doesn't have install-able debug symbols for Dovecot. That's why I just compiled the package for myself with enabled debug symbols (by editing the makepkg.conf). I've attached the output from gdb's bt full. - Marcel Am 03.02.2019 um 14:45 schrieb Aki Tuomi:> You need to install debug symbols. Not sure how this is done in arch > linux though. > > Aki >> On 03 February 2019 at 15:02 Marcel Menzel < mail at mcl.gg >> <mailto:mail at mcl.gg>> wrote: >> >> >> Hello John, >> >> I tried (until now) to get a valuable backtrace, but it seems that GDB >> can't resolve all symbols. >> This is what systemd-coredump is giving me: >> >> Stack trace of thread 22359: >> #0? 0x0000638167eaf062 event_unref (libdovecot.so.0) >> #1? 0x000004a58a212151 n/a (dict) >> #2? 0x000004a58a211333 n/a (dict) >> #3? 0x000004a58a20514d n/a (dict) >> #4? 0x0000638167e556f2 dict_transaction_begin (libdovecot.so.0) >> #5? 0x000004a58a203b06 n/a (dict) >> #6? 0x000004a58a2045ff dict_command_input (dict) >> #7? 0x000004a58a202a31 n/a (dict) >> #8? 0x000004a58a202b35 n/a (dict) >> #9? 0x0000638167eaacfd io_loop_call_io (libdovecot.so.0) >> #10 0x0000638167eac635 io_loop_handler_run_internal (libdovecot.so.0) >> #11 0x0000638167eaadc7 io_loop_handler_run (libdovecot.so.0) >> #12 0x0000638167eaaf68 io_loop_run (libdovecot.so.0) >> #13 0x0000638167e1b36a master_service_run (libdovecot.so.0) >> #14 0x000004a58a202300 main (dict) >> #15 0x0000638167a17223 __libc_start_main (libc.so.6) >> #16 0x000004a58a2023fe _start (dict) >> >> GDB's "bt full" won't give anything more here, I might compile Dovecot >> with debug symbols enabled as soon as I have a little more time: >> >> (gdb) bt full >> #0? 0x0000638167eaf062 in event_unref () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #1? 0x000004a58a212151 in ?? () >> No symbol table info available. >> #2? 0x000004a58a211333 in ?? () >> No symbol table info available. >> #3? 0x000004a58a20514d in ?? () >> No symbol table info available. >> #4? 0x0000638167e556f2 in dict_transaction_begin () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #5? 0x000004a58a203b06 in ?? () >> No symbol table info available. >> #6? 0x000004a58a2045ff in dict_command_input () >> No symbol table info available. >> #7? 0x000004a58a202a31 in ?? () >> No symbol table info available. >> #8? 0x000004a58a202b35 in ?? () >> No symbol table info available. >> #9? 0x0000638167eaacfd in io_loop_call_io () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #10 0x0000638167eac635 in io_loop_handler_run_internal () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #11 0x0000638167eaadc7 in io_loop_handler_run () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #12 0x0000638167eaaf68 in io_loop_run () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #13 0x0000638167e1b36a in master_service_run () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #14 0x000004a58a202300 in main () >> No symbol table info available. >> >> - Marcel >> >> Am 03.02.2019 um 09:08 schrieb John Fawcett: >>> On 01/02/2019 20:40, Marcel Menzel wrote: >>>> Hello, >> >> >> >> After I configured a SQLite backed dict quota backend, the dict >> process >> >> crashes every time a quota operation is happening. >> >> >> >> SQLite: 3.26.0 >> >> >> >> Dovecot: 2.3.4 (0ecbaf23d) >> >> >> >> Linux: 4.20.4.a-1-hardened #1 SMP PREEMPT Fri Jan 25 01:24:51 CET >> 2019 >> >> x86_64 GNU/Linux (Arch Linux) >> >> >> >> Filesystem: BTRFS >> >> >> >> >> >> I can't get any debug output from Dovecot, even after setting >> log_debug >> >> = cat:* event:* source:* field:*=* >> >> >> >> dovecot[6457]: dict(6687): Debug: sqlite: Finished query 'BEGIN >> >> TRANSACTION' in 0 msecs >> >> dovecot[6457]: dict(6687): Fatal: master: service(dict): child 6687 >> >> killed with signal 11 (core dumped) >> >> >> >> >> >> I've attached the output of dovecot -n and the coredump file from >> >> systemd-coredump. >> >> >> >> >> >> Kind regards, >> >> >> >> Marcel Menzel >> >> >>> Any chance of posting a backtrace? >>> John > > --- > Aki Tuomi-------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20190203/3197711c/attachment-0001.html> -------------- next part -------------- #0 event_unref (_event=_event at entry=0x781e3b828918) at lib-event.c:217 event = 0x1400 __func__ = "event_unref" #1 0x000000ccbcdb0151 in driver_sqlite_exec (_db=0xccf6c3d438, query=0xccbcdb2fcd "BEGIN TRANSACTION") at driver-sqlite.c:186 db = 0xccf6c3d438 result = {v = {free = 0x0, next_row = 0x0, get_fields_count = 0x0, get_field_name = 0x0, find_field = 0x0, get_field_value = 0x0, get_field_value_binary = 0x0, find_field_value = 0x0, get_values = 0x0, get_error = 0x0, more = 0x0}, refcount = 0, db = 0xccf6c3d438, fields = 0x0, map_size = 0, map = 0x0, fetch_dest = 0x0, event = 0xccf6c3e000, fetch_dest_size = 0, error_type = SQL_RESULT_ERROR_TYPE_UNKNOWN, failed = false, failed_try_retry = false, callback = false} event = 0x1400 #2 0x000000ccbcdaf333 in driver_sqlite_transaction_begin (_db=0xccf6c3d438) at driver-sqlite.c:373 ctx = 0xccf6c3db80 db = 0xccf6c3d438 #3 0x000000ccbcda314d in sql_dict_transaction_init (_dict=0xccf6c3bf08) at dict-sql.c:913 dict = 0xccf6c3bf08 ctx = 0xccf6c3dae0 #4 0x0000604dd068f6f2 in dict_transaction_begin (dict=<optimized out>) at dict.c:234 ctx = <optimized out> #5 0x000000ccbcda1b06 in cmd_begin (cmd=0xccf6c3d9e0, line=<optimized out>) at dict-commands.c:371 trans = 0xccf6c3da70 id = 1 #6 0x000000ccbcda25ff in dict_command_input (conn=conn at entry=0xccf6c37a10, line=line at entry=0xccf6c39e79 "B1") at dict-commands.c:618 cmd_func = <optimized out> cmd = 0xccf6c3d9e0 ret = <optimized out> #7 0x000000ccbcda0a31 in dict_connection_input_more (conn=0xccf6c37a10) at dict-connection.c:120 _data_stack_cur_id = 3 line = 0xccf6c39e79 "B1" ret = <optimized out> #8 0x000000ccbcda0b35 in dict_connection_input (conn=0xccf6c37a10) at dict-connection.c:169 line = <optimized out> line = <optimized out> #9 dict_connection_input (conn=0xccf6c37a10) at dict-connection.c:134 line = <optimized out> #10 0x0000604dd06e4cfd in io_loop_call_io (io=0xccf6c37e30) at ioloop.c:698 ioloop = 0xccf6c28d70 t_id = 2 __func__ = "io_loop_call_io" #11 0x0000604dd06e6635 in io_loop_handler_run_internal (ioloop=ioloop at entry=0xccf6c28d70) at ioloop-epoll.c:221 ctx = 0xccf6c2a910 events = <optimized out> event = 0xccf6c2a980 list = 0xccf6c37e90 io = <optimized out> tv = {tv_sec = 2147483, tv_usec = 0} events_count = <optimized out> msecs = <optimized out> ret = <optimized out> i = 0 j = <optimized out> call = <optimized out> __func__ = "io_loop_handler_run_internal" #12 0x0000604dd06e4dc7 in io_loop_handler_run (ioloop=0xccf6c28d70) at ioloop.c:750 __func__ = "io_loop_handler_run" #13 0x0000604dd06e4f68 in io_loop_run (ioloop=0xccf6c28d70) at ioloop.c:723 __func__ = "io_loop_run" #14 0x0000604dd065536a in master_service_run (service=0xccf6c28c00, callback=callback at entry=0xccbcda2970 <client_connected>) at master-service.c:781 No locals. #15 0x000000ccbcda0300 in main (argc=<optimized out>, argv=<optimized out>) at main.c:153 set_roots = {0xccbcdb9cc0 <dict_setting_parser_info>, 0x0} error = 0x781e3b828cf6 "" quit
<!doctype html> <html> <head> <meta charset="UTF-8"> </head> <body> <div> Can you try if applying </div> <div> <br> </div> <div> <a href="https://github.com/dovecot/core/commit/b291ff1fd61b47639a2db99bd858c9511945f4ab.patch">https://github.com/dovecot/core/commit/b291ff1fd61b47639a2db99bd858c9511945f4ab.patch</a> </div> <div> <br> </div> <div> helps? <br> </div> <div> <br> </div> <div> Aki </div> <blockquote type="cite"> <div> On 03 February 2019 at 16:20 Marcel Menzel < <a href="mailto:mail@mcl.gg">mail@mcl.gg</a>> wrote: </div> <div> <br> </div> <div> <br> </div> <div> Hello Aki, </div> <div> <br> </div> <div> Arch Linux doesn't have install-able debug symbols for Dovecot. That's </div> <div> why I just compiled the package for myself with enabled debug symbols </div> <div> (by editing the makepkg.conf). </div> <div> <br> </div> <div> I've attached the output from gdb's bt full. </div> <div> <br> </div> <div> - Marcel </div> <div> <br> </div> <div> Am 03.02.2019 um 14:45 schrieb Aki Tuomi: </div> <blockquote type="cite"> <div> You need to install debug symbols. Not sure how this is done in arch </div> <div> linux though. </div> </blockquote> <blockquote type="cite"> <div> Aki </div> <blockquote type="cite"> <div> On 03 February 2019 at 15:02 Marcel Menzel < <a href="mailto:mail@mcl.gg">mail@mcl.gg</a> </div> <div> <mailto: <a href="mailto:mail@mcl.gg">mail@mcl.gg</a>>> wrote: </div> </blockquote> </blockquote> <div> >> </div> <div> >> Hello John, </div> <div> >> </div> <div> >> I tried (until now) to get a valuable backtrace, but it seems that GDB </div> <div> >> can't resolve all symbols. </div> <div> >> This is what systemd-coredump is giving me: </div> <div> >> </div> <div> >> Stack trace of thread 22359: </div> <div> >> #0 0x0000638167eaf062 event_unref (libdovecot.so.0) </div> <div> >> #1 0x000004a58a212151 n/a (dict) </div> <div> >> #2 0x000004a58a211333 n/a (dict) </div> <div> >> #3 0x000004a58a20514d n/a (dict) </div> <div> >> #4 0x0000638167e556f2 dict_transaction_begin (libdovecot.so.0) </div> <div> >> #5 0x000004a58a203b06 n/a (dict) </div> <div> >> #6 0x000004a58a2045ff dict_command_input (dict) </div> <div> >> #7 0x000004a58a202a31 n/a (dict) </div> <div> >> #8 0x000004a58a202b35 n/a (dict) </div> <div> >> #9 0x0000638167eaacfd io_loop_call_io (libdovecot.so.0) </div> <div> >> #10 0x0000638167eac635 io_loop_handler_run_internal (libdovecot.so.0) </div> <div> >> #11 0x0000638167eaadc7 io_loop_handler_run (libdovecot.so.0) </div> <div> >> #12 0x0000638167eaaf68 io_loop_run (libdovecot.so.0) </div> <div> >> #13 0x0000638167e1b36a master_service_run (libdovecot.so.0) </div> <div> >> #14 0x000004a58a202300 main (dict) </div> <div> >> #15 0x0000638167a17223 __libc_start_main (libc.so.6) </div> <div> >> #16 0x000004a58a2023fe _start (dict) </div> <div> >> </div> <div> >> GDB's "bt full" won't give anything more here, I might compile Dovecot </div> <div> >> with debug symbols enabled as soon as I have a little more time: </div> <div> >> </div> <div> >> (gdb) bt full </div> <div> >> #0 0x0000638167eaf062 in event_unref () from </div> <div> >> /usr/lib/dovecot/libdovecot.so.0 </div> <div> >> No symbol table info available. </div> <div> >> #1 0x000004a58a212151 in ?? () </div> <div> >> No symbol table info available. </div> <div> >> #2 0x000004a58a211333 in ?? () </div> <div> >> No symbol table info available. </div> <div> >> #3 0x000004a58a20514d in ?? () </div> <div> >> No symbol table info available. </div> <div> >> #4 0x0000638167e556f2 in dict_transaction_begin () from </div> <div> >> /usr/lib/dovecot/libdovecot.so.0 </div> <div> >> No symbol table info available. </div> <div> >> #5 0x000004a58a203b06 in ?? () </div> <div> >> No symbol table info available. </div> <div> >> #6 0x000004a58a2045ff in dict_command_input () </div> <div> >> No symbol table info available. </div> <div> >> #7 0x000004a58a202a31 in ?? () </div> <div> >> No symbol table info available. </div> <div> >> #8 0x000004a58a202b35 in ?? () </div> <div> >> No symbol table info available. </div> <div> >> #9 0x0000638167eaacfd in io_loop_call_io () from </div> <div> >> /usr/lib/dovecot/libdovecot.so.0 </div> <div> >> No symbol table info available. </div> <div> >> #10 0x0000638167eac635 in io_loop_handler_run_internal () from </div> <div> >> /usr/lib/dovecot/libdovecot.so.0 </div> <div> >> No symbol table info available. </div> <div> >> #11 0x0000638167eaadc7 in io_loop_handler_run () from </div> <div> >> /usr/lib/dovecot/libdovecot.so.0 </div> <div> >> No symbol table info available. </div> <div> >> #12 0x0000638167eaaf68 in io_loop_run () from </div> <div> >> /usr/lib/dovecot/libdovecot.so.0 </div> <div> >> No symbol table info available. </div> <div> >> #13 0x0000638167e1b36a in master_service_run () from </div> <div> >> /usr/lib/dovecot/libdovecot.so.0 </div> <div> >> No symbol table info available. </div> <div> >> #14 0x000004a58a202300 in main () </div> <div> >> No symbol table info available. </div> <div> >> </div> <div> >> - Marcel </div> <div> >> </div> <div> >> Am 03.02.2019 um 09:08 schrieb John Fawcett: </div> <div> >>> On 01/02/2019 20:40, Marcel Menzel wrote: </div> <div> >>>> Hello, </div> <div> >> >> </div> <div> >> >> After I configured a SQLite backed dict quota backend, the dict </div> <div> >> process </div> <div> >> >> crashes every time a quota operation is happening. </div> <div> >> >> </div> <div> >> >> SQLite: 3.26.0 </div> <div> >> >> </div> <div> >> >> Dovecot: 2.3.4 (0ecbaf23d) </div> <div> >> >> </div> <div> >> >> Linux: 4.20.4.a-1-hardened #1 SMP PREEMPT Fri Jan 25 01:24:51 CET </div> <div> >> 2019 </div> <div> >> >> x86_64 GNU/Linux (Arch Linux) </div> <div> >> >> </div> <div> >> >> Filesystem: BTRFS </div> <div> >> >> </div> <div> >> >> </div> <div> >> >> I can't get any debug output from Dovecot, even after setting </div> <div> >> log_debug </div> <div> >> >> = cat:* event:* source:* field:*=* </div> <div> >> >> </div> <div> >> >> dovecot[6457]: dict(6687): Debug: sqlite: Finished query 'BEGIN </div> <div> >> >> TRANSACTION' in 0 msecs </div> <div> >> >> dovecot[6457]: dict(6687): Fatal: master: service(dict): child 6687 </div> <div> >> >> killed with signal 11 (core dumped) </div> <div> >> >> </div> <div> >> >> </div> <div> >> >> I've attached the output of dovecot -n and the coredump file from </div> <div> >> >> systemd-coredump. </div> <div> >> >> </div> <div> >> >> </div> <div> >> >> Kind regards, </div> <div> >> >> </div> <div> >> >> Marcel Menzel </div> <div> >> >> </div> <div> >>> Any chance of posting a backtrace? </div> <div> >>> John </div> <div> > </div> <blockquote type="cite"> <div> --- </div> <div> Aki Tuomi </div> </blockquote> </blockquote> <div> <br> </div> <div class="io-ox-signature"> --- <br>Aki Tuomi </div> </body> </html>
Hello Aki, unfortunately, this patch is already in my source files, as patch refuses to apply it: ? -> Applying patch fix-sqlite.patch patching file src/lib-sql/driver-sqlite.c Reversed (or previously applied) patch detected!? Skipping patch. 2 out of 2 hunks ignored -- saving rejects to file src/lib-sql/driver-sqlite.c.rej I verified it by looking in the source code and indeed, this patch is already applied. - Marcel Am 03.02.2019 um 15:25 schrieb Aki Tuomi:> Can you try if applying > > https://github.com/dovecot/core/commit/b291ff1fd61b47639a2db99bd858c9511945f4ab.patch > > > helps? > > Aki >> On 03 February 2019 at 16:20 Marcel Menzel < mail at mcl.gg >> <mailto:mail at mcl.gg>> wrote: >> >> >> Hello Aki, >> >> Arch Linux doesn't have install-able debug symbols for Dovecot. That's >> why I just compiled the package for myself with enabled debug symbols >> (by editing the makepkg.conf). >> >> I've attached the output from gdb's bt full. >> >> - Marcel >> >> Am 03.02.2019 um 14:45 schrieb Aki Tuomi: >>> You need to install debug symbols. Not sure how this is done in arch >>> linux though. >>> Aki >>>> On 03 February 2019 at 15:02 Marcel Menzel < mail at mcl.gg >>>> <mailto:mail at mcl.gg> >>>> <mailto: mail at mcl.gg <mailto:mail at mcl.gg>>> wrote: >> >> >> >> Hello John, >> >> >> >> I tried (until now) to get a valuable backtrace, but it seems that >> GDB >> >> can't resolve all symbols. >> >> This is what systemd-coredump is giving me: >> >> >> >> Stack trace of thread 22359: >> >> #0? 0x0000638167eaf062 event_unref (libdovecot.so.0) >> >> #1? 0x000004a58a212151 n/a (dict) >> >> #2? 0x000004a58a211333 n/a (dict) >> >> #3? 0x000004a58a20514d n/a (dict) >> >> #4? 0x0000638167e556f2 dict_transaction_begin (libdovecot.so.0) >> >> #5? 0x000004a58a203b06 n/a (dict) >> >> #6? 0x000004a58a2045ff dict_command_input (dict) >> >> #7? 0x000004a58a202a31 n/a (dict) >> >> #8? 0x000004a58a202b35 n/a (dict) >> >> #9? 0x0000638167eaacfd io_loop_call_io (libdovecot.so.0) >> >> #10 0x0000638167eac635 io_loop_handler_run_internal (libdovecot.so.0) >> >> #11 0x0000638167eaadc7 io_loop_handler_run (libdovecot.so.0) >> >> #12 0x0000638167eaaf68 io_loop_run (libdovecot.so.0) >> >> #13 0x0000638167e1b36a master_service_run (libdovecot.so.0) >> >> #14 0x000004a58a202300 main (dict) >> >> #15 0x0000638167a17223 __libc_start_main (libc.so.6) >> >> #16 0x000004a58a2023fe _start (dict) >> >> >> >> GDB's "bt full" won't give anything more here, I might compile >> Dovecot >> >> with debug symbols enabled as soon as I have a little more time: >> >> >> >> (gdb) bt full >> >> #0? 0x0000638167eaf062 in event_unref () from >> >> /usr/lib/dovecot/libdovecot.so.0 >> >> No symbol table info available. >> >> #1? 0x000004a58a212151 in ?? () >> >> No symbol table info available. >> >> #2? 0x000004a58a211333 in ?? () >> >> No symbol table info available. >> >> #3? 0x000004a58a20514d in ?? () >> >> No symbol table info available. >> >> #4? 0x0000638167e556f2 in dict_transaction_begin () from >> >> /usr/lib/dovecot/libdovecot.so.0 >> >> No symbol table info available. >> >> #5? 0x000004a58a203b06 in ?? () >> >> No symbol table info available. >> >> #6? 0x000004a58a2045ff in dict_command_input () >> >> No symbol table info available. >> >> #7? 0x000004a58a202a31 in ?? () >> >> No symbol table info available. >> >> #8? 0x000004a58a202b35 in ?? () >> >> No symbol table info available. >> >> #9? 0x0000638167eaacfd in io_loop_call_io () from >> >> /usr/lib/dovecot/libdovecot.so.0 >> >> No symbol table info available. >> >> #10 0x0000638167eac635 in io_loop_handler_run_internal () from >> >> /usr/lib/dovecot/libdovecot.so.0 >> >> No symbol table info available. >> >> #11 0x0000638167eaadc7 in io_loop_handler_run () from >> >> /usr/lib/dovecot/libdovecot.so.0 >> >> No symbol table info available. >> >> #12 0x0000638167eaaf68 in io_loop_run () from >> >> /usr/lib/dovecot/libdovecot.so.0 >> >> No symbol table info available. >> >> #13 0x0000638167e1b36a in master_service_run () from >> >> /usr/lib/dovecot/libdovecot.so.0 >> >> No symbol table info available. >> >> #14 0x000004a58a202300 in main () >> >> No symbol table info available. >> >> >> >> - Marcel >> >> >> >> Am 03.02.2019 um 09:08 schrieb John Fawcett: >> >>> On 01/02/2019 20:40, Marcel Menzel wrote: >> >>>> Hello, >> >> >> >> >> >> After I configured a SQLite backed dict quota backend, the dict >> >> process >> >> >> crashes every time a quota operation is happening. >> >> >> >> >> >> SQLite: 3.26.0 >> >> >> >> >> >> Dovecot: 2.3.4 (0ecbaf23d) >> >> >> >> >> >> Linux: 4.20.4.a-1-hardened #1 SMP PREEMPT Fri Jan 25 01:24:51 CET >> >> 2019 >> >> >> x86_64 GNU/Linux (Arch Linux) >> >> >> >> >> >> Filesystem: BTRFS >> >> >> >> >> >> >> >> >> I can't get any debug output from Dovecot, even after setting >> >> log_debug >> >> >> = cat:* event:* source:* field:*=* >> >> >> >> >> >> dovecot[6457]: dict(6687): Debug: sqlite: Finished query 'BEGIN >> >> >> TRANSACTION' in 0 msecs >> >> >> dovecot[6457]: dict(6687): Fatal: master: service(dict): child >> 6687 >> >> >> killed with signal 11 (core dumped) >> >> >> >> >> >> >> >> >> I've attached the output of dovecot -n and the coredump file from >> >> >> systemd-coredump. >> >> >> >> >> >> >> >> >> Kind regards, >> >> >> >> >> >> Marcel Menzel >> >> >> >> >>> Any chance of posting a backtrace? >> >>> John >> > >>> --- >>> Aki Tuomi > > --- > Aki Tuomi-------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20190203/22a13339/attachment-0001.html>