Under Review
over 1 year ago

Still Error Name: Unhandled Exception when calling Toybox.Application.Properties.getValue

win/eclipse/4.1.7


Error Name: Unhandled Exception
Occurrences: 9
First Occurrence: 2023-03-09
Last Occurrence: 2023-03-10
Devices:
    epixTm (Gen 2) / quatix® 7 Sapphire: 8.23            <= no current firmware
    Instinct® Crossover: 11.18                                    <= the newest one

I've just realised that problem can be connected with no memory. Why?

- in app.onStart() I read STRING properties and no error

- in app.getInitialView (so after onStart()) I read BOOLEAN properties and error

So problem can be with properties of type="boolean" but not everyone have this error (e.g. I have never had it on my f6p in all my apps).

Maybe problem is with bad saving BOOL with GCM on ios (I use android) or GE (i don't use it at all).

Parents
  • Ciq doesn't give me a chance to check anything because it's in system part.

    ..//here ok, so reading properties...

    var v =Toybox.Application.Properties.getValue(keyString); //ERROR

    ...// unfortunately can't check v because line above was Error Name: Unhandled Exception

    Reproducing is difficult as I've mentioned, not everybody, not every device have this  errors.

    Similar behaviour I can emulate even on sim

    - run app with has properties e.g. 1kB

    - fill memory to any member (e.g. table in app) above (limit - 1kB)

    - run properties editor and save - settings in memory monitor disappear in console 'can't serialise...'

    - try to read properties e.g. onSettingsChange

    I've described this scenario many times. It's reproducible, so this bug should be fixed many months ago. How can dev write good app with such big.

    one more thing, why there is no 'no memory exception' to catch  or returning null when trying create new object and no memory. If you have app where memory consumption depend on external source (user data), again,  it is impossible to write good app. Memory exception' handling should be the first thing made in any api.

Comment
  • Ciq doesn't give me a chance to check anything because it's in system part.

    ..//here ok, so reading properties...

    var v =Toybox.Application.Properties.getValue(keyString); //ERROR

    ...// unfortunately can't check v because line above was Error Name: Unhandled Exception

    Reproducing is difficult as I've mentioned, not everybody, not every device have this  errors.

    Similar behaviour I can emulate even on sim

    - run app with has properties e.g. 1kB

    - fill memory to any member (e.g. table in app) above (limit - 1kB)

    - run properties editor and save - settings in memory monitor disappear in console 'can't serialise...'

    - try to read properties e.g. onSettingsChange

    I've described this scenario many times. It's reproducible, so this bug should be fixed many months ago. How can dev write good app with such big.

    one more thing, why there is no 'no memory exception' to catch  or returning null when trying create new object and no memory. If you have app where memory consumption depend on external source (user data), again,  it is impossible to write good app. Memory exception' handling should be the first thing made in any api.

Children
No Data