Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Mar 2015 12:29:14 -0500
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Don Lewis <truckman@FreeBSD.org>, alc@FreeBSD.org
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, clusteradm@FreeBSD.org, portmgr@FreeBSD.org
Subject:   Re: svn commit: r280327 - in head/sys: kern vm
Message-ID:  <5516E4EA.60201@FreeBSD.org>
In-Reply-To: <201503280241.t2S2fWcQ078499@gw.catspoiler.org>
References:  <201503280241.t2S2fWcQ078499@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--9U3ngmVQRHrRd1wngbqhuv8MgLOFQaHQi
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On 3/27/2015 9:41 PM, Don Lewis wrote:
> On 21 Mar, Alan Cox wrote:
>> Author: alc
>> Date: Sat Mar 21 17:56:55 2015
>> New Revision: 280327
>> URL: https://svnweb.freebsd.org/changeset/base/280327
>>
>> Log:
>>   Introduce vm_object_color() and use it in mmap(2) to set the color o=
f
>>   named objects to zero before the virtual address is selected.  Previ=
ously,
>>   the color setting was delayed until after the virtual address was
>>   selected.  In rtld, this delay effectively prevented the mapping of =
a
>>   shared library's code section using superpages.  Now, for example, w=
e see
>>   the first 1 MB of libc's code on armv6 mapped by a superpage after w=
e've
>>   gotten through the initial cold misses that bring the first 1 MB of =
code
>>   into memory.  (With the page clustering that we perform on read faul=
ts,
>>   this happens quickly.)
>>  =20
>>   Differential Revision:	https://reviews.freebsd.org/D2013
>>   Reviewed by:	jhb, kib
>>   Tested by:	Svatopluk Kraus (armv6)
>>   MFC after:	6 weeks
>>
>> Modified:
>>   head/sys/kern/kern_exec.c
>>   head/sys/vm/vm_fault.c
>>   head/sys/vm/vm_mmap.c
>>   head/sys/vm/vm_object.h
>>   head/sys/vm/vnode_pager.c
>=20
> This change appears to have partially broken package building.
>=20
> I recently set up a package building machine running 11.0-CURRENT
> r280642 and found that it was unable to build openjdk7 packages inside
> FreeBSD 8.4 and 9.3 poudriere jails, for both i386 and amd64.
>=20
> [snip]
> Compiling ../generated/adfiles/ad_x86_64_gen.cpp
> rm -f ad_x86_64_gen.o
> c++ -D_ALLBSD_SOURCE -D_GNU_SOURCE -DAMD64 -DPRODUCT -I. -I/wrkdirs/usr=
/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm/prims -I/wrkdirs/u=
sr/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm -I/wrkdirs/usr/p=
orts/java/openjdk7/work/openjdk/hotspot/src/share/vm/precompiled -I/wrkdi=
rs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/cpu/x86/vm -I/wrkdirs=
/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os_cpu/bsd_x86/vm -I/wr=
kdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os/bsd/vm -I/wrkdi=
rs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os/posix/vm -I../gene=
rated -DHOTSPOT_RELEASE_VERSION=3D"\"24.76-b04\"" -DHOTSPOT_BUILD_TARGET=3D=
"\"product\"" -DHOTSPOT_BUILD_USER=3D"\"root\"" -DHOTSPOT_LIB_ARCH=3D\"am=
d64\" -DHOTSPOT_VM_DISTRO=3D"\"OpenJDK\"" -O2 -pipe -fstack-protector -fn=
o-strict-aliasing -DTARGET_OS_FAMILY_bsd -DTARGET_ARCH_x86 -DTARGET_ARCH_=
MODEL_x86_64 -DTARGET_OS_ARCH_bsd_x86 -DTARGET_OS_ARCH_MODEL_bsd_x86_64 -=
DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1  -fno!
>  -rtti -fno-exceptions -pthread -fcheck-new -m64 -pipe -DTARGET_OS_FAMI=
LY_bsd -DTARGET_ARCH_x86 -DTARGET_ARCH_MODEL_x86_64 -DTARGET_OS_ARCH_bsd_=
x86 -DTARGET_OS_ARCH_MODEL_bsd_x86_64 -DTARGET_COMPILER_gcc -DCOMPILER2 -=
DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -pthread -fcheck-new -m64 -pip=
e -O3 -fno-strict-aliasing -DVM_LITTLE_ENDIAN -D_LP64=3D1 -fno-omit-frame=
-pointer -DINCLUDE_TRACE=3D1  -Wpointer-arith -Wconversion -Wsign-compare=
    -c  -fpch-deps -MMD -MP -MF ../generated/dependencies/ad_x86_64_forma=
