← Back to team overview

touch-packages team mailing list archive

[Bug 1379572] [NEW] [krillin] Restart ofono, cause repeated crashes in ril plugin

 

Public bug reported:

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.

** Affects: lxc-android-config (Ubuntu)
     Importance: Critical
     Assignee: Alfonso Sanchez-Beato (alfonsosanchezbeato)
         Status: New


** Tags: rtm14

** Package changed: ofono (Ubuntu) => lxc-android-config (Ubuntu)

** Changed in: lxc-android-config (Ubuntu)
   Importance: Undecided => Critical

** Changed in: lxc-android-config (Ubuntu)
     Assignee: (unassigned) => Alfonso Sanchez-Beato (alfonsosanchezbeato)

** Description changed:

  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) 
+ (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.

** Tags added: rtm14

** Description changed:

  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.

-- 
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:
  New

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


Follow ups

References