panic() on Overdrive 3000

Ian Lepore ian at freebsd.org
Wed May 2 22:05:06 UTC 2018


On Wed, 2018-05-02 at 22:27 +0200, Michael Tuexen wrote:
> Dear all,
> 
> I installed head of today on a Softiron Overdrive 3000. I'm trying to
> set the time 
> using ntpdate_enable in /ertc/rc.conf.
> 
> Then the system panics:
> 
> Setting date via ntp.
>  2 May 22:14:07 ntpdate[799]: step time server 193.175.73.151 offset
> -9911.674602 sec
> panic: acquiring blockable sleep lock with spinlock or critical
> section held (sleep mutex) pmap @
> /usr/home/tuexen/head/sys/arm64/arm64/pmap.c:4777
> cpuid = 7
> time = 1525292047
> KDB: stack backtrace:
> db_trace_self() at db_trace_self_wrapper+0x28
> 	 pc = 0xffff000000654f94  lr = 0xffff0000000dc318
> 	 sp = 0xffff00004026aab0  fp = 0xffff00004026acc0
> 
> db_trace_self_wrapper() at vpanic+0x1a8
> 	 pc = 0xffff0000000dc318  lr = 0xffff0000003731b4
> 	 sp = 0xffff00004026acd0  fp = 0xffff00004026ad80
> 
> vpanic() at kassert_panic+0x1bc
> 	 pc = 0xffff0000003731b4  lr = 0xffff000000372f60
> 	 sp = 0xffff00004026ad90  fp = 0xffff00004026ae40
> 
> kassert_panic() at witness_checkorder+0x140
> 	 pc = 0xffff000000372f60  lr = 0xffff0000003d3c1c
> 	 sp = 0xffff00004026ae50  fp = 0xffff00004026aec0
> 
> witness_checkorder() at __mtx_lock_flags+0xb0
> 	 pc = 0xffff0000003d3c1c  lr = 0xffff00000035335c
> 	 sp = 0xffff00004026aed0  fp = 0xffff00004026af10
> 
> __mtx_lock_flags() at pmap_fault+0x58
> 	 pc = 0xffff00000035335c  lr = 0xffff00000066d5e8
> 	 sp = 0xffff00004026af20  fp = 0xffff00004026af40
> 
> pmap_fault() at data_abort+0xa4
> 	 pc = 0xffff00000066d5e8  lr = 0xffff00000066f590
> 	 sp = 0xffff00004026af50  fp = 0xffff00004026b000
> 
> data_abort() at do_el1h_sync+0x11c
> 	 pc = 0xffff00000066f590  lr = 0xffff00000066f3e8
> 	 sp = 0xffff00004026b010  fp = 0xffff00004026b040
> 
> do_el1h_sync() at handle_el1h_sync+0x74
> 	 pc = 0xffff00000066f3e8  lr = 0xffff000000657074
> 	 sp = 0xffff00004026b050  fp = 0xffff00004026b160
> 
> handle_el1h_sync() at 0x83ffe24f88
> 	 pc = 0xffff000000657074  lr = 0x00000083ffe24f88
> 	 sp = 0xffff00004026b170  fp = 0xffff00004026b210
> 
> (null)() at 0x83ffe24fe4
> 	 pc = 0x00000083ffe24f88  lr = 0x00000083ffe24fe4
> 	 sp = 0xffff00004026b220  fp = 0xffff00004026b220
> 
> (null)() at 0x83ffe25170
> 	 pc = 0x00000083ffe24fe4  lr = 0x00000083ffe25170
> 	 sp = 0xffff00004026b230  fp = 0xffff00004026b250
> 
> (null)() at 0x83ffe26560
> 	 pc = 0x00000083ffe25170  lr = 0x00000083ffe26560
> 	 sp = 0xffff00004026b260  fp = 0xffff00004026b260
> 
> (null)() at 0x83ffe266f0
> 	 pc = 0x00000083ffe26560  lr = 0x00000083ffe266f0
> 	 sp = 0xffff00004026b270  fp = 0xffff00004026b2c0
> 
> (null)() at 0x83ffe20834
> 	 pc = 0x00000083ffe266f0  lr = 0x00000083ffe20834
> 	 sp = 0xffff00004026b2d0  fp = 0xffff00004026b2e0
> 
> (null)() at 0x83ffdfb508
> 	 pc = 0x00000083ffe20834  lr = 0x00000083ffdfb508
> 	 sp = 0xffff00004026b2f0  fp = 0xffff00004026b360
> 
> (null)() at 0x83ffdfc1ec
> 	 pc = 0x00000083ffdfb508  lr = 0x00000083ffdfc1ec
> 	 sp = 0xffff00004026b370  fp = 0xffff00004026b3b0
> 
> (null)() at 0x83ffdfbd9c
> 	 pc = 0x00000083ffdfc1ec  lr = 0x00000083ffdfbd9c
> 	 sp = 0xffff00004026b3c0  fp = 0xffff00004026b400
> 
> (null)() at 0x83ffde4f48
> 	 pc = 0x00000083ffdfbd9c  lr = 0x00000083ffde4f48
> 	 sp = 0xffff00004026b410  fp = 0xffff00004026b440
> 
> (null)() at 0x83ffde5750
> 	 pc = 0x00000083ffde4f48  lr = 0x00000083ffde5750
> 	 sp = 0xffff00004026b450  fp = 0xffff00004026b490
> 
> (null)() at 0x83ffde788c
> 	 pc = 0x00000083ffde5750  lr = 0x00000083ffde788c
> 	 sp = 0xffff00004026b4a0  fp = 0xffff00004026b4d0
> 
> (null)() at 0x83ffde9fd8
> 	 pc = 0x00000083ffde788c  lr = 0x00000083ffde9fd8
> 	 sp = 0xffff00004026b4e0  fp = 0xffff00004026b590
> 
> (null)() at 0x83ffdea2fc
> 	 pc = 0x00000083ffde9fd8  lr = 0x00000083ffdea2fc
> 	 sp = 0xffff00004026b5a0  fp = 0xffff00004026b6b0
> 
> (null)() at 0x83ffda670c
> 	 pc = 0x00000083ffdea2fc  lr = 0x00000083ffda670c
> 	 sp = 0xffff00004026b6c0  fp = 0xffff00004026b700
> 
> (null)() at 0x83ffda6edc
> 	 pc = 0x00000083ffda670c  lr = 0x00000083ffda6edc
> 	 sp = 0xffff00004026b710  fp = 0xffff00004026b740
> 
> (null)() at 0x83ffda4560
> 	 pc = 0x00000083ffda6edc  lr = 0x00000083ffda4560
> 	 sp = 0xffff00004026b750  fp = 0xffff00004026b780
> 
> (null)() at efi_set_time+0x90
> 	 pc = 0x00000083ffda4560  lr = 0xffff00000011fb00
> 	 sp = 0xffff00004026b790  fp = 0xffff00004026b7d0
> 
> efi_set_time() at efirtc_settime+0xc0
> 	 pc = 0xffff00000011fb00  lr = 0xffff0000001205e4
> 	 sp = 0xffff00004026b7e0  fp = 0xffff00004026b830
> 
> efirtc_settime() at settime_task_func+0xc0
> 	 pc = 0xffff0000001205e4  lr = 0xffff0000003befc8
> 	 sp = 0xffff00004026b840  fp = 0xffff00004026b860
> 
> settime_task_func() at taskqueue_run_locked+0x104
> 	 pc = 0xffff0000003befc8  lr = 0xffff0000003c80d4
> 	 sp = 0xffff00004026b870  fp = 0xffff00004026b8e0
> 
> taskqueue_run_locked() at taskqueue_thread_loop+0x9c
> 	 pc = 0xffff0000003c80d4  lr = 0xffff0000003c8f38
> 	 sp = 0xffff00004026b8f0  fp = 0xffff00004026b910
> 
> taskqueue_thread_loop() at fork_exit+0x7c
> 	 pc = 0xffff0000003c8f38  lr = 0xffff000000335944
> 	 sp = 0xffff00004026b920  fp = 0xffff00004026b950
> 
> fork_exit() at fork_trampoline+0x10
> 	 pc = 0xffff000000335944  lr = 0xffff00000066f13c
> 	 sp = 0xffff00004026b960  fp = 0x0000000000000000
> 
> Any idea what is wrong?
> 
> Best regards
> Michael

It looks like this isn't related to ntp directly; I think the same
panic would happen if you manually set it with date(1). The real
problem looks to be related to efi runtime services.

-- Ian


More information about the freebsd-arm mailing list