t.o.d -o ad_x86_64_format.o ../generated/adfiles/ad_x86_64_format.cpp=20
> c++ -D_ALLBSD_SOURCE -D_GNU_SOURCE -DAMD64 -DPRODUCT -I. -I/wrkdirs/usr=
/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm/prims -I/wrkdirs/u=
sr/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm -I/wrkdirs/usr/p=
orts/java/openjdk7/work/openjdk/hotspot/src/share/vm/precompiled -I/wrkdi=
rs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/cpu/x86/vm -I/wrkdirs=
/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os_cpu/bsd_x86/vm -I/wr=
kdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os/bsd/vm -I/wrkdi=
rs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os/posix/vm -I../gene=
rated -DHOTSPOT_RELEASE_VERSION=3D"\"24.76-b04\"" -DHOTSPOT_BUILD_TARGET=3D=
"\"product\"" -DHOTSPOT_BUILD_USER=3D"\"root\"" -DHOTSPOT_LIB_ARCH=3D\"am=
d64\" -DHOTSPOT_VM_DISTRO=3D"\"OpenJDK\"" -O2 -pipe -fstack-protector -fn=
o-strict-aliasing -DTARGET_OS_FAMILY_bsd -DTARGET_ARCH_x86 -DTARGET_ARCH_=
MODEL_x86_64 -DTARGET_OS_ARCH_bsd_x86 -DTARGET_OS_ARCH_MODEL_bsd_x86_64 -=
DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1  -fno!
>  -rtti -fno-exceptions -pthread -fcheck-new -m64 -pipe -DTARGET_OS_FAMI=
LY_bsd -DTARGET_ARCH_x86 -DTARGET_ARCH_MODEL_x86_64 -DTARGET_OS_ARCH_bsd_=
x86 -DTARGET_OS_ARCH_MODEL_bsd_x86_64 -DTARGET_COMPILER_gcc -DCOMPILER2 -=
DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -pthread -fcheck-new -m64 -pip=
e -O3 -fno-strict-aliasing -DVM_LITTLE_ENDIAN -D_LP64=3D1 -fno-omit-frame=
-pointer -DINCLUDE_TRACE=3D1  -Wpointer-arith -Wconversion -Wsign-compare=
    -c  -fpch-deps -MMD -MP -MF ../generated/dependencies/ad_x86_64_gen.o=
=2Ed -o ad_x86_64_gen.o ../generated/adfiles/ad_x86_64_gen.cpp=20
> Compiling ../generated/adfiles/ad_x86_64_misc.cpp
> rm -f ad_x86_64_misc.o
> c++ -D_ALLBSD_SOURCE -D_GNU_SOURCE -DAMD64 -DPRODUCT -I. -I/wrkdirs/usr=
/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm/prims -I/wrkdirs/u=
sr/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm -I/wrkdirs/usr/p=
orts/java/openjdk7/work/openjdk/hotspot/src/share/vm/precompiled -I/wrkdi=
rs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/cpu/x86/vm -I/wrkdirs=
/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os_cpu/bsd_x86/vm -I/wr=
kdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os/bsd/vm -I/wrkdi=
rs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/os/posix/vm -I../gene=
rated -DHOTSPOT_RELEASE_VERSION=3D"\"24.76-b04\"" -DHOTSPOT_BUILD_TARGET=3D=
"\"product\"" -DHOTSPOT_BUILD_USER=3D"\"root\"" -DHOTSPOT_LIB_ARCH=3D\"am=
d64\" -DHOTSPOT_VM_DISTRO=3D"\"OpenJDK\"" -O2 -pipe -fstack-protector -fn=
o-strict-aliasing -DTARGET_OS_FAMILY_bsd -DTARGET_ARCH_x86 -DTARGET_ARCH_=
MODEL_x86_64 -DTARGET_OS_ARCH_bsd_x86 -DTARGET_OS_ARCH_MODEL_bsd_x86_64 -=
DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1  -fno!
>  -rtti -fno-exceptions -pthread -fcheck-new -m64 -pipe -DTARGET_OS_FAMI=
LY_bsd -DTARGET_ARCH_x86 -DTARGET_ARCH_MODEL_x86_64 -DTARGET_OS_ARCH_bsd_=
x86 -DTARGET_OS_ARCH_MODEL_bsd_x86_64 -DTARGET_COMPILER_gcc -DCOMPILER2 -=
DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -pthread -fcheck-new -m64 -pip=
e -O3 -fno-strict-aliasing -DVM_LITTLE_ENDIAN -D_LP64=3D1 -fno-omit-frame=
-pointer -DINCLUDE_TRACE=3D1  -Wpointer-arith -Wconversion -Wsign-compare=
    -c  -fpch-deps -MMD -MP -MF ../generated/dependencies/ad_x86_64_misc.=
o.d -o ad_x86_64_misc.o ../generated/adfiles/ad_x86_64_misc.cpp=20
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm/comp=
iler/abstractCompiler.cpp:1: fatal error: had to relocate PCH
> compilation terminated.
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/src/share/vm/util=
ities/accessFlags.cpp:1: fatal error: had to relocate PCH
> compilation terminated.
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'abstractCompiler.o' failed
> gmake[6]: *** [abstractCompiler.o] Error 1
> gmake[6]: *** Waiting for unfinished jobs....
> ../generated/adfiles/ad_x86_64.cpp:1: fatal error: had to relocate PCH
> compilation terminated.

Are you using ccache?

> ../generated/adfiles/ad_x86_64_clone.cpp:1: fatal error: had to relocat=
e PCH
> compilation terminated.
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'accessFlags.o' failed
> gmake[6]: *** [accessFlags.o] Error 1
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'ad_x86_64_clone.o' failed
> gmake[6]: *** [ad_x86_64_clone.o] Error 1
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'ad_x86_64.o' failed
> gmake[6]: *** [ad_x86_64.o] Error 1
> ../generated/adfiles/ad_x86_64_expand.cpp:1: fatal error: had to reloca=
te PCH
> compilation terminated.
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'ad_x86_64_expand.o' failed
> gmake[6]: *** [ad_x86_64_expand.o] Error 1
> ../generated/adfiles/ad_x86_64_gen.cpp:1: fatal error: had to relocate =
PCH
> compilation terminated.
> ../generated/adfiles/ad_x86_64_misc.cpp:1: fatal error: had to relocate=
 PCH
> compilation terminated.
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'ad_x86_64_gen.o' failed
> gmake[6]: *** [ad_x86_64_gen.o] Error 1
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'ad_x86_64_misc.o' failed
> gmake[6]: *** [ad_x86_64_misc.o] Error 1
> ../generated/adfiles/ad_x86_64_format.cpp:1: fatal error: had to reloca=
te PCH
> compilation terminated.
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/rules.make:149: recipe for target 'ad_x86_64_format.o' failed
> gmake[6]: *** [ad_x86_64_format.o] Error 1
> gmake[6]: Leaving directory '/wrkdirs/usr/ports/java/openjdk7/work/open=
jdk/build/bsd-amd64/hotspot/outputdir/bsd_amd64_compiler2/product'
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/makefile=
s/top.make:128: recipe for target 'the_vm' failed
> gmake[5]: *** [the_vm] Error 2
> gmake[5]: Leaving directory '/wrkdirs/usr/ports/java/openjdk7/work/open=
jdk/build/bsd-amd64/hotspot/outputdir/bsd_amd64_compiler2/product'
> /wrkdirs/usr/ports/java/openjdk7/work/openjdk/hotspot/make/bsd/Makefile=
:292: recipe for target 'product' failed
> gmake[4]: *** [product] Error 2
> gmake[4]: Leaving directory '/wrkdirs/usr/ports/java/openjdk7/work/open=
jdk/build/bsd-amd64/hotspot/outputdir'
> Makefile:191: recipe for target 'generic_build2' failed
> gmake[3]: *** [generic_build2] Error 2
> gmake[3]: Leaving directory '/wrkdirs/usr/ports/java/openjdk7/work/open=
jdk/hotspot/make'
> Makefile:151: recipe for target 'product' failed
> gmake[2]: *** [product] Error 2
> gmake[2]: Leaving directory '/wrkdirs/usr/ports/java/openjdk7/work/open=
jdk/hotspot/make'
> make/hotspot-rules.gmk:111: recipe for target 'hotspot-build' failed
> gmake[1]: *** [hotspot-build] Error 2
> gmake[1]: Leaving directory '/wrkdirs/usr/ports/java/openjdk7/work/open=
jdk'
> Makefile:251: recipe for target 'build_product_image' failed
> gmake: *** [build_product_image] Error 2
> =3D=3D=3D> Compilation failed unexpectedly.
>=20
> I was not seeing this problem on my older package builder running
> 10.1-STABLE.  Since this problem has not shown up on the FreeBSD packag=
e
> building cluster, I got suspicious that the change was quite recent.
>=20
> This old gcc bug report:
> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D14940>; led me to suspec=
t
> mmap().
>=20
> The old gcc source file /usr/src/contrib/gcc/ggc-common.c does a couple=

> of mmap() calls.   Tne first is in mmap_gt_pch_get_address() where a
> NULL first argument is used.  The address that gets returned is stashed=

> away and the region is unmapped.  Then a later call in
> mmap_gt_pch_use_address() passes this saved  address to mmap() as a
> hint.  It expects the mapped region to get mapped to the same base
> address.  If this does not happen, the above error is the result.

I don't know what I'm talking about but that doesn't sound like a very
safe assumption for the gcc code to make.

>=20
> If I go back to kernel source r280326, which immediately preceeds the
> above commit, I am able to successfully build openjdk7.
>=20
> I recommend that any machines in the ports cluster being used to build
> packages for FreeBSD 8 and 9 avoid upgrading past r280326 until this
> issue is resolved.  I have not observed any problems building packages
> for FreeBSD 10 and 11.
>=20

Is it 100% for you before and after? I've seen this error come up
randomly where a rebuild will succeed. or fail.


--=20
Regards,
Bryan Drewery


--9U3ngmVQRHrRd1wngbqhuv8MgLOFQaHQi
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJVFuTqAAoJEDXXcbtuRpfPzgsIAMif2+GyWXX6xhsK+fWU7PGV
yHJWEvIPtF+0V0xMjRaIuB4F5uppZs2Pg2DqRHg4xTejyN7l1W8dTj9KdSlpKf7T
/CCV4r/lZLMR+/qYuTS16K5TZ5M4gGO7iSsrcCMnP/YyPDV2D32kle9fLTTi4lb2
oGvjoox9kA4xwHDgq6NeXNXB6snQfVBQDssrUtmYbxuJF5nV8Shs0nW6L9I7qaB0
InON+BE8wWJ69t8bF8EGrbjWJaffYeDcRwXxE4SKNEYYXkqpLcFQCJa2TDD2Fu8j
wlb6qTbkO6NZ/p8qet7JpQ15QZ4sHWYlOrvqsrkMtdCjPfNNQe/jjB1u44C+Yl0=
=xId4
-----END PGP SIGNATURE-----

--9U3ngmVQRHrRd1wngbqhuv8MgLOFQaHQi--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5516E4EA.60201>