Thoughts on what happens when qmi-proxy dies ?
David McCullough
david.mccullough at accelecon.com
Thu Apr 30 21:37:14 PDT 2015
Hi all,
I have been trying to reproduce as problem here that sees a modem get stuck
"disabling". While I haven't managed to force that state to happen
I did manage to cause qmi-proxy to crash and ModemManager is unable
to recover.
I thought that once comms to qmi-proxy failed MM might start a new one or
recover (obviously, qmi-proxy should not crash either). Perhaps its a
libqmi issue ? Thoughts ?
Code is fairly recent:
libqmi version: 739fc4f183c18d7d8b3158a0843046ad2d2edd4f
ModemManager version: 3b2ed15abdb12a1a55404897dcffb447ac035d87
I am not really after a solution here, just was to pass this on and see
what the general opinion of the situation was. If anyone has seen the
"stuvk disabling" problem I would be interested in that also :-)
The test I was running was basically this:
while :; do
mmcli -m 0 -e
sleep 60
mmcli -m 0 -d
done
There was another daemon doing similar things at the same time (not normal
operation but I am trying to get something weird to happen).
The crash I got from qmi-proxy looks like this. I don't have a core
as its an embedded system with a Sierra Wireless 7354 modem:
qmi-proxy[208] killed because of sig - 11
STACK DUMP:
0xbe834c20: 0001f948 0001f948 000177a0 b6bc5ec4 0001f948 0001f948 000177a0
0xbe834c3c: b6d3d8d0 be834c78 0001f948 00000000 b6d3cb8c 00019a90 b6aedff8
0xbe834c58: b6aedfec 00019a90 be834c78 00000000 be834c74 be834c70 0002a5b8
0xbe834c74: b6bc5eb0 0001f948 00000000 00000000 00000001 00019a90 00027b88
0xbe834c90: 00000116 b6d4c414 be834cb8 00000008 00000001 b6d3cebc 00000007
0xbe834cac: b6e0b9ac b6e0b9ac 00000001 00000116 7fffffff 00000000 0001ea58
0xbe834cc8: 00000001 0001b0a0 0001ea60 00000000 00000000 b6f96f74 00000000
0xbe834ce4: b6d3d43c 00000000 b6f8e204 0001ea58 00000000 00011448 be834e58
0xbe834d00: 00008938 00008f94 00000000 00000000 be834ee4 00000001 be834d40
0xbe834d1c: 00000000 00011254 be834fa8 00000008 b6b73ad4 b6b82000 be834ee4
CPU: 0 PID: 208 Comm: qmi-proxy Tainted: G O 3.18.0-uc0 #84
task: c7089500 ti: c71be000 task.ti: c71be000
PC is at 0xb6bc45d8
LR is at 0xb6bc5ec4
pc : [<b6bc45d8>] lr : [<b6bc5ec4>] psr: a0000010
sp : be834c20 ip : b6e0b498 fp : 00019a90
r10: b6d3d898 r9 : 00029e68 r8 : 00000000
r7 : b6e0b7f8 r6 : 000177a0 r5 : 00000000 r4 : 0002a848
r3 : 00000000 r2 : 0002a5b8 r1 : 00000000 r0 : 0002a848
Flags: NzCv IRQs on FIQs on Mode USER_32 ISA ARM Segment user
Control: 10c5387d Table: 07124019 DAC: 00000015
CPU: 0 PID: 208 Comm: qmi-proxy Tainted: G O 3.18.0-uc0 #84
[<c0013830>] (unwind_backtrace) from [<c0010e7c>] (show_stack+0x10/0x14)
[<c0010e7c>] (show_stack) from [<c00cf108>] (do_coredump+0xe4/0x10d8)
[<c00cf108>] (do_coredump) from [<c00279c4>] (get_signal+0x160/0x4d4)
[<c00279c4>] (get_signal) from [<c0010720>] (do_signal+0x18c/0x3d0)
[<c0010720>] (do_signal) from [<c0010ae0>] (do_work_pending+0x88/0xc8)
[<c0010ae0>] (do_work_pending) from [<c000e200>] (work_pending+0xc/0x20)
00008000-0000a000 r-xp 00000000 1f:05 981 /libexec/qmi-proxy
00011000-00012000 rw-p 00001000 1f:05 981 /libexec/qmi-proxy
00012000-0002b000 rw-p 00012000 1f:05 981
b5ac6000-b5ac7000 ---p b5ac6000 1f:05 981
b5ac7000-b62c6000 rw-p b5ac7000 1f:05 981
b62c6000-b62c7000 ---p b62c6000 1f:05 981
b62c7000-b6ac6000 rw-p b62c7000 1f:05 981
b6ac6000-b6ad7000 r-xp 00000000 1f:05 492 /lib/libz.so.1.2.3
b6ad7000-b6ade000 ---p b6ad7000 1f:05 492
b6ade000-b6adf000 rw-p 00010000 1f:05 492 /lib/libz.so.1.2.3
b6adf000-b6af1000 r-xp 00000000 1f:05 484 /lib/libpthread-0.9.33.2.so
b6af1000-b6af8000 ---p b6af1000 1f:05 484
b6af8000-b6af9000 r--p 00011000 1f:05 484 /lib/libpthread-0.9.33.2.so
b6af9000-b6afa000 rw-p 00012000 1f:05 484 /lib/libpthread-0.9.33.2.so
b6afa000-b6afc000 rw-p b6afa000 1f:05 484
b6afc000-b6aff000 r-xp 00000000 1f:05 712 /lib/libdl-0.9.33.2.so
b6aff000-b6b06000 ---p b6aff000 1f:05 712
b6b06000-b6b07000 r--p 00002000 1f:05 712 /lib/libdl-0.9.33.2.so
b6b07000-b6b08000 rw-p 00003000 1f:05 712 /lib/libdl-0.9.33.2.so
b6b08000-b6b0a000 r-xp 00000000 1f:05 323 /lib/libgmodule-2.0.so.0.3503.0
b6b0a000-b6b12000 ---p b6b0a000 1f:05 323
b6b12000-b6b13000 rw-p 00002000 1f:05 323 /lib/libgmodule-2.0.so.0.3503.0
b6b13000-b6b1a000 r-xp 00000000 1f:05 620 /lib/libffi.so.6.0.1
b6b1a000-b6b21000 ---p b6b1a000 1f:05 620
b6b21000-b6b22000 rw-p 00006000 1f:05 620 /lib/libffi.so.6.0.1
b6b22000-b6b7a000 r-xp 00000000 1f:05 619 /lib/libuClibc-0.9.33.2.so
b6b7a000-b6b81000 ---p b6b7a000 1f:05 619
b6b81000-b6b82000 r--p 00057000 1f:05 619 /lib/libuClibc-0.9.33.2.so
b6b82000-b6b83000 rw-p 00058000 1f:05 619 /lib/libuClibc-0.9.33.2.so
b6b83000-b6b8a000 rw-p b6b83000 1f:05 619
b6b8a000-b6ce1000 r-xp 00000000 1f:05 598 /lib/libqmi-glib.so.1.2.0
b6ce1000-b6ce8000 ---p b6ce1000 1f:05 598
b6ce8000-b6cef000 rw-p 00156000 1f:05 598 /lib/libqmi-glib.so.1.2.0
b6cef000-b6cf7000 r-xp 00000000 1f:05 430 /lib/libintl.so.8.0.1
b6cf7000-b6cf8000 rw-p 00008000 1f:05 430 /lib/libintl.so.8.0.1
b6cf8000-b6e03000 r-xp 00000000 1f:05 668 /lib/libglib-2.0.so.0.3503.0
b6e03000-b6e0b000 ---p b6e03000 1f:05 668
b6e0b000-b6e0c000 rw-p 0010b000 1f:05 668 /lib/libglib-2.0.so.0.3503.0
b6e0c000-b6e53000 r-xp 00000000 1f:05 443 /lib/libgobject-2.0.so.0.3503.0
b6e53000-b6e5a000 ---p b6e53000 1f:05 443
b6e5a000-b6e5c000 rw-p 00046000 1f:05 443 /lib/libgobject-2.0.so.0.3503.0
b6e5c000-b6f7d000 r-xp 00000000 1f:05 691 /lib/libgio-2.0.so.0.3503.0
b6f7d000-b6f84000 ---p b6f7d000 1f:05 691
b6f84000-b6f87000 rw-p 00120000 1f:05 691 /lib/libgio-2.0.so.0.3503.0
b6f87000-b6f88000 rw-p b6f87000 1f:05 691
b6f88000-b6f8f000 r-xp 00000000 1f:05 477 /lib/ld-uClibc-0.9.33.2.so
b6f93000-b6f96000 rw-p b6f93000 1f:05 477
b6f96000-b6f97000 r--p 00006000 1f:05 477 /lib/ld-uClibc-0.9.33.2.so
b6f97000-b6f98000 rw-p 00007000 1f:05 477 /lib/ld-uClibc-0.9.33.2.so
be813000-be835000 rw-p befde000 1f:05 477
be86b000-be86c000 r-xp be86b000 1f:05 477
After this running mmcli to enable teh modem results in:
# mmcli -m 0 -e
error: couldn't enable the modem: 'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code44: QMI operation failed: Cannot write message: Error sending data: Broken pipe'
#
Cheers,
Davidm
--
David McCullough, david.mccullough at accelecon.com, Ph: 0410 560 763
More information about the libqmi-devel
mailing list