{"id":2596,"date":"2013-04-17T16:55:01","date_gmt":"2013-04-17T05:55:01","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=2596"},"modified":"2013-04-17T16:55:01","modified_gmt":"2013-04-17T05:55:01","slug":"memshrink-progress-week-95-96","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2013\/04\/17\/memshrink-progress-week-95-96\/","title":{"rendered":"MemShrink progress, week 95\u201396"},"content":{"rendered":"<h3>B2G Fixes<\/h3>\n<p>Kyle Huey <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=854799\">made <code>image.src=''<\/code> discard the image immediately even if the image is not in the document<\/a>.\u00a0 This provides a way for image memory to be discarded immediately, which is important for some B2G apps such as the Gallery app.\u00a0 This was a MemShrink:P1 bug.<\/p>\n<p>Justin Lebar <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=857653\">fixed a bad leak in AudioChannelAgent<\/a>.<\/p>\n<p>Mike Habicher <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=860395\">fixed an image-related leak<\/a> that was manifesting on B2G.<\/p>\n<h3>Other Fixes<\/h3>\n<p>I <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=848560\">exposed the existing JSON memory report dumping functionality in about:memory<\/a>.\u00a0 As a result, <a title=\"Permalink to Gzipped JSON is now the preferred format for attaching memory report data to bugs\" href=\"https:\/\/blog.mozilla.org\/nnethercote\/2013\/04\/10\/gzipped-json-is-now-the-preferred-format-for-attaching-memory-report-data-to-bugs\/\" rel=\"bookmark\">gzipped JSON is now the preferred format for attaching memory report data to bugs<\/a>.\u00a0 This was a MemShrink:P1 bug.<\/p>\n<p>Honza Bambas <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=600307\">overhauled the DOM storage code<\/a>.\u00a0 Apparently this might reduce memory consumption, but I fully admit to not knowing the details.<\/p>\n<p>Nicolas Silva <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=856080\">fixed a leak in layers code relating to OMTC<\/a>.<\/p>\n<p>I <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=859657\">removed the MEMORY_EXPLICIT telemetry measurement<\/a>.\u00a0 I didn&#8217;t want to do this, but it&#8217;s been causing hangs for some users, and those hangs are hard to avoid due to the complexity of reporting memory consumption from web workers.\u00a0 Furthermore, in practice the measurement was sufficiently noisy that we&#8217;ve never gotten anything useful from it.<\/p>\n<h3>Help Needed<\/h3>\n<p>Mozilla code uses a mixture of fallible and infallible allocations.\u00a0 In theory, any allocation that could allocate a large amount of memory (e.g. a few hundred KiB or more) should use a fallible allocator.\u00a0 We&#8217;ve seen recently some cases where large allocations were being made infallibly, which led to OOM crashes.\u00a0 <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=862592\">Bug 862592<\/a> proposes adding an assertion to the infallible allocators that the request size isn&#8217;t too large.\u00a0 This is an easy bug to get started with, if anyone is interested.\u00a0 Details are in the bug.<\/p>\n<h3>Bug Counts<\/h3>\n<p>Here are the current bug counts.<\/p>\n<ul>\n<li>P1: 15 (-4\/+4)<\/li>\n<li>P2: 145 (-0\/+7)<\/li>\n<li>P3: 131 (-2\/+4)<\/li>\n<li>Unprioritized: 5 (-1\/+5)<\/li>\n<\/ul>\n<h3>Interregnum<\/h3>\n<p>I will be on vacation during May.\u00a0 As a result, there will be no MemShrink reports for the next three fortnights.\u00a0 (Although I&#8217;ll be away for just over four weeks, that period covers three MemShrink meetings.)\u00a0 I&#8217;ll be back with the next report on June 11.\u00a0 See you then!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>B2G Fixes Kyle Huey made image.src=&#8221; discard the image immediately even if the image is not in the document.\u00a0 This provides a way for image memory to be discarded immediately, which is important for some B2G apps such as the Gallery app.\u00a0 This was a MemShrink:P1 bug. Justin Lebar fixed a bad leak in AudioChannelAgent. [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4550,4261,4544,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2596"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/comments?post=2596"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2596\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=2596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=2596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=2596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}