[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