veyron/services/mgmt/application/impl: fix for strange crash in applicationd

Joint debugging w/ Gautham and Tilak

Applicationd crashes when client attempts a Put or a Match against an existing
application, after an applicationd restart (even if the same Put and Match
commands were working before the restart).  The stored used by applicationd is
never restarted.

The crash is in the vom decoding path on the Object.Get() call inside
makeParentNodes (for Put) and inside Match.  It appears as if the object
returned by stored to applicationd is somehow not recognized by vom.  We do not
know exactly why that's the case and how the applicationd restart breaks things.

The fix is to avoid the Object.Get() inside makeParentNodes -- use the Exists
call instead.  We also import typeregistryhack to ensure all the types we may
ever use are registered with vom.

Note that the mystery has not been cleared. Since we'll switch applicationd away
from using store in a few days, we didn't spend more time debugging. Store folks
may decide to investigate further.

Change-Id: I146cbcf6c783ea99e5cd02bf57f6e2a98243aafe
1 file changed
tree: 33f6972ed7ce32dd768a934dd7353872d4dc4cd2
  1. examples/
  2. lib/
  3. products/
  4. runtimes/
  5. security/
  6. services/
  7. tools/