In my current maildir mailbox, I have some messages[*] with big Cc (several hundreds of addresses). When I want to move to the page of the index where these big messages appear, Mutt hangs for a few seconds (taking CPU time) before displaying this page. The strace contains something like:
[...] 16:53:19 stat("/home/vlefevre/Mail/Maildir/new", {st_mode=S_IFDIR|0700, st_size=61440, ...}) = 0 16:53:19 stat("/home/vlefevre/Mail/Maildir/cur", {st_mode=S_IFDIR|0700, st_size=237568, ...}) = 0 16:53:19 write(1, "\33[?25l", 6) = 6 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 brk(0x55e7954a7000) = 0x55e7954a7000 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 brk(0x55e7954c8000) = 0x55e7954c8000 16:53:19 brk(0x55e7954e9000) = 0x55e7954e9000 16:53:19 brk(0x55e79550a000) = 0x55e79550a000 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:19 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:20 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:20 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:20 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:20 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:20 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:21 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:21 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:21 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:21 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 16:53:22 stat("/home/vlefevre/Mail/postponed", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 [...] The hangs is due to this big Cc and the "subscribe" / "lists" commands in my muttrc. Is this hang expected or could the efficiency be improved? This may be a corner case, but note also that spammers can send similar messages. [*] The cause here is: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776073;msg=20 (the Cc doesn't appear in this message, but another message has been is generated by the Debian BTS as a consequence of this one). -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)