[mako] Crash when setting modem offline
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ofono (Ubuntu) |
Fix Released
|
Critical
|
Tony Espy |
Bug Description
ofono version: 1.12+bzr6848-
device: *mako* only
This bug was reproduced while testing a new change to the modem power-on sequence logic. In order to reproduce, it's first necessary to stop both NetworkManager and disable the associated Telepathy mission-control account in order to prevent them from interfering with the test scenario. NM can be stopped via upstart. To disable the mission-control account, as the phablet user, run the following command:
$ mc-tool disable ofono/ofono/
To reproduce the crash ( as root ):
1. export PATH=/usr/
2. restart ofono
3. online-modem; offline-modem ( repeat until ofono crashes )
Ofono crashes in the function gril/gril.
g_assert(count > 0);
This assert is ensuring that there's at least one pending response on the command_queue for which the incoming reply can be compared.
The reason this assert fires, is that there's a bug in the gril.c function ril_cancel_group(), which incorrectly frees a command associated with the given group, when in fact the command has already been sent. This was fixed in the nemo mobile code:
https:/
Related branches
- Ricardo Salveti (community): Approve
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 3717 lines (+1816/-630)36 files modifiedMakefile.am (+10/-2)
debian/changelog (+20/-0)
drivers/rilmodem/call-settings.c (+286/-0)
drivers/rilmodem/call-volume.c (+5/-16)
drivers/rilmodem/devinfo.c (+11/-20)
drivers/rilmodem/gprs-context.c (+7/-22)
drivers/rilmodem/gprs.c (+2/-8)
drivers/rilmodem/network-registration.c (+20/-62)
drivers/rilmodem/rilmodem.c (+4/-1)
drivers/rilmodem/rilmodem.h (+6/-0)
drivers/rilmodem/rilutil.c (+0/-69)
drivers/rilmodem/rilutil.h (+0/-5)
drivers/rilmodem/sim.c (+29/-98)
drivers/rilmodem/sms.c (+9/-42)
drivers/rilmodem/ussd.c (+227/-0)
drivers/rilmodem/voicecall.c (+115/-136)
gril/gril.c (+41/-22)
gril/gril.h (+3/-3)
gril/grilreply.c (+100/-0)
gril/grilreply.h (+16/-0)
gril/grilrequest.c (+63/-0)
gril/grilrequest.h (+16/-0)
gril/grilresponse.h (+0/-46)
gril/grilunsol.c (+133/-0)
gril/grilunsol.h (+15/-0)
gril/grilutil.c (+14/-0)
gril/grilutil.h (+1/-0)
gril/parcel.c (+27/-10)
gril/parcel.h (+1/-0)
gril/ril_constants.h (+5/-0)
plugins/ril.c (+133/-66)
src/sim-mnclength.c (+3/-2)
unit/test-grilreply.c (+101/-0)
unit/test-grilrequest.c (+137/-0)
unit/test-grilunsol.c (+90/-0)
unit/test-mnclength.c (+166/-0)
Changed in ofono (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → Tony Espy (awe) |
importance: | Undecided → Critical |
description: | updated |
A pull request based on a nemomobile fix has been created which fixes this bug:
https:/ /github. com/tonyespy/ ofono/tree/ lp1262340