Re: panic: in_pcblookup_local (?)
--k+w/mQv8wyuph6w0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Wed, May 01, 2013 at 06:45:53PM +0100, Robert N. M. Watson wrote:
>=20
> On 1 May 2013, at 16:56, John Baldwin wrote:
>=20
> > It looks like the ipi_hash_lock is locked (and udp_connect() locks it),=
so I=20
> > think the offending code is somewhere else. Also, I can't find anythin=
g that
> > removes an inp without hold the correct pcbinfo lock. Only thing I can=
think
> > of is if the pcbinfo pointer for an inp could change, so we could maybe
> > lock the wrong one while removing it?
> >=20
> > Hmmmmmm, you know. In in_pcbremlists() and in_pcbdrop(), we read inp_p=
hd=20
> > without holding the hash lock. I think that probably don't actaully bre=
ak
> > anything, but this feels like a locking issue of some sort.
>=20
> I'll need to catch up on this thread later, but a few questions:
>=20
> Do we know if the application in question is multithreaded, and
> if so, might it be attempting concurrent operations on this socket?
I do not know if zabbix-agent is multithreaded, but cf-agent is.
> The corrupted pointer is worrying ... but interesting, and suggests
> something else is going on here -- stack corruption earlier in the
> system call, perhaps?
>=20
> In general, to modify our various hash lists you must lock both
> the inpcb and the list. It's therefore sufficient to hold either
> lock to read, so reading inp_phd should be OK with the inpcb lock
> held, even without the hash lock held.
>=20
> Do we have a dump of *inp, and if so, can we confirm that the
> inpcb is still properly referenced, if there is an associated socket,
> likewise a dump of *inp->inp_socket to check things are properly
> referenced there?
>=20
I will follow up with this information as soon as possible.
Glen
--k+w/mQv8wyuph6w0
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)
iQEcBAEBCAAGBQJRgVjpAAoJEFJPDDeguUajIhAIAJ8zBs7CWHqPshgASEoRNLct
gNl+GsLa5jXLkkkdAJy+UW+cadeBWDHg5cnNYpTPNTL0BIIZ65Lm2iGfYaLqLPHs
8sDC9TsMiG7SDZfpLVWLBWuZGuwr0q/2wLgdWWnV8OEzH6SkeQAop0z1hvaJrGEb
4aklPpwGFT3lXD7DaQrb0Q4Iu68P3cy3XGDBTczJj3nEaGdywEmYZtTUQv9uflC2
FH+9BZtO5kdGYEwfvXuYO3AM4th+zGmvnce/7Wt5mw8cIZXDkYYeAioblaIpQlP4
Ldi0R87FhiWpBSDVtFta5EVxQvWsVAXcdxscoEDibHw4zsXycZR/oQNeQWuSPTc=
=8TRT
-----END PGP SIGNATURE-----
--k+w/mQv8wyuph6w0--
討論串 (同標題文章)
完整討論串 (本文為第 11 之 22 篇):