[Dovecot] Out of memory problem

Neil Wilson neilw at dcdata.co.za
Wed Feb 8 10:28:46 EET 2006


-- 
Neil Wilson
DcData
support at dcdata.co.za
support: 0860-1-LINUX
http://www.dcdata.co.za
Powered by Linux, driven by passion!


Timo Sirainen wrote:
> These kinds of problems are a bit difficult to debug. One thing you
> could do is check with gdb where it dies:
> 
> ulimit -v 131072
> MAIL=/home/user/Maildir gdb /usr/local/libexec/dovecot/imap
> b i_fatal_status
> run
> 
> x select "Saved mails.Legal.Company register"
 > Does it crash here already? If not, do another command:
Yes it crashed at this step.
Below is the bt full output.

(gdb) bt full
#0  i_fatal_status (status=83, format=0x46f858 "pool_system_malloc(): 
Out of memory") at failures.c:187
         args = {{gp_offset = 5867792, fp_offset = 0, overflow_arg_area 
= 0x2aaaaad2d9cf, reg_save_area = 0x2ab2ab0008c0}}
#1  0x000000000045dcd0 in pool_system_malloc (pool=<value optimized 
out>, size=<value optimized out>)
     at mempool-system.c:73
         mem = <value optimized out>
#2  0x0000000000459604 in i_malloc (size=<value optimized out>) at imem.c:9
No locals.
#3  0x000000000043dec6 in mail_index_keywords_create_from_indexes 
(t=0x5990e0, keyword_indexes=0x7fffffffdfe0)
     at mail-index-transaction.c:905
         k = <value optimized out>
         count = <value optimized out>
#4  0x000000000041e779 in maildir_sync_index_finish (sync_ctx=0x598820, 
partial=0) at maildir-sync.c:1049
         kw = (struct mail_keywords *) 0x7fffffffdfd0
         mbox = (struct maildir_mailbox *) 0x594e20
         view = (struct mail_index_view *) 0x598910
         iter = (struct maildir_uidlist_iter_ctx *) 0x599380
         trans = (struct mail_index_transaction *) 0x5990e0
         hdr = (const struct mail_index_header *) 0x598990
         rec = <value optimized out>
         seq = <value optimized out>
         uid = <value optimized out>
         uflags = <value optimized out>
         filename = <value optimized out>
         flags = <value optimized out>
         keywords = {buffer = 0x583800, element_size = 4}
         idx_keywords = {buffer = 0x5838f0, element_size = 4}
         uid_validity = <value optimized out>
         next_uid = 0
         value = <value optimized out>
         old_new_sync_time = <value optimized out>
         ret = 0
         full_rescan = 0
#5  0x000000000041eaaa in maildir_sync_context (ctx=0x5833e0, 
forced=<value optimized out>,
     sync_last_commit=<value optimized out>) at maildir-sync.c:1268
         ret = 0
         new_changed = 1
         cur_changed = 1
         full_rescan = 0
#6  0x000000000041ecbc in maildir_storage_sync_init (box=0x594e20, 
flags=MAILBOX_SYNC_FLAG_FULL_READ)
     at maildir-sync.c:1325
         mbox = <value optimized out>
---Type <return> to continue, or q <return> to quit---
         ctx = (struct maildir_sync_context *) 0x5833e0
         ret = 0
#7  0x000000000044a187 in mailbox_sync_init (box=<value optimized out>, 
flags=<value optimized out>) at mail-storage.c:336
No locals.
#8  0x0000000000419500 in imap_sync_nonselected (box=<value optimized 
out>, flags=<value optimized out>)
     at imap-sync.c:171
         ctx = <value optimized out>
         sync_rec = {seq1 = 5820128, seq2 = 0, type = 5821688}
         status = {messages = 0, recent = 0, unseen = 0, uidvalidity = 
0, uidnext = 5821568, first_unseen_seq = 0,
   keywords = 0x58d480}
#9  0x000000000041286f in _cmd_select_full (cmd=0x58d4f8, readonly=0) at 
cmd-select.c:39
         client = (struct client *) 0x58d480
         storage = (struct mail_storage *) 0x58cee0
         box = (struct mailbox *) 0x594e20
         status = {messages = 5830872, recent = 0, unseen = 5821688, 
uidvalidity = 0, uidnext = 5821568,
   first_unseen_seq = 0, keywords = 0x58bdf0}
         mailbox = <value optimized out>
#10 0x00000000004140b4 in _client_input (context=<value optimized out>) 
at client.c:334
         client = (struct client *) 0x58d480
         cmd = (struct client_command_context *) 0x58d4f8
#11 0x000000000045bbd3 in io_loop_handler_run (ioloop=0x58bda0) at 
ioloop-poll.c:184
         ctx = (struct ioloop_handler_context *) 0x58bdf0
         pollfd = <value optimized out>
         tv = {tv_sec = 9, tv_usec = 999314}
         io = (struct io *) 0x58d780
         t_id = 2
         msecs = <value optimized out>
         ret = 0
         call = <value optimized out>
