Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Apr 2020 21:29:31 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: 32-bit powerpc head -r360311 has signal 11 process crashes with rendezvous_request involved (old PowerMac dual-socket, 1 core each)
Message-ID:  <D57AB314-48E8-4371-B392-3C591CBC0367@yahoo.com>
In-Reply-To: <76D3A482-98BC-44C3-B84D-504A012CA8D8@yahoo.com>
References:  <76D3A482-98BC-44C3-B84D-504A012CA8D8@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[Notes on using the artifact.ci head -3260311 debug-kernel added.]

On 2020-Apr-29, at 02:27, Mark Millard <marklmi at yahoo.com> wrote:

> Since updating from head -r359427 based to head -r360311 base
> (my own non-debug builds), various things report segmentation
> faults. It appears that rendezvous_request may always be
> involved. I've not had time (yet) to deal with substituting a
> debug kernel from:
>=20
> https://artifact.ci.freebsd.org/snapshot/head/r360311/powerpc/powerpc/
>=20
> I expect to do so at some point.
>=20
>=20
> I give 2 examples below (mountd and rpcbind). Both involve
> rendezvous_request and svc_getreq_common .
>=20
> First mountd :
>=20
> # gdb mountd /mountd.core=20
> GNU gdb (GDB) 9.1 [GDB v9.1 for FreeBSD]
> Copyright (C) 2020 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later =
<http://gnu.org/licenses/gpl.html>;
> . . .
> Reading symbols from mountd...
> Reading symbols from /usr/lib/debug//usr/sbin/mountd.debug...
> [New LWP 100105]
> Core was generated by `/usr/sbin/mountd -r'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  atomic_load_u (a=3D<optimized out>, mo=3D<optimized out>) at =
/usr/src/contrib/jemalloc/include/jemalloc/internal/atomic.h:70
>=20
> warning: Source file is more recent than executable.
> 70	JEMALLOC_GENERATE_INT_ATOMICS(unsigned, u, LG_SIZEOF_INT)
> (gdb) bt
> #0  atomic_load_u (a=3D<optimized out>, mo=3D<optimized out>) at =
/usr/src/contrib/jemalloc/include/jemalloc/internal/atomic.h:70
> #1  rtree_leaf_elm_szind_read (tsdn=3D<optimized out>, =
rtree=3D<optimized out>, elm=3D<optimized out>, dependent=3D<optimized =
out>) at /usr/src/contrib/jemalloc/include/jemalloc/internal/rtree.h:230
> #2  rtree_szind_slab_read (tsdn=3D0x50094018, rtree=3D<optimized out>, =
rtree_ctx=3D0x50094044, key=3D1869636193, dependent=3Dtrue, =
r_szind=3D<optimized out>, r_slab=3D<optimized out>)
>    at /usr/src/contrib/jemalloc/include/jemalloc/internal/rtree.h:504
> #3  ifree (tsd=3D<optimized out>, ptr=3D0x6f706261, tcache=3D<optimized =
out>, slow_path=3Dfalse) at jemalloc_jemalloc.c:2574
> #4  __je_free_default (ptr=3D0x6f706261) at jemalloc_jemalloc.c:2775
> #5  0x50235db0 in __free (ptr=3D0x6f706261) at =
jemalloc_jemalloc.c:2852
> #6  0x5026525c in freenetconfigent (netconfigp=3D0x50049170) at =
/usr/src/lib/libc/rpc/getnetconfig.c:540
> #7  0x50260d8c in __rpc_sockinfo2netid (sip=3D<optimized out>, =
netid=3D<optimized out>) at /usr/src/lib/libc/rpc/rpc_generic.c:573
> #8  0x502521f0 in makefd_xprt (fd=3D10, sendsize=3D9000, =
recvsize=3D9000) at /usr/src/lib/libc/rpc/svc_vc.c:270
> #9  0x50252fa4 in rendezvous_request (xprt=3D0x5007b120, =
msg=3D<optimized out>) at /usr/src/lib/libc/rpc/svc_vc.c:315
> #10 0x50254588 in svc_getreq_common (fd=3D<optimized out>) at =
/usr/src/lib/libc/rpc/svc.c:640
> #11 0x502543d0 in svc_getreqset (readfds=3D<optimized out>) at =
/usr/src/lib/libc/rpc/svc.c:611
> #12 0x1001434c in main (argc=3D<optimized out>, argv=3D0xffffde3c) at =
/usr/src/usr.sbin/mountd/mountd.c:683
>=20
> (gdb) disass
> Dump of assembler code for function __je_free_default:
>   0x50235244 <+0>:	mflr    r0
>   0x50235248 <+4>:	stw     r0,4(r1)
>   0x5023524c <+8>:	stwu    r1,-80(r1)
>   0x50235250 <+12>:	stw     r30,72(r1)
>   0x50235254 <+16>:	stw     r21,36(r1)
>   0x50235258 <+20>:	stw     r22,40(r1)
>   0x5023525c <+24>:	stw     r23,44(r1)
>   0x50235260 <+28>:	stw     r24,48(r1)
>   0x50235264 <+32>:	stw     r25,52(r1)
>   0x50235268 <+36>:	stw     r26,56(r1)
>   0x5023526c <+40>:	stw     r27,60(r1)
>   0x50235270 <+44>:	stw     r28,64(r1)
>   0x50235274 <+48>:	stw     r29,68(r1)
>   0x50235278 <+52>:	bl      0x5023527c <__je_free_default+56>
>   0x5023527c <+56>:	mr      r28,r3
>   0x50235280 <+60>:	mflr    r30
>   0x50235284 <+64>:	addis   r30,r30,14
>   0x50235288 <+68>:	addi    r30,r30,-20816
>   0x5023528c <+72>:	lwz     r4,64(r30)
>   0x50235290 <+76>:	lwz     r5,6188(r30)
>   0x50235294 <+80>:	lwz     r4,0(r4)
>   0x50235298 <+84>:	stw     r4,32(r1)
>   0x5023529c <+88>:	lbz     r4,0(r5)
>   0x502352a0 <+92>:	cmplwi  r4,0
>   0x502352a4 <+96>:	bne     0x502353c4 <__je_free_default+384>
>   0x502352a8 <+100>:	cmplwi  r28,0
>   0x502352ac <+104>:	beq     0x50235378 <__je_free_default+308>
>   0x502352b0 <+108>:	addi    r3,r30,4332
>   0x502352b4 <+112>:	rlwinm  r24,r28,0,0,9
>   0x502352b8 <+116>:	bl      0x502f06b4 =
<00000000.plt_pic32.__tls_get_addr>
>   0x502352bc <+120>:	rlwinm  r26,r28,13,25,28
>   0x502352c0 <+124>:	mr      r29,r3
>   0x502352c4 <+128>:	lbz     r3,0(r3)
>   0x502352c8 <+132>:	cmplwi  r3,0
>   0x502352cc <+136>:	bne     0x502353fc <__je_free_default+440>
>   0x502352d0 <+140>:	add     r25,r29,r26
>   0x502352d4 <+144>:	lwz     r3,44(r25)
>   0x502352d8 <+148>:	addi    r27,r29,44
>   0x502352dc <+152>:	cmplw   r3,r24
>   0x502352e0 <+156>:	bne     0x50235578 <__je_free_default+820>
>   0x502352e4 <+160>:	lwz     r3,48(r25)
>   0x502352e8 <+164>:	rlwinm  r4,r28,20,22,31
>   0x502352ec <+168>:	mulli   r4,r4,12
>   0x502352f0 <+172>:	add     r3,r3,r4
> =3D> 0x502352f4 <+176>:	lwz     r6,4(r3)
>   0x502352f8 <+180>:	lwz     r5,4368(r30)
>   0x502352fc <+184>:	addi    r26,r29,288
>   0x50235300 <+188>:	lbz     r4,8(r3)
>   0x50235304 <+192>:	rlwinm  r3,r6,2,0,29
>   0x50235308 <+196>:	lwz     r7,28(r29)
>   0x5023530c <+200>:	lwzx    r5,r5,r3
>   0x50235310 <+204>:	lwz     r8,24(r29)
>   0x50235314 <+208>:	andi.   r4,r4,1
>   0x50235318 <+212>:	addc    r4,r7,r5
>   0x5023531c <+216>:	addze   r5,r8
>   0x50235320 <+220>:	stw     r5,24(r29)
>   0x50235324 <+224>:	stw     r4,28(r29)
>   0x50235328 <+228>:	ble     0x50235534 <__je_free_default+752>
> . . .
>=20
> (gdb) info reg
> r0             0x50235c04          1344494596
> r1             0xffffcfb0          4294954928
> r2             0x5009b018          1342812184
> r3             0x2448              9288
> r4             0x500940ac          1342783660
> r5             0x2448              9288
> r6             0x500940cc          1342783692
> r7             0x1                 1
> r8             0x0                 0
> r9             0x80808080          2155905152
> r10            0xc                 12
> r11            0x502e3b50          1345207120
> r12            0x500491a0          1342476704
> r13            0x0                 0
> r14            0x1                 1
> r15            0x10040000          268697600
> r16            0x0                 0
> r17            0x10040000          268697600
> r18            0x2                 2
> r19            0x0                 0
> r20            0x1                 1
> r21            0x5007b164          1342681444
> r22            0xffffd2dc          4294955740
> r23            0x80                128
> r24            0x6f400000          1866465280
> r25            0x50094080          1342783616
> r26            0x68                104
> r27            0x50094044          1342783556
> r28            0x6f706261          1869636193
> r29            0x50094018          1342783512
> r30            0x5031012c          1345388844
> r31            0x10040000          268697600
> pc             0x502352f4          0x502352f4 <__je_free_default+176>
> msr            <unavailable>
> cr             0x242008a4          606079140
> lr             0x50235c04          0x50235c04 <__je_free_default+2496>
> ctr            0x0                 0
> xer            0x0                 0
> fpscr          0x0                 0
> vscr           <unavailable>
> vrsave         <unavailable>
>=20
>=20
> Then rpcbind :
>=20
> # gdb rpcbind /rpcbind.core=20
> GNU gdb (GDB) 9.1 [GDB v9.1 for FreeBSD]
> Copyright (C) 2020 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later =
<http://gnu.org/licenses/gpl.html>;
> . . .
> Reading symbols from rpcbind...
> Reading symbols from /usr/lib/debug//usr/sbin/rpcbind.debug...
> [New LWP 100098]
> Core was generated by `/usr/sbin/rpcbind'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  __xdrrec_setnonblock (xdrs=3D0x500472d8, maxrec=3D9000) at =
/usr/src/lib/libc/xdr/xdr_rec.c:607
> 607		rstrm->nonblock =3D TRUE;
> (gdb) bt
> #0  __xdrrec_setnonblock (xdrs=3D0x500472d8, maxrec=3D9000) at =
/usr/src/lib/libc/xdr/xdr_rec.c:607
> #1  0x502440d4 in rendezvous_request (xprt=3D<optimized out>, =
msg=3D<optimized out>) at /usr/src/lib/libc/rpc/svc_vc.c:348
> #2  0x50245588 in svc_getreq_common (fd=3D<optimized out>) at =
/usr/src/lib/libc/rpc/svc.c:640
> #3  0x5024580c in svc_getreq_poll (pfdp=3D<optimized out>, =
pollretval=3D1) at /usr/src/lib/libc/rpc/svc.c:739
> #4  0x10018568 in my_svc_run () at =
/usr/src/usr.sbin/rpcbind/rpcb_svc_com.c:1167
> #5  0x10014ad8 in main (argc=3D<optimized out>, argv=3D<optimized =
out>) at /usr/src/usr.sbin/rpcbind/rpcbind.c:250
>=20
> (gdb) disass
> Dump of assembler code for function __xdrrec_setnonblock:
>   0x50250468 <+0>:	lwz     r5,12(r3)
>   0x5025046c <+4>:	li      r6,1
>   0x50250470 <+8>:	cmplwi  r4,0
> =3D> 0x50250474 <+12>:	stw     r6,64(r5)
>   0x50250478 <+16>:	bne     0x50250480 <__xdrrec_setnonblock+24>
>   0x5025047c <+20>:	lwz     r4,60(r5)
>   0x50250480 <+24>:	li      r3,1
>   0x50250484 <+28>:	stw     r4,92(r5)
>   0x50250488 <+32>:	blr
> End of assembler dump.
>=20
> (gdb) info reg
> r0             0x5c                92
> r1             0xffffb400          4294947840
> r2             0x500a1018          1342836760
> r3             0x500472d8          1342468824
> r4             0x2328              9000
> r5             0x2020              8224
> r6             0x1                 1
> r7             0xffffb364          4294947684
> r8             0x500472f4          1342468852
> r9             0x0                 0
> r10            0x20                32
> r11            0x502d8ea0          1345162912
> r12            0x24200880          606079104
> r13            0x0                 0
> r14            0x0                 0
> r15            0xffffbc28          4294949928
> r16            0x10002848          268445768
> r17            0x10040000          268697600
> r18            0x2                 2
> r19            0x0                 0
> r20            0x1                 1
> r21            0x5004c044          1342488644
> r22            0xffffb63c          4294948412
> r23            0x80                128
> r24            0x50048010          1342472208
> r25            0x14                20
> r26            0xffffb630          4294948400
> r27            0x500472d0          1342468816
> r28            0xe                 14
> r29            0x50047220          1342468640
> r30            0x5030112c          1345327404
> r31            0x10040000          268697600
> pc             0x50250474          0x50250474 =
<__xdrrec_setnonblock+12>
> msr            <unavailable>
> cr             0x44200080          1142947968
> lr             0x502440d4          0x502440d4 <rendezvous_request+584>
> ctr            0x502d8ea0          1345162912
> xer            0x0                 0
> fpscr          0x0                 0
> vscr           <unavailable>
> vrsave         <unavailable>
>=20
>=20
> dhclient and sendmail have notices of signal 11's
> but I do not find any .core files around for them.
>=20
> Prior to this upgrade I was having no such problems
> with the 32-bit powerpc PowerMac.

I substituted the debug-kernel from:

=
https://artifact.ci.freebsd.org/snapshot/head/r360311/powerpc/powerpc/kern=
el.txz

and with it there is no evidence so far of the
problem(s) occurring. Since the same world build is
in use in both contexts, it looks like the kernel
is what makes the difference for the problem(s).

With the debug-kernel avoiding the problem, I've yet
to figure out how to gather evidence.


=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D57AB314-48E8-4371-B392-3C591CBC0367>