{"id":1711,"date":"2016-03-26T17:05:02","date_gmt":"2016-03-26T21:05:02","guid":{"rendered":"http:\/\/scripts.mit.edu\/~zong\/wpress\/?p=1711"},"modified":"2016-03-26T17:05:52","modified_gmt":"2016-03-26T21:05:52","slug":"google-marks-bugs-it-doesnt-want-to-deal-with-as-obsolete","status":"publish","type":"post","link":"https:\/\/blog.yhuang.org\/?p=1711","title":{"rendered":"Google marks bugs it doesn&#8217;t want to deal with as &#8216;obsolete&#8217;"},"content":{"rendered":"<p>Apparently Google has a habit of marking bugs it doesn&#8217;t want to deal with as obsolete. According to Google&#8217;s own <a href=\"https:\/\/source.android.com\/source\/life-of-a-bug.html\">Life of a Bug<\/a> explainer, a bug categorized as &#8220;Obsolete&#8221; means,<\/p>\n<blockquote><p>Obsolete: Similar to Unreproducible, but with a reasonable certainty that the bug did exist in the reported version but was already fixed in a later release.<\/p><\/blockquote>\n<p>&#8230;which is a lie. I give two pieces of solid evidence for why this is a lie.<br \/>\n<!--more--><br \/>\n<strong>Exhibit A.<\/strong> <a href=\"https:\/\/code.google.com\/p\/android\/issues\/detail?id=38282\">An egregious bug with the Media Transfer Protocol (MTP) on Android<\/a> that has been <a href=\"http:\/\/android.stackexchange.com\/questions\/46315\/not-all-files-are-visible-over-mtp\">reproducible by hundreds, if not thousands of users<\/a>, on practically all Android phones, and has been reported since late 2012, and which still exists to this day in the latest Android Marshmallow, has been marked as &#8220;Obsolete&#8221; in 2014. Now you tell me if this bug is either &#8220;unreproducible&#8221; or &#8220;with a reasonable certainty &#8230; fixed in a later release&#8221;? Persistent users have filed a <a href=\"https:\/\/code.google.com\/p\/android\/issues\/detail?id=195362\">new bug report<\/a> that is now &#8220;Assigned.&#8221; Let&#8217;s see what <em>life outcome<\/em> this <em>incarnation<\/em> of a bug has.<\/p>\n<p><strong>Exhibit B.<\/strong> <a href=\"https:\/\/www.reddit.com\/r\/androiddev\/comments\/2on1fe\/google_closed_11889_android_bugs_last_48_hours\/\">According to Reddit<\/a>, Google closed 11889 bugs (actually 11879) within a couple of days with the status &#8220;Obsolete&#8221; in December 2014, the above-mentioned bug among them. In comparison, the total number of bugs closed in the same period was only 11988, so this was a massive purge. Now, it is not humanly possible to evaluate nearly twelve thousand bugs in two days to determine whether &#8220;with a reasonable certainty &#8230; the bug did exist &#8230; but was already fixed.&#8221; The logical conclusion is therefore <em>nobody bothered to look at these bugs<\/em> and <em>nobody bothered to triage<\/em> when they reached potential end-of-life. Sounds like a broken bug handling system to me.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apparently Google has a habit of marking bugs it doesn&#8217;t want to deal with as obsolete. According to Google&#8217;s own Life of a Bug explainer, a bug categorized as &#8220;Obsolete&#8221; means, Obsolete: Similar to Unreproducible, but with a reasonable certainty that the bug did exist in the reported version but was already fixed in a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3137,3189,3188,324,3190,3130,3187,3191],"class_list":["post-1711","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-android","tag-epistemology","tag-existence","tag-google","tag-media-transfer-protocol","tag-reddit","tag-software-bug","tag-unreproducible"],"_links":{"self":[{"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=\/wp\/v2\/posts\/1711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1711"}],"version-history":[{"count":2,"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=\/wp\/v2\/posts\/1711\/revisions"}],"predecessor-version":[{"id":1713,"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=\/wp\/v2\/posts\/1711\/revisions\/1713"}],"wp:attachment":[{"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.yhuang.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}