2 Replies Latest reply on Sep 24, 2010 11:47 AM by seaneyefi

    Errors when accessing Encrypted Local Storage

    seaneyefi

      Hi there,

       

      I develop an AIR application and some of the users of the application are running into an issue when accessing Encryped Local Storage. Sometimes, when the application tries to put or retrieve an item from Encrypted Local Storage, these errors are reported:

       

      Error: general internal error

      EncryptedLocalStore database access error

       

      I've searched around a little and it appears that these errors occur for a variety of reasons. Sounds like corruption to the user's keychain can result in this error being thrown (repairing the keychain was mentioned as a possible solution in one blog post). This same error happens to some Linux users (http://kb2.adobe.com/cps/492/cpsid_49267.html) when switching between Gnome and KDE desktops too. http://blogs.adobe.com/koestler/2009/07/unreadable_encrypted_local_sto.html seems to suggest that changing of usernames on the machine can have an impact on how the ELS is accessed.

       

      In terms of a solution to this issue, I've seen multiple posts online asking the user to delete the ELS directory on their computer. While this 'solution' works for some users of the application I develop, it doesn't work for other users. http://forums.adobe.com/thread/239605 seems to suggest that a full factory reset of a user's OS gets everything back to square one and the ELS is now usable again - that's not really something that I can suggest to a user of an application. It seems a bit drastic and most users will (understandably) baulk at the idea of a full factory reset.

       

      So, I'm in a position with AIR development where I have to provide a fallback to ELS. Thankfully, I don't use ELS in the application too much, but I imagine anyone that has to make meaningful use of it would be pretty handicapped by the issues above. I guess I have a few questions:

       

      1. Has anyone been able to reproduce the errors listed above? Are you able to get your system into a state where 'Error: general internal error' appears consistently when you try to access ELS? I've tried the suggestions listed in the articles I outlined above, but have so far failed in reproducing these errors.

       

      2. If you have managed to get your machine into this state, what is the most advisable remedial action? As I mentioned above, deleting the ELS directory to start anew seems to work for some users but not for others.

       

      3. Is there anything that someone has tried where they've found a programmatic solution to avoid this issue altogether?

       

      4. Can someone in AIR engineering comment on concrete efforts to avoid these sort of scenarios in future versions of the runtime? Is there any debug information that I can provide from users of this application that could help diagnose this issue further and possibly feed back to the AIR development team?

       

      FWIW, my application descriptor file is pointing at the 1.5.3 version of the runtime. We've seen this happen to users that are running this application with both the 1.5.3 version of AIR and the 2.0.3 version of AIR. We've seen this happen on both Mac and Windows. I've seen this happen with initial installs of the application and with upgrades to new versions too.

       

      Sean

        • 1. Re: Errors when accessing Encrypted Local Storage
          Romil Mittal Adobe Employee

          Hi Sean,

           

          Thanks for reporting the issue. As you pointed out (via the blogs and weblinks), we are aware of this issue. And the following blog post talks about the problem in detail:

               http://kb2.adobe.com/cps/492/cpsid_49267.html

           

          As mentioned there, this issues arises because of corruption of keyring database, which in turn could happen becuase of user migration, switching desktops, ELS data migration to a different machine etc In such a scenario, even native applications are not able to access the ELS store (gnome-keyring or kde-kwallet). So there is little that we could do here. We have never experienced a scenario where an AIR application resulted into the corruption of database.

           

          Having said that, if you can provide us a constantly reproducible case (a list of steps which can always get us hit the issue), then we can definitely try to do the best possible in this regard.

           

          Thanks,

          -romil

          (AIR Engineering)

          • 2. Re: Errors when accessing Encrypted Local Storage
            seaneyefi Level 1

            Romil - I'm not sure I can come up with a reproducible set of steps for this scenario (hence my question to the forum).

             

            I'm not convinced that this is absolutely an AIR runtime issue. From the blog posts and your reinforcements of my initial post, it sounds like something is happening on the user's machine that is completely out of the control of the AIR runtime. For example, a corrupt keychain is likely to affect more than just AIR applications. I'm not sure whether switching between gnome and KDE has an adverse impact on other applications which use the user's keyring/kde-wallet.

             

            My intent for posting this to the AIR forums was to try to get some community feedback for how developers helped users get around this issue. As I pointed out previously, deleting the ELS directory seems to work sometimes, but not other times. From a developer standpoint, catching these ELS exceptions in code is not that difficult. Offering remedial action to the user is proving to be a bit of a mystery though. Do you have any other troubleshooting tips that you'd like to share with this post?