head -r365932 on PowerMac G5 (2 dual-core sockets): Crashes before login prompt if powerd is enabled in /etc/rc.conf
Mark Millard
marklmi at yahoo.com
Tue Sep 22 05:46:14 UTC 2020
On 2020-Sep-21, at 21:34, Mark Millard <marklmi at yahoo.com> wrote:
> This was discovered while doing a head -r363590 -> -r365932
> upgrade to FreeBSD. (A non-debug system context.)
>
> It first showed up only having updated the kernel. It still
> shows up after updating world as well. It is now running:
>
> # uname -apKU
> FreeBSD FBSDG5L2 13.0-CURRENT FreeBSD 13.0-CURRENT #16 r365932M: Sun Sep 20 19:57:07 PDT 2020 root at FBSDFHUGE:/usr/obj/powerpc64vtsc_clang/powerpc.powerpc64/usr/src/powerpc.powerpc64/sys/GENERIC64vtsc-NODBG powerpc powerpc64 1300115 1300115
>
> but with /etc/rc.conf having powerd disabled:
>
> #powerd_enable="YES"
>
> The crash now is now silent, not getting to the db> prompt
> and not showing any messages or backtrace.
>
> Prior to world being updated it crashed with a traceback.
> A quick summary from a camera picture:
>
> fatal kernel trap:
> . . .
> pid = 1126, comm = powerd
> . . .
> kernel PGM trap by 0: . . .
> at pcr_get+0x4c
> at CPUFREQ_DRV_GET+0x78
> at cpufreq_get_frequency+0x20
> at cpufreq_get_level+0x2c
> at cf_get_method+0x20c
> at CPUFREQ_GET+0x78
> at cpufreq_curr_sysctl+0x70
> at sysctl_root_handler_locked+0x10c
> at sysctl_root+0x26c
> at userland_sysctl+0x14c
> at sys___sysctl+0x8c
> at syscallenter+0x188
> at syscall+0x60
> at trap+0x498
> at powerpc_interrrupt+0x110
> user SC trap . . .
>
> After this I tried to make a dump and then proceeded
> with disabling powerd in /etc/rc.conf and doing the
> world update.
>
> Unfortunately, while a dump was written, the core.txt
> file from the -r365932 world boot that processed the
> dump reported "invalid corefile" all over the place.
>
> With powerpd disabled the G5 seems to be operational.
> But turning powerd back on in /etc/rc.conf and rebooting
> prevents the boot from completing, no messages, no
> db> prompt. So I now leave powerd disabled.
Some additional low-level information:
For exception 0x700 (program) the screen picture
shows (but I've added ' use):
srr0=0x0 (0x4000'0000'0000'0000)
. . .
lr =0x0 (0x4000'0000'0000'0000)
The kernel PGM trap notice does report:
ctr=0xc000'0000'00ad'7ad4
(the start of pcr_get but with the 0xc
prefix)
I'll remind of the pcr_get+0x4c report in the summary.
objdump for /boot/kernel/kernel reports:
0000000000ad7ad4 <pcr_get> addis r2,r12,132
0000000000ad7ad8 <pcr_get+0x4> addi r2,r2,1324
0000000000ad7adc <pcr_get+0x8> cmpldi r4,0
0000000000ad7ae0 <pcr_get+0xc> beq 0000000000ad7b48 <pcr_get+0x74>
0000000000ad7ae4 <pcr_get+0x10> mflr r0
0000000000ad7ae8 <pcr_get+0x14> std r31,-8(r1)
0000000000ad7aec <pcr_get+0x18> std r0,16(r1)
0000000000ad7af0 <pcr_get+0x1c> stdu r1,-64(r1)
0000000000ad7af4 <pcr_get+0x20> mr r31,r1
0000000000ad7af8 <pcr_get+0x24> std r29,40(r31)
0000000000ad7afc <pcr_get+0x28> mr r29,r3
0000000000ad7b00 <pcr_get+0x2c> li r3,-1
0000000000ad7b04 <pcr_get+0x30> std r30,48(r31)
0000000000ad7b08 <pcr_get+0x34> mr r30,r4
0000000000ad7b0c <pcr_get+0x38> std r3,32(r4)
0000000000ad7b10 <pcr_get+0x3c> std r3,24(r4)
0000000000ad7b14 <pcr_get+0x40> std r3,16(r4)
0000000000ad7b18 <pcr_get+0x44> std r3,8(r4)
0000000000ad7b1c <pcr_get+0x48> std r3,0(r4)
0000000000ad7b20 <pcr_get+0x4c> bl 0000000000ad7f2c <read_scom+0x8>
0000000000ad7b24 <pcr_get+0x50> rldicl r3,r3,8,62
0000000000ad7b28 <pcr_get+0x54> li r4,10000
0000000000ad7b2c <pcr_get+0x58> stw r4,0(r30)
0000000000ad7b30 <pcr_get+0x5c> cmpldi r3,1
0000000000ad7b34 <pcr_get+0x60> beq 0000000000ad7b50 <pcr_get+0x7c>
0000000000ad7b38 <pcr_get+0x64> cmpldi r3,2
0000000000ad7b3c <pcr_get+0x68> bne 0000000000ad7b58 <pcr_get+0x84>
0000000000ad7b40 <pcr_get+0x6c> li r3,2500
0000000000ad7b44 <pcr_get+0x70> b 0000000000ad7b54 <pcr_get+0x80>
0000000000ad7b48 <pcr_get+0x74> li r3,22
0000000000ad7b4c <pcr_get+0x78> blr
0000000000ad7b50 <pcr_get+0x7c> li r3,5000
0000000000ad7b54 <pcr_get+0x80> stw r3,0(r30)
0000000000ad7b58 <pcr_get+0x84> std r29,16(r30)
0000000000ad7b5c <pcr_get+0x88> ld r30,48(r31)
0000000000ad7b60 <pcr_get+0x8c> ld r29,40(r31)
0000000000ad7b64 <pcr_get+0x90> addi r1,r1,64
0000000000ad7b68 <pcr_get+0x94> ld r0,16(r1)
0000000000ad7b6c <pcr_get+0x98> li r3,0
0000000000ad7b70 <pcr_get+0x9c> mtlr r0
0000000000ad7b74 <pcr_get+0xa0> ld r31,-8(r1)
0000000000ad7b78 <pcr_get+0xa4> blr
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-ppc
mailing list