Google Cloud Services has let us know that they've discovered the source of the storage layer problem that was affecting App Inventor between December 11 and December 18.  It had to do with an update to a piece of the infrastructure that they had just started rolling out.  We regret that some people have lost work, but at least we can be have some confidence that this particular failure has been resolved.  Even so, as always, it's best to maintain local backups of large projects whenever you can.

Information below this line documents the history of this incident. Feel free to ignore it.


NOTE: WE BELIEVE THE PROBLEMS ARE FIXED. However it is always a good idea to backup your projects and keep copies of your sounds, images, etc.

Summary: Beginning on December 11, we were having problems with storing “assets” (image, sounds and other objects that you upload to your projects) on the Google servers.  This made make it look like some images (or other assets) were missing when people loaded their. projects.   We worked with Google, and resolved those problems on December 18 by updating some of the libraries that App Inventor uses.

Although the problems are resolved, it is always a good idea to keep copies of your assets (images and music) on your local computer, in case similar problems should occur in the future.

Here is some information we published while the problems were occurring.  We’re keeping it here as a matter of general interest.

If we fail to read an asset when you load your project, we substitute a zero-length file. Be careful exporting your projects, as assets may be missing from the “.aia” file exported. Make sure you keep a local copy of your assets on your own computer.

We have been making modifications to the system to mitigate the worst of the problems. In particular we will never serve up a missing asset to the “buildserver” when you package an App. This ensure that if you successfully package an App, the resulting APK is valid. If we fail to read an asset, you will get a “Build Failed” message. If this happens, just keep trying the build. It may work the second or third time around. If it never seems to work, you can remove your assets from your project and upload them again. This may help.


UPDATES

UPDATE: December 18, 2014 21:00 US Eastern Time (UTC-5)

Working with Google Engineers we were able to diagnose and solve the problems that were causing assets to not load properly. The system should be operating normally again.

UPDATE: December 17, 2014 21:15 US Eastern Time (UTC-5)

We have changed the way we are storing assets (images etc.) If you continue to have problems, re-upload your assets. They will then be stored in a different storage system at Google, one that appears to still be working. Once you do this, you should be able to use/build your projects normally.

UPDATE: December 16, 2014 18:50 US Eastern Time (UTC-5)

We are continuing to work with Google. The occurrence of errors in the logs are decreasing. So this problem is likely affecting fewer people.

UPDATE: December 14, 2014 21:30 US Eastern Time (UTC-5)

We have updated MIT App Inventor to ensure that if you package your App and the “build” succeeds, your resulting APK file (the packaged App) will be valid. If we have trouble fetching an asset during the build, the build will fail. If a build fails for you, try it several times. See the advice in the summary above for more information.

UPDATE: December 14, 2014 13:44 US Eastern Time (UTC-5)

We continue to work this issue. The error rate is currently modest. Things to keep in mind:

UPDATE: December 14, 2014 10:10 US Eastern Time (UTC-5)

Our logs logs are still reporting errors in retrieving files from Google Cloud Storage.   We do not know the cause of the errors, and are working on the issue with Google Support.  Until this is fixed, you may find that some images have “vanished” when you go to work on your project.   It appears to us that these images are still on the App Inventor server, so simply switching away from the project and switching back might help.   But also, as you are working, be sure to keep copies of your images and other media on your local machine, so that you can upload them again if necessary.  

UPDATE: December 13, 2014 17:05 US Eastern Time (UTC-5)

We have deployed a new version of MIT App Inventor. This version has some more aggressive retry code to attempt to fetch assets that are giving us errors when we fetch them from the Cloud Store. It also has some additional logging that may help us get closer to the ultimate solution.

UPDATE: December 13, 2014 13:40 US Eastern Time (UTC-5)

We are aware that problems are continuing. Sometimes particular assets are unavailable (they show up as zero length) and then re-appear later. We are actively investigating the problem and apologize for the inconvenience.

UPDATE: December 11, 2014 23:15 US Eastern Time (UTC-5)

We have deployed the fix so that projects with a zero length asset should now behave properly.

UPDATE: December 11, 2014 14:00 US Eastern Time (UTC-5)

We have identified a bug in MIT App Inventor where if you upload a zero length asset (aka an empty file), your project will become corrupt. In particular you will not be able to build it, export it or checkpoint it. However you can continue to work with it.

We have a fix, which we anticipate deploying this evening. Once deployed, all projects affected by this bug will work normally again.

December 11, 2014 11:30AM US Eastern Time (UTC-5)

If you are having problems loading or exporting your projects (you see the “red bar” with an error message). This *may* be caused by a problem that appears to be in the Google Cloud Storage (which we use for storing projects). Some projects lost assets (images, sounds, etc.). When this happens the project becomes corrupt and won’t load.

Although we cannot recover any assets that were lost, we are working on a modification to App Inventor that will permit your project to load, even if assets were lost. You will have to re-upload the assets and then your project should be fine.

We apologize for this inconvenience. We will update the “splash screen” and this document when we have more information.

-The MIT App Inventor development team