Google has stalled the rollout of its Chrome 79 Web browser for Android devices until it can find a way to neutralize a data-destroying bug. Affected users have been vilifying Google and app developers for failing to head off the problem.
The latest Chrome version contains two highly anticipated new features: phishing protection, and the ability to reorder bookmarks.
Google started rolling out Chrome 79 on Dec. 10, last Wednesday.
App developers and users began reporting a problem with missing data in some of their Android apps by Friday morning, Dec. 13.
As a result, Google on Saturday temporarily suspended the Chrome 79 rollout to Android devices. Google officials said the rollout had reached 50 percent of Android users.
A patch for the problem will be available in five to seven days, according to Google. Until then the rollout will not continue.
The bug wipes data in certain apps that use Android’s built-in WebView, the component that renders Web pages inside of apps. Chrome kicks in to load content when users log into a Web page inside an app, or if the default Android browser lacks its own internal rendering engine.
“It is rare for Google Chrome to let a bug like this leak through,” said Thomas Hatch, CTO of SaltStack.
“Google has certainly had bugs in releases, but Chrome and the Chromium platform are tested extensively to prevent these issues,” he told LinuxInsider.
The change Google made to the Chrome 79 WebView code that its development team believes caused the problem occurred in a beta version six weeks ago. Had the issue been picked up at that point, Google would have been able to address it before it significantly impacted users, suggested a Google software engineer in a forum post on Sunday.
Google engineers are fairly certain the missing data is the result of a change in storage location. However, patching that code to eliminate the problem is still challenging engineers. So far no guarantee exists that the patch will return the missing data to the impacted Android apps.
Some Android apps run inside WebView. This includes applications built with Apache Cordova or packaged Web apps like Twitter Lite.
The malfunction appears related to a change in how Chrome 79 handles the location where Web data is stored. When devices were updated to Chrome 79, Web apps and WebView applications had some (or all) local data rendered unreachable for viewing. Chrome did not delete old data after the migration. That data may still be intact but is inaccessible now.
2 Local Storage Containers on Mobile Devices
Mobile devices such as Android phones and tablets rely on localStorage and WebSQL locations to provide storage mechanisms. They allow a website or Web app to store data on a user’s device inside a user’s Chrome profile directory.
Some Android app developers prefer to upload user data to dedicated database servers. Some websites still use localStorage or WebSQL locally, however. Many mobile app developers use localStorage and WebSQL stored locally on mobile devices.
In practice, many Android apps typically are just a website loaded inside the WebView component. This process functions as a light version of Chrome. It is a simpler, more compact method for saving user settings and data locally than an on-board SQLite database.
The two most obvious solutions to regaining access to the “deleted” data is to continue the migration by moving the missed files into their new locations, or to reverse the change by moving migrated files to their old locations, according to Google. Yet developer comments on the Chromium Bug Forum do not fully support either solution. The most common opinion is to wait out the problem and hope that Google can resolve all of the issues is a speedy patch issued this week.
Google Chrome developers are not fully confident they can salvage or retrieve the missing user data left behind in the older localStorage and WebSQL files. On some devices the Chrome update process actually might have wiped the data. A cleanup app process might have deleted the data after the update operation, according to explanations from Google engineers on tech forums.
In attempting to fix the mess, another problem could result from moving the old files to the new location. That could overwrite new files the user created since the update installed, leading again to data loss.
A Waiting Game
Users whose devices have yet to be updated to Chrome 79 may not be subjected to the bug when the new version includes the fix, according to some software workers. They advise against deploying it if they run WebView apps, however.
The problem with Chrome 79 is that people are losing their data. Google is working on solutions, but there is not much those who have lost data can do at this point, according to hardware technician Steve Foley, CEO of Bulk Memory Cards.
“The best thing people can do now is wait for a revised Chrome 79. There is not even a list of apps it impacts, so without knowing what data is at risk the best course of action is to avoid using Chrome 79 until the issue has been corrected,” he told LinuxInsider.
App developers flooded the Chromium bug Tracker forum with diatribes about what some described as a “catastrophe” and a “disaster.” After the rollout, end users found the affected apps appeared to have experienced a reset and then functioned as a new install with no saved data or log-in credentials intact.
App developers on various forums decried the snafu for damaging their reputations. They complained that many affected users deleted their apps. Other devs reported that users were posting very negative reviews focusing on their particular app’s unreliability due to the data loss.
Google did not respond to our request for an update on the patch progress.