Date: Tue, 28 Mar 2017 11:38:10 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Steven Hartland <killing@multiplay.co.uk> Cc: "K. Macy" <kmacy@freebsd.org>, "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org> Subject: Re: Help needed to identify golang fork / memory corruption issue on FreeBSD Message-ID: <20170328083810.GR43712@kib.kiev.ua> In-Reply-To: <85f86a20-948f-025a-0d09-92ee2a815136@multiplay.co.uk> References: <20170317082333.GP16105@kib.kiev.ua> <180a601b-5481-bb41-f7fc-67976aabe451@multiplay.co.uk> <20170317124437.GR16105@kib.kiev.ua> <5ba92447-945e-6fea-ad4f-f58ac2a0012e@multiplay.co.uk> <20170327161833.GL43712@kib.kiev.ua> <3ec35a46-ae70-35cd-29f8-82e7cebb0eb6@multiplay.co.uk> <20170327164905.GN43712@kib.kiev.ua> <17f29342-f3c0-5940-d012-1a698e59a384@multiplay.co.uk> <20170328075859.GQ43712@kib.kiev.ua> <85f86a20-948f-025a-0d09-92ee2a815136@multiplay.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 28, 2017 at 09:23:24AM +0100, Steven Hartland wrote: > As I stopped the panic before that I couldn't tell so I've re-run with > some debug added just before the panic to capture the addresses of the > workbuf structure that the issue was detected in, here goes (parent: > 62620, child: 98756): > > workbuf: 0x800b51800 > fatal error: workbuf is not empty > workbuf: 0x800a72000 > fatal error: workbuf is empty > workbuf: 0x800a72000 > fatal error: workbuf is not empty I do not understand. Why do you show several addresses ? Wouldn't the runtime panic after detecting the discrepancy, so there could be only one address ? > > procstat -v 62620 98756 > PID START END PRT RES PRES REF SHD FLAG > TP PATH > 62620 0x400000 0x70e000 r-x 309 595 5 1 CN-- vn > /root/golang/src/test5/test5 > 62620 0x70e000 0x951000 r-- 254 595 5 1 CN-- vn > /root/golang/src/test5/test5 > 62620 0x951000 0x988000 rw- 31 0 1 0 C--- vn > /root/golang/src/test5/test5 > 62620 0x988000 0x9ab000 rw- 18 0 1 0 C--- df > 62620 0x800951000 0x8009f1000 rw- 36 0 1 0 C--- df > 62620 0x8009f1000 0x800ac1000 rw- 28 0 1 0 C--- df > 62620 0x800ac1000 0x800ad1000 rw- 16 0 1 0 C--- df > 62620 0x800ad1000 0x800b91000 rw- 5 0 1 0 C--- df > 62620 0x800b91000 0x800bd1000 rw- 2 0 1 0 C--- df > 62620 0x800bd1000 0x800c11000 rw- 2 0 1 0 C--- df > 62620 0x800c11000 0x800c51000 rw- 1 1 2 0 CN-- df > 62620 0x800c51000 0x800c91000 rw- 1 0 1 0 C--- df > 62620 0x800c91000 0x800cd1000 rw- 1 0 1 0 C--- df > 62620 0xc000000000 0xc000001000 rw- 1 1 2 0 CN-- df > 62620 0xc41fff0000 0xc41fff8000 rw- 3 3 2 0 CN-- df > 62620 0xc41fff8000 0xc420200000 rw- 251 0 1 0 C--- df > 62620 0x7ffffffdf000 0x7ffffffff000 rwx 2 0 1 0 C--D df > 62620 0x7ffffffff000 0x800000000000 r-x 1 1 28 0 ---- ph > 98756 0x400000 0x70e000 r-x 309 595 5 1 CN-- vn > /root/golang/src/test5/test5 > 98756 0x70e000 0x951000 r-- 254 595 5 1 CN-- vn > /root/golang/src/test5/test5 > 98756 0x951000 0x988000 rw- 31 0 2 1 CN-- vn > /root/golang/src/test5/test5 > 98756 0x988000 0x9ab000 rw- 18 18 2 1 CN-- df > 98756 0x800951000 0x8009f1000 rw- 36 36 2 1 CN-- df > 98756 0x8009f1000 0x800ac1000 rw- 28 28 2 1 CN-- df > 98756 0x800ac1000 0x800ad1000 rw- 16 16 2 1 CN-- df > 98756 0x800ad1000 0x800b91000 rw- 5 5 2 1 CN-- df > 98756 0x800b91000 0x800bd1000 rw- 2 2 2 1 CN-- df > 98756 0x800bd1000 0x800c11000 rw- 2 2 2 1 CN-- df > 98756 0x800c11000 0x800c51000 rw- 1 1 2 0 CN-- df > 98756 0x800c51000 0x800c91000 rw- 1 1 2 1 CN-- df > 98756 0x800c91000 0x800cd1000 rw- 1 1 2 1 CN-- df > 98756 0xc000000000 0xc000001000 rw- 1 1 2 0 CN-- df > 98756 0xc41fff0000 0xc41fff8000 rw- 3 3 2 0 CN-- df > 98756 0xc41fff8000 0xc420200000 rw- 251 0 1 0 C--- df > 98756 0x7ffffffdf000 0x7ffffffff000 rwx 2 2 2 1 CN-D df > 98756 0x7ffffffff000 0x800000000000 r-x 1 1 28 0 ---- ph > > Regards > Steve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170328083810.GR43712>