#12 0x000000000045b12c in io_loop_run (ioloop=0x58bda0) at ioloop.c:230
No locals.
#13 0x000000000041b0c6 in main (argc=<value optimized out>, 
argv=0x7fffffffe2d8, envp=0x7fffffffe2e8) at main.c:229
No locals.
(gdb)

> still contained debugging information (maybe run it with src/imap/imap
> instead in Dovecot's source directory where it's at least not stripped).
Now run with src/imap/imap

(gdb) bt full
#0  i_fatal_status (status=83, format=0x46f858 "pool_system_malloc(): 
Out of memory") at failures.c:187
         args = {{gp_offset = 5867792, fp_offset = 0, overflow_arg_area 
= 0x2aaaaad2d9cf, reg_save_area = 0x2ab2ab0008c0}}
#1  0x000000000045dcd0 in pool_system_malloc (pool=<value optimized 
out>, size=<value optimized out>)
     at mempool-system.c:73
         mem = <value optimized out>
#2  0x0000000000459604 in i_malloc (size=<value optimized out>) at imem.c:9
No locals.
#3  0x000000000043dec6 in mail_index_keywords_create_from_indexes 
(t=0x5990e0, keyword_indexes=0x7fffffffdfd0)
     at mail-index-transaction.c:905
         k = <value optimized out>
         count = <value optimized out>
#4  0x000000000041e779 in maildir_sync_index_finish (sync_ctx=0x598820, 
partial=0) at maildir-sync.c:1049
         kw = (struct mail_keywords *) 0x7fffffffdfc0
         mbox = (struct maildir_mailbox *) 0x594e20
         view = (struct mail_index_view *) 0x598910
         iter = (struct maildir_uidlist_iter_ctx *) 0x599380
         trans = (struct mail_index_transaction *) 0x5990e0
         hdr = (const struct mail_index_header *) 0x598990
         rec = <value optimized out>
         seq = <value optimized out>
         uid = <value optimized out>
         uflags = <value optimized out>
         filename = <value optimized out>
         flags = <value optimized out>
         keywords = {buffer = 0x583800, element_size = 4}
         idx_keywords = {buffer = 0x5838f0, element_size = 4}
         uid_validity = <value optimized out>
         next_uid = 0
         value = <value optimized out>
         old_new_sync_time = <value optimized out>
         ret = 0
         full_rescan = 0
#5  0x000000000041eaaa in maildir_sync_context (ctx=0x5833e0, 
forced=<value optimized out>,
     sync_last_commit=<value optimized out>) at maildir-sync.c:1268
         ret = 0
         new_changed = 1
         cur_changed = 1
         full_rescan = 0
#6  0x000000000041ecbc in maildir_storage_sync_init (box=0x594e20, 
flags=MAILBOX_SYNC_FLAG_FULL_READ)
     at maildir-sync.c:1325
         mbox = <value optimized out>
---Type <return> to continue, or q <return> to quit---
         ctx = (struct maildir_sync_context *) 0x5833e0
         ret = 0
#7  0x000000000044a187 in mailbox_sync_init (box=<value optimized out>, 
flags=<value optimized out>) at mail-storage.c:336
No locals.
#8  0x0000000000419500 in imap_sync_nonselected (box=<value optimized 
out>, flags=<value optimized out>)
     at imap-sync.c:171
         ctx = <value optimized out>
         sync_rec = {seq1 = 5820128, seq2 = 0, type = 5821688}
         status = {messages = 0, recent = 0, unseen = 0, uidvalidity = 
0, uidnext = 5821568, first_unseen_seq = 0,
   keywords = 0x58d480}
#9  0x000000000041286f in _cmd_select_full (cmd=0x58d4f8, readonly=0) at 
cmd-select.c:39
         client = (struct client *) 0x58d480
         storage = (struct mail_storage *) 0x58cee0
         box = (struct mailbox *) 0x594e20
         status = {messages = 5830872, recent = 0, unseen = 5821688, 
uidvalidity = 0, uidnext = 5821568,
   first_unseen_seq = 0, keywords = 0x58bdf0}
         mailbox = <value optimized out>
#10 0x00000000004140b4 in _client_input (context=<value optimized out>) 
at client.c:334
         client = (struct client *) 0x58d480
         cmd = (struct client_command_context *) 0x58d4f8
#11 0x000000000045bbd3 in io_loop_handler_run (ioloop=0x58bda0) at 
ioloop-poll.c:184
         ctx = (struct ioloop_handler_context *) 0x58bdf0
         pollfd = <value optimized out>
         tv = {tv_sec = 9, tv_usec = 999173}
         io = (struct io *) 0x58d780
         t_id = 2
         msecs = <value optimized out>
         ret = 0
         call = <value optimized out>
#12 0x000000000045b12c in io_loop_run (ioloop=0x58bda0) at ioloop.c:230
No locals.
#13 0x000000000041b0c6 in main (argc=<value optimized out>, 
argv=0x7fffffffe2c8, envp=0x7fffffffe2d8) at main.c:229
No locals.
(gdb)



-- 
This email and all contents are subject to the following disclaimer:
http://www.dcdata.co.za/emaildisclaimer.html



More information about the dovecot mailing list