gpsd shutdown mem abort
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-meta-raspi2 (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I have Raspberry 4 with USB GPS dongle and use gpsd use the dongle. When I stop gpsd, kernel throws mem abort and gpsd process is stuck.
$ sudo systemctl status gpsd
● gpsd.service - GPS (Global Positioning System) Daemon
Loaded: loaded (/etc/systemd/
Active: active (running) since Sat 2020-02-08 18:28:13 EET; 1 day 22h ago
Process: 1479 ExecStart=
Main PID: 1485 (gpsd)
Tasks: 2 (limit: 4198)
Memory: 2.1M
CGroup: /system.
└─1485 /usr/sbin/gpsd -n -s 115200 /dev/ttyACM0
Feb 08 18:28:13 rpi4-01.lan systemd[1]: Starting GPS (Global Positioning System) Daemon...
Feb 08 18:28:13 rpi4-01.lan systemd[1]: Started GPS (Global Positioning System) Daemon.
Expected:
$ sudo systemctl stop gpsd
$ sudo systemctl status gpsd
...
<gpsd stopped and no process running>
<Also no kernel call trace in dmesg.>
$ sudo systemctl start gpsd
$ sudo systemctl status gpsd
<gpsd up and running>
What happens:
$ sudo systemctl stop gpsd
<is stuck>
<There is call trace in dmesg.>
GPSD data is used by chrony via SHM socket.
Gpsd version is locally built based on https:/
Kernel call trace seems to be always essentially the same at the top. Only possibility to fix things is to reboot.
$ lsb_release -rd
Description: Ubuntu 19.10
Release: 19.10
$ cat /proc/cmdline
coherent_pool=1M 8250.nr_uarts=1 cma=64M cma=256M smsc95xx.
$ apt-cache policy linux-raspi2 chrony gpsd
linux-raspi2:
Installed: 5.3.0.1017.14
Candidate: 5.3.0.1017.14
Version table:
*** 5.3.0.1017.14 500
500 http://
500 http://
100 /var/lib/
5.3.0.1007.3 500
500 http://
chrony:
Installed: 3.5-2ubuntu2
Candidate: 3.5-2ubuntu2
Version table:
*** 3.5-2ubuntu2 500
500 http://
100 /var/lib/
gpsd:
Installed: 3.20-4build2
Candidate: 3.20-4build2
Version table:
*** 3.20-4build2 500
500 http://<local-
100 /var/lib/
3.20-3build19 500
500 http://<local-
3.20-3build17 500
500 http://<local-
3.20-3build16 500
500 http://<local-
3.20-3build13 500
500 http://<local-
3.20-3build8 500
500 http://<local-
3.20-3build6 500
500 http://<local-
3.20-3build4 500
500 http://<local-
3.17-7 500
500 http://
[ 0.000000] kernel: Linux version 5.3.0-1017-raspi2 (buildd@
[ 0.000000] kernel: Machine model: Raspberry Pi 4 Model B Rev 1.1
...
[ 0.346539] pps_core: LinuxPPS API ver. 1 registered
[ 0.346557] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <email address hidden>
...
[ 2.966789] usb 1-1.4: new full-speed USB device number 3 using xhci_hcd
[ 3.145578] usb 1-1.4: New USB device found, idVendor=1546, idProduct=01a7, bcdDevice= 1.00
[ 3.156878] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.156882] usb 1-1.4: Product: u-blox 7 - GPS/GNSS Receiver
[ 3.156887] usb 1-1.4: Manufacturer: u-blox AG - www.u-blox.com
...
[ 27.330812] pps_ldisc: PPS line discipline registered
[ 27.337024] pps pps0: new PPS source acm0
[ 27.341237] pps pps0: source "/dev/ttyACM0" added
...
[163075.844341] systemd[1]: Stopping Manage ttyACM0 for GPS daemon...
[163075.879783] gpsdctl[10713]: gpsd_control(
[163075.883507] gpsdctl[10713]: reached a running gpsd
[163075.899234] systemd[1]: Stopping GPS (Global Positioning System) Daemon...
[163079.462980] kernel: pps pps0: removed
[163079.471169] kernel: Unable to handle kernel paging request at virtual address 006b6b6b6b6b6eb3
[163079.479456] kernel: Mem abort info:
[163079.482496] kernel: ESR = 0x96000004
[163079.482502] kernel: Exception class = DABT (current EL), IL = 32 bits
[163079.482505] kernel: SET = 0, FnV = 0
[163079.482512] kernel: EA = 0, S1PTW = 0
[163079.498497] kernel: Data abort info:
[163079.498500] kernel: ISV = 0, ISS = 0x00000004
[163079.498503] kernel: CM = 0, WnR = 0
[163079.498507] kernel: [006b6b6b6b6b6eb3] address between user and kernel address ranges
[163079.498512] kernel: Internal error: Oops: 96000004 [#1] SMP
[163079.498516] kernel: Modules linked in: pps_ldisc netconsole nls_ascii dm_multipath scsi_dh_rdac scsi_dh_emc scsi_dh_alua btsdio bluetooth bcm2835_v4l2(CE
[163079.498597] kernel: genet gpio_regulator phy_generic fixed aes_neon_bs aes_neon_blk crypto_simd cryptd aes_arm64
[163079.610369] kernel: CPU: 2 PID: 1548 Comm: gpsd Tainted: G C E 5.3.0-1017-raspi2 #19-Ubuntu
[163079.610371] kernel: Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT)
[163079.610374] kernel: pstate: 40400005 (nZcv daif +PAN -UAO)
[163079.610391] kernel: pc : module_
[163079.644256] kernel: lr : cdev_put.
[163079.644259] kernel: sp : ffff000010b93c70
[163079.644260] kernel: x29: ffff000010b93c70 x28: ffffaabc70a41dc0
[163079.644264] kernel: x27: 0000000000000000 x26: ffffaabc58ea88d0
[163079.644267] kernel: x25: ffffaabc68c74060 x24: ffffaabc73bcf898
[163079.644269] kernel: x23: ffffaabc76597a60 x22: ffffaabc68c74060
[163079.644272] kernel: x21: ffff5b638471f7b4 x20: 0000000000000008
[163079.644275] kernel: x19: 6b6b6b6b6b6b6b6b x18: 0000000000000000
[163079.685076] kernel: x17: 0000000000000000 x16: 0000000000000000
[163079.685080] kernel: x15: 0000000000000004 x14: 0000000000000000
[163079.685083] kernel: x13: 0000000000000000 x12: ffffaabc578f26f0
[163079.685085] kernel: x11: ffffaabc578f26c8 x10: 0000000000000040
[163079.685088] kernel: x9 : 0000000000000000 x8 : 0000000000000001
[163079.685090] kernel: x7 : ffffaabc5874ea80 x6 : 0000000000000000
[163079.685092] kernel: x5 : 0000000000000000 x4 : 000000006b6b6b6b
[163079.685095] kernel: x3 : 000000006b6b6b6a x2 : 000000006b6b6b6b
[163079.685097] kernel: x1 : ffffaabc6a8f0d98 x0 : ffff5b638471f7b4
[163079.685100] kernel: Call trace:
[163079.685110] kernel: module_
[163079.685119] kernel: cdev_put.
[163079.744716] kernel: cdev_put+0x24/0x30
[163079.744721] kernel: __fput+0x208/0x220
[163079.744724] kernel: ____fput+0x20/0x30
[163079.744729] kernel: task_work_
[163079.744734] kernel: do_exit+0x2f8/0xa80
[163079.744737] kernel: do_group_
[163079.744748] kernel: __arm64_
[163079.774584] kernel: el0_svc_
[163079.774587] kernel: el0_svc_
[163079.774591] kernel: el0_svc+0x10/0x14
[163079.774603] kernel: Code: aa1e03f5 aa1e03e0 d503201f b4000213 (b9434a60)
[163079.798836] kernel: ---[ end trace d6816541b4d65710 ]---
[163079.798892] kernel: Fixing recursive fault but reboot is needed!
Bus 001 Device 003: ID 1546:01a7 U-Blox AG [u-blox 7]
Here is another call trace.
[ 350.112526] kernel: Unable to handle kernel paging request at virtual address 006b6b6b6b6b6eb3
[ 350.120764] kernel: Mem abort info:
[ 350.120768] kernel: ESR = 0x96000004
[ 350.120772] kernel: Exception class = DABT (current EL), IL = 32 bits
[ 350.120775] kernel: SET = 0, FnV = 0
[ 350.120777] kernel: EA = 0, S1PTW = 0
[ 350.120779] kernel: Data abort info:
[ 350.120782] kernel: ISV = 0, ISS = 0x00000004
[ 350.120785] kernel: CM = 0, WnR = 0
[ 350.120788] kernel: [006b6b6b6b6b6eb3] address between user and kernel address ranges
[ 350.120795] kernel: Internal error: Oops: 96000004 [#1] SMP
[ 350.120800] kernel: Modules linked in: pps_ldisc netconsole nls_ascii dm_multipath scsi_dh_rdac scsi_dh_emc scsi_dh_alua btsdio bluetooth ecdh_generic ecc
[ 350.120896] kernel: gpio_regulator genet phy_generic fixed aes_neon_bs aes_neon_blk crypto_simd cryptd aes_arm64
[ 350.120909] kernel: CPU: 0 PID: 1729 Comm: gpsd Tainted: G C E 5.3.0-1017-raspi2 #19-Ubuntu
[ 350.120911] kernel: Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT)
[ 350.120914] kernel: pstate: 40400005 (nZcv daif +PAN -UAO)
[ 350.120929] kernel: pc : module_
[ 350.120933] kernel: lr : cdev_put.
[ 350.120935] kernel: sp : ffff000010bcbbb0
[ 350.120936] kernel: x29: ffff000010bcbbb0 x28: 0000000000000008
[ 350.120939] kernel: x27: ffff2caebe929000 x26: ffff837bafe9a290
[ 350.120942] kernel: x25: ffff837ba8c41330 x24: ffff837bb415b960
[ 350.120944] kernel: x23: ffff837bb6596660 x22: ffff837ba8c41330
[ 350.120947] kernel: x21: ffff2caebd91f7b4 x20: 0000000000000008
[ 350.120949] kernel: x19: 6b6b6b6b6b6b6b6b x18: 0000000000000000
[ 350.120951] kernel: x17: 0000000000000000 x16: 0000000000000000
[ 350.120953] kernel: x15: 0000000000000004 x14: 0000000000000000
[ 350.120955] kernel: x13: 0000000000000000 x12: ffff837bb41736e8
[ 350.120958] kernel: x11: ffff837bb41736c0 x10: 0000000000000040
[ 350.120960] kernel: x9 : 0000000000000000 x8 : 0000000000000001
[ 350.120962] kernel: x7 : ffff837ba7795080 x6 : 0000000000000000
[ 350.120965] kernel: x5 : 0000000000000000 x4 : 000000006b6b6b6b
[ 350.120967] kernel: x3 : 000000006b6b6b6a x2 : 000000006b6b6b6b
[ 350.120970] kernel: x1 : ffff837bb1651518 x0 : ffff2caebd91f7b4
[ 350.120973] kernel: Call trace:
[ 350.120977] kernel: module_
[ 350.120980] kernel: cdev_put.
[ 350.120982] kernel: cdev_put+0x24/0x30
[ 350.120986] kernel: __fput+0x208/0x220
[ 350.120989] kernel: ____fput+0x20/0x30
[ 350.120994] kernel: task_work_
[ 350.120997] kernel: do_exit+0x2f8/0xa80
[ 350.121000] kernel: do_group_
[ 350.121004] kernel: get_signal+
[ 350.121007] kernel: do_notify_
[ 350.121010] kernel: work_pending+
[ 350.121018] kernel: Code: aa1e03f5 aa1e03e0 d503201f b4000213 (b9434a60)
[ 350.121021] kernel: ---[ end trace 5f7f45230e415b7c ]---
[ 350.121023] kernel: Fixing recursive fault but reboot is needed!
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu8.2
Architecture: arm64
DistroRelease: Ubuntu 19.10
Package: linux-raspi2 5.3.0.1017.14
PackageArchitec
ProcVersionSign
Tags: eoan
Uname: Linux 5.3.0-1017-raspi2 aarch64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm audio cdrom dialout dip floppy lxd netdev plugdev sudo video
_MarkForUpload: True
description: | updated |
apport information