Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 1D5E9431FB6 for ; Thu, 17 Jul 2014 17:11:40 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.7 X-Spam-Level: X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BnJ2hvgQZ1y8 for ; Thu, 17 Jul 2014 17:11:36 -0700 (PDT) Received: from dmz-mailsec-scanner-3.mit.edu (dmz-mailsec-scanner-3.mit.edu [18.9.25.14]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 2DB4A431FAE for ; Thu, 17 Jul 2014 17:11:36 -0700 (PDT) X-AuditID: 1209190e-f79946d000007db1-38-53c866379c09 Received: from mailhub-auth-1.mit.edu ( [18.9.21.35]) (using TLS with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by dmz-mailsec-scanner-3.mit.edu (Symantec Messaging Gateway) with SMTP id 71.E9.32177.73668C35; Thu, 17 Jul 2014 20:11:35 -0400 (EDT) Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id s6I0BXN8022140 for ; Thu, 17 Jul 2014 20:11:34 -0400 Received: from approx.mit.edu (pool-71-126-238-231.bstnma.east.verizon.net [71.126.238.231]) (authenticated bits=0) (User authenticated as sanjoy@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id s6I0BVHG024367 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for ; Thu, 17 Jul 2014 20:11:33 -0400 Received: from sanjoy by approx.mit.edu with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1X7vlo-0007O5-Vu for notmuch@notmuchmail.org; Thu, 17 Jul 2014 20:11:29 -0400 From: Sanjoy Mahajan To: notmuch@notmuchmail.org Subject: emacs UI hang: viewing a thread where msg has .tgz attachment with symlink to .. User-Agent: Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.3.1 (i486-pc-linux-gnu) Date: Thu, 17 Jul 2014 20:11:28 -0400 Message-ID: <87fvhzy18v.fsf@approx.mit.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrFKsWRmVeSWpSXmKPExsUixCmqrGuediLYYP1xYYvrN2cyOzB6PFt1 izmAMYrLJiU1J7MstUjfLoErY8GNbewFTzMqGr/MYmtgnJLSxcjJISFgIvFz6VdWCFtM4sK9 9WxdjFwcQgKzmSTezljOAuGcZ5R4ffY9O4TzjkniYvNdJgjnMKPE9rYrjF2MHBxsAqoSf/8H gowSEZCW2Hl3NthYYYFIiaU3TzOD2KICIRI/Z/YwgdgsQOXzvi4As3kFtCWuL/3MAmELSpyc +QTMZhbQl5g9vZt1AiPfLCSpWUhSELaExMEXL5ghbHGJD4dnM0HYJhKXDjyCshUlpnQ/ZJ8F dCmzgLzE4nniCxjZVzHKpuRW6eYmZuYUpybrFicn5uWlFuka6+VmluilppRuYgQHsSTfDsav B5UOMQpwMCrx8D64djxYiDWxrLgy9xCjJAeTkihvZeSJYCG+pPyUyozE4oz4otKc1OJDjCpA qx5tWH2BUYolLz8vVUmEN/s+UCtvSmJlVWpRPkyZNAeLkjjvW2urYCGB9MSS1OzU1ILUIpis DAeHkgSvVyrQAsGi1PTUirTMnBKENBMH5yFGCQ4eoOGfkoFqeIsLEnOLM9Mh8qcYXTnmzTrV xsSxAEwuApNLwOS1v2famITALpMS592YAtQsANKcUZoHNx+WxF4xigO9Lsy7DqSKB5gA4Ta8 AlrOBLRcuhzks+KSRISUVANj9JlDpdrdp6u4GyZWFXQY+hWfr0gvjnfz/8anelO0Z2N4gDFD lsVXuXY1Fw0+DU3LwG9Ln7YePLb4Vua1/ifLLyfEzuw3Xy20M0fN78TGvl9VpR9b81t/zWH/ +3jD3cDPx87w/vxju73t7uc8hfkHP7KH7w01NLofM/VkpN5StgjZ23muTJpKLMUZiYZazEXF iQBZILXvPQMAAA== X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jul 2014 00:11:40 -0000 --=-=-= Content-Type: text/plain When I view one particular thread, in which one of the messages has a .tgz attachment, emacs hangs for at least 2-3 minutes before I stop it with ctrl-g. An strace on the emacs process shows an endless series of stats and opens such as: open("/tmp/emm.3391uhh/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/course/src/sfm-source/book/figures/fig-421.png", O_RDONLY|O_LARGEFILE) = 15 Those are undoubtedly from the message with the .tgz attachment, which all untars to src/ and has src/course as a symlink to ..: $ tar -tvf 6.SFMx-source.tgz | grep src/course lrwxrwxrwx sanjoy/sanjoy 0 2014-04-22 14:59 src/course -> .. So I wonder whether notmuch-emacs is trying to untar the attachment and then makes an ever more nested version of it, and never stops. (As a test, I visited the .tgz file directly in Emacs [with C-x C-f] but that caused no problem. So I think it is something specific to the notmuch emacs interface.) When I ctrl-g the emacs, I get a view of the thread in notmuch-show mode, but perhaps not surprisingly it is slightly incorrect (see attached screenshot). The last message's information and content (from the "Subject:" line onward) should be indented one space to line up under the "Sanjoy Mahajan...07:11". I'm using notmuch and notmuch-emacs 0.18.1-1 (Debian/i386 pkg) and emacs 24.3. If there is further debugging information that would help, or tests that I should run, let me know. -Sanjoy --=-=-= Content-Type: image/png Content-Disposition: attachment; filename=screen.png Content-Transfer-Encoding: base64 Content-Description: screenshot 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 DSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0s VAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQD C9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvV wEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBC NbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWw UA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFAN LFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxU AwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML 1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XA QjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1 sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQ DSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0s VAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQD C9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvV wEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBC NbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWw UA0sVAML1cBCNbBQDSxUAwvVwEI1sFANLFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwEI1sFAN LFQDC9XAQjWwUA0sVAML1cBCNbBQDSxUAwvVwOKt/BfB5D//+e8XAsm/qQaVqMa4v2lsQ3i9915d Fs9mzh7j3mS3zyY+tHi+tivjg17oX17brBrLh/IaP7jRl5Obj1Or6d/0SJEdwEvK5XmBmmeTUjtJ g1rdClcoqmSM7PO6/0trXOLho5g8vnE18072QWo15vl6nppw6terp4t8uZr+Hy1psMb5ci/UpJrk 85Gz8Hq02hQrGnucULNftWmpMdmZJTuyZQKixlg1qiap0hhQY/yyD63m2TwvUNMuyCn2UeOfPQ+o 8e+jUGNSOdn3ps7C0NQN7Xr05ZwUe7VouRr/Vt3htg4kls+zPWldPOAaFmPCo1rmE6e+24SXRq94 VumMzzSlDklSDqJB1Lw0IpJxNe6Mk9NuhhrzHEvDHd61uHUHns6NZ3lpzGTO+6gxoXR03i44M8GP WAorfI1Ky0Kzk8rTdxDXNl1aodLZnFWT9WJ35LZ4FrnxSVLTihbH1Rj/aLLE42pEpnmJ5RIyMn6t LJPEh1fzEt/DeK1JPepLVkSZLvu8aIWezUu2QtIFNWpX10UGs2uN74XG1CyrNa7IJamNkeKyl7xt 1IlfUc14X+PbnrLWmJ3UhKroM4g7MpWaw/Q1coIfWo1v0ESND3MPrca1JFNhQNWglY3c/FqTVbuX LElLzXPeGM5Ro15mYcCMCG2umpe8wng1h47QbEcwnOX7qnFxfVLTPL7jUxOO0uU3qSZqyBqlfFms YrFkfaf+ksUH4X/payo1EgZEIdehh1mk5iVdIZC+JgVT41cDQpfvLYUif75+jmFA3jZK4hCM7mNG Lm+aeGXq+Xrs84bqFp6NKbqKa1n2YlQ1eolRtX96LbH0dQyU231NFn5fp4tj7eBMFVEZX6bCkgjt Ob4aOQ9VoPwSPq662mCuY/Dc6GtefBzizoHDqHldZn4UfUPwjqjkZNXgQzWw/Puf//m/N8D8x1vs 5bj4X/5sAxH+ogYWqoGFamChGlioBhaqgYVqYKEaWKgGFqqBhWpgoRpYqAYWqoGFamChGlioBhaq gYVqYHFS/h91vWxSplY7BQAAABx0RVh0Y29tbWVudABlbWFjc0BhcHByb3gubWl0LmVkdbW2m7QA AAAldEVYdGRhdGU6Y3JlYXRlADIwMTQtMDctMTZUMDY6NDc6NDItMDQ6MDAA3zmcAAAAJXRFWHRk YXRlOm1vZGlmeQAyMDE0LTA3LTE2VDA2OjQ3OjQyLTA0OjAwcYKBIAAAAABJRU5ErkJggg== --=-=-=--