System Freezing periodically on M1Plus



Details:

  • Date | Wed Dec 31 16:00:00 PST 1969
  • DietPi version | v8.14.2 (MichaIng/master)
  • Image creator | DietPi Core Team
  • Pre-image | Armbian
  • Hardware | NanoPi M1 Plus (armv7l) (ID=66)
  • Kernel version | Linux MagicCubePlus 5.4.88-sunxi #21.05.6 SMP Mon Jun 21 15:02:59 UTC 2021 armv7l GNU/Linux
  • Distro | bullseye (ID=6)
  • Command | systemctl restart systemd-timesyncd
  • Exit code | 134
  • Software title | DietPi-TimeSync

Steps to reproduce:

Install Dietpi with Kernel 5.4.88 (Any other Kernel has issues with the Network Port)
The issue happens randomly after a day or up to 8 days. The system led will turn solid blue. then all date/time functions report wrong data.
When I issue the command date, I get 1969 date.

Expected behaviour:

Time should stay in sync

Actual behaviour:

time is changing to 1969

Extra details:

Rebooting the device fixes the issue temporarily until the next occurance.

Additional logs:

Assertion 'clock_gettime(map_clock_id(clock_id), &ts) == 0' failed at src/basic/time-util.c:54, function now(). Aborting.

the system is still available after system led has turned solid blue?

You can check kernel error messages

dmesg -l err,crit,alert,emerg

And some other system logs for the time sync service.

journalctl -u systemd-timesyncd.service

Yes, sometimes it’s available.

Here is the output:

dmesg -l err,crit,alert,emerg

[    4.693613] cgroup2: Unknown parameter 'memory_recursiveprot'
[    6.672406] proc: Bad value for 'hidepid'
[    6.970948] lima 1c40000.gpu: IRQ ppmmu2 not found
[    6.975886] lima 1c40000.gpu: IRQ ppmmu3 not found
[    6.980992] lima 1c40000.gpu: IRQ pp2 not found
[    6.985597] lima 1c40000.gpu: IRQ pp3 not found
[    7.157454] sun4i-codec 1c22c00.codec: Failed to register our card
[    7.189246] debugfs: Directory '1c22c00.codec' with parent 'H3 Audio Codec' already present!
[    7.379401] proc: Bad value for 'hidepid'
[ 6546.954878] proc: Bad value for 'hidepid'
[18681.768802] rcu: INFO: rcu_sched self-detected stall on CPU
[18681.775185] rcu:     1-...!: (1 GPs behind) idle=5fa/1/0x40000004 softirq=1295697/1295698 fqs=0
[18681.784339] rcu: rcu_sched kthread starved for 183609 jiffies! g3478321 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=3
[18681.795188] rcu: RCU grace-period kthread stack dump:
[24453.093621] rcu: INFO: rcu_sched self-detected stall on CPU
[24453.099211] rcu:     3-...!: (1 GPs behind) idle=efe/1/0x40000002 softirq=1223966/1223967 fqs=0
[24453.107730] rcu: rcu_sched kthread starved for 5772506 jiffies! g3478325 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=0
[24453.118406] rcu: RCU grace-period kthread stack dump:
[24516.109643] rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
[24516.115574] rcu:     0-...!: (0 ticks this GP) idle=040/0/0x0 softirq=1469211/1469211 fqs=1
[24516.123739] rcu:     1-...!: (1 GPs behind) idle=a3e/1/0x40000000 softirq=1295699/1295700 fqs=1
[24516.134272] rcu: rcu_sched kthread starved for 15755 jiffies! g3478325 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=0
[24516.144772] rcu: RCU grace-period kthread stack dump:
[24557.609640] rcu: INFO: rcu_sched self-detected stall on CPU
[24557.615223] rcu:     1-...!: (5250 ticks this GP) idle=a3e/1/0x40000002 softirq=1295705/1295705 fqs=0
[24557.624260] rcu: rcu_sched kthread starved for 5254 jiffies! g3478333 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=2
[24557.634674] rcu: RCU grace-period kthread stack dump:
[24578.669643] rcu: INFO: rcu_sched self-detected stall on CPU
[24578.675227] rcu:     1-...!: (5247 ticks this GP) idle=a3e/1/0x40000002 softirq=1295709/1295709 fqs=0
[24578.684264] rcu: rcu_sched kthread starved for 5254 jiffies! g3478341 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=2
[24578.694679] rcu: RCU grace-period kthread stack dump:
[24641.677643] rcu: INFO: rcu_sched self-detected stall on CPU
[24641.683228] rcu:     1-...!: (20993 ticks this GP) idle=a3e/1/0x40000002 softirq=1295709/1295709 fqs=1
[24641.692350] rcu: rcu_sched kthread starved for 15748 jiffies! g3478341 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=2
[24641.702850] rcu: RCU grace-period kthread stack dump:
[24662.733644] rcu: INFO: rcu_sched self-detected stall on CPU
[24662.739244] rcu:     1-...!: (1 GPs behind) idle=a42/1/0x40000002 softirq=1296672/1296691 fqs=0
[24662.747769] rcu: rcu_sched kthread starved for 5253 jiffies! g3478361 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=3
[24662.758194] rcu: RCU grace-period kthread stack dump:
[24683.837643] rcu: INFO: rcu_sched self-detected stall on CPU
[24683.843242] rcu:     1-...!: (5249 ticks this GP) idle=a42/1/0x40000002 softirq=1297134/1297143 fqs=0
[24683.852288] rcu: rcu_sched kthread starved for 5253 jiffies! g3478377 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=3
[24683.862713] rcu: RCU grace-period kthread stack dump:
journalctl -u systemd-timesyncd.service

Assertion 'clock_gettime(map_clock_id(clock_id), &ts) == 0' failed at src/basic/time-util.c:54, function now(). Aborting.
Aborted

looks like some challenges with the kernel version you are running.

The issue is that if I use a different kernel then the ethernet port doesn’t work referenced here.

Any suggestions? Or is Dietpi not usable with the NanoPlus M1 ?

I am not 100% sure, but it could be that the actual DietPi image kernel only supports either Ethernet or WiFi.
I am using the board only with the onboard WiFi.

So, could you disable WiFi via dietpi-config and then try to use the LAN interface?

WiFi works for me too. But even If I disable the WiFi I can’t get the Ethernet to connect above kernel 5.4.88. I am in touch with someone who used to work on Armbian, and apparently the M1 Plus hasn’t had it’s device tree updated since 5.4.88 so I guess in a way this means that this device is quickly on it’s way out.