App is gone after it crashed

I was testing my Legato app on Mangoh red wp7702, but all of a sudden, the app crashed, and I “app status”, found out the custom app I was testing is gone/auto-deleted somehow. why could this happen? How can I prevent from happening again?

Did you mark the system to be good (update -g) after installing the app?

No, I didn’t. what this command does under the hood?

You can see here
https://docs.legato.io/latest/c_updateCtrl.html

so the system will rollback to last “good system” when it crashed?
I don’t understand what probation period is.

If too many reset after power on, it will think the new app is not stable, so it will rollback

Do you mean if I mark the system “good” after I install the new app(saying “HelloWorld”), then when it rollback, it rolls back to the system which has the app “HelloWorld”?

yes, i think so…

Hi I actually ran “update -g” command after I installed my own app last week, and I think the system crashed again just a minute ago, and my apps are gone still, looks like the system didn’t roll back to where I marked it…

Which line makes the crash?
You should debug that

I’m not sure which line caused it, I tested the app a few times last week, everything was good. Then it crashed again today somehow. Could you guide me how I can debug this?

You can capture the logread in uart port and see if there is any clue

Btw, you should use sandboxed feature

I was attempting to look at the logread, but the thing here is not the app crashed, it is actually the system crashed, and once the system crashed, the uart connection dropped.

If system crashes, there will be some debug message in uart

Btw, do you use sandbox feature?

is the app sandboxed by default once it is installed? I didnt set sandboxed to false though.
this is my .adef and .cdef
.adef:

executables:

{

sms = (Component)

}

//start: manual

processes:

{

run:

{

    (sms)

}

}

bindings:

{

    sms.Component.le_sms -> modemService.le_sms

    sms.Component.le_info -> modemService.le_info

}

.cdef

requires:

{

    api:

    {

        modemServices/le_sms.api

        modemServices/le_info.api

        positioning/le_posCtrl.api

        positioning/le_pos.api

        positioning/le_gnss.api

    }

    lib:

    {

        ssl

        crypto

    }

    file:

    {

        // Make the library available inside the app sandbox (in the app's /lib directory).

        /usr/lib/libssl.so.1.0.2    /lib/

        /usr/lib/libcrypto.so.1.0.2 /lib/

    }

}

sources:

{

    main.c

    smsSender.c

    smsReceiver.c

    gps.c

    database.c

    util.c

    crypto.c

}

I think so , it should be sandboxed