This bug was due to my lack of understanding of the way upstart works. I've confirmed that crashes and subsequent respawns will use the original environment variables.
That said, if ofono is restarted ( stop ofono/start ofono, or restart ofono ), the environment variables are not set in the user's session ( as rild.conf didn't run in the user session ), so the default values of 'ril' and 1 are used. So lesson learned, if you want to restart ofono on krillin, make sure to specify the environment variables. ** Changed in: lxc-android-config (Ubuntu) Status: New => Invalid ** Changed in: lxc-android-config (Ubuntu) Assignee: Alfonso Sanchez-Beato (alfonsosanchezbeato) => (unassigned) -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to lxc-android-config in Ubuntu. https://bugs.launchpad.net/bugs/1379572 Title: [krillin] Restart ofono, cause repeated crashes in ril plugin Status in “lxc-android-config” package in Ubuntu: Invalid Bug description: On krillin, if ofono is restarted on the command-line, or crashes and restart, it will repeatedly crash in the ril plugin's ril_radio_state_change() function, as the environment variables used to communicate the ril device-type and number of SIM slots are replaced by the values in the upstart override file for ofono ( which the env vars to 'ril' and 1 respectively ). This means that the rildev plugin loads the wrong ofono device plugin ( ril instead of mtk ), which then repeatedly asserts when it gets back a garbage radio state change unsolicited message from rild. ofonod[29128]: oFono version 1.12 ofonod[29128]: Excluding udev hardware detection ofonod[29128]: Excluding Sim Access Profile Plugins ofonod[29128]: Excluding Hands-Free Profile Plugins ofonod[29128]: Excluding Provisioning Plugin ofonod[29128]: RILDEV detected modem type ril, 1 SIM slot(s) ofonod[29128]: ril_radio_state_changed: state: SIM_READY ril->ofono_online: 0 ** ERROR:plugins/ril.c:148:ril_radio_state_changed: assertion failed: (FALSE) Program received signal SIGABRT, Aborted. 0xb6d8e8e6 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 (gdb) This was reproduced on krillin rtm #94. I *think* the correct fix is to change the env statements in the ofono override job to leave off the assignments: env OFONO_RIL_DEVICE env OFONO_RIL_NUM_SIM_SLOTS ...and then in rild.conf, if the respective android properties aren't set, use the defaults previously set in ofono.override. Note, I've only reproduced this via the 'restart'. I haven't verified that an ofono crash and respawn behaves the same, but I'm pretty sure it does. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lxc-android-config/+bug/1379572/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp