On 12/21/2015 12:24 PM, Joakim Tjernlund wrote:
> Lately it feels like emerge has been getting unusual slow to calculate 
> dependencies.
> I did a strace while emerge was running and noticed a lot of:
> 
> stat64("/usr/portage/profiles/base/profile.bashrc", {st_mode=S_IFREG|0644, 
> st_size=183, ...}) = 0
> stat64("/usr/portage/profiles/default/linux/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/default/linux/powerpc/profile.bashrc", 
> 0xbfbb02d0) = -1 ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) 
> = -1 ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/profile.bashrc", 
> 0xbfbb02d0) = -1 ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/releases/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/releases/13.0/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/13.0/profile.bashrc",
>  0xbfbb02d0) = -1 ENOENT (No such file or directory)
> stat64("/usr/local/portage/tmv3-target-overlay/profiles/cusfpv3/profile.bashrc",
>  {st_mode=S_IFREG|0644, st_size=133, ...}) = 0
> stat64("/etc/portage/profile/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No 
> such file or directory)
> access("/usr/local/portage/tmv3-target-overlay/dev-libs/apr/apr-1.5.1-r1.ebuild",
>  R_OK) = -1 ENOENT (No such file or directory)
> access("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", R_OK) = 0
> stat64("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", 
> {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0
> open("/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.1-r1", 
> O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
> ioctl(5, TCGETS, 0xbfbb0d88)            = -1 ENOTTY (Inappropriate ioctl for 
> device)
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
> _llseek(5, 0, [0], SEEK_CUR)            = 0
> _llseek(5, 0, [0], SEEK_CUR)            = 0
> _llseek(5, 0, [0], SEEK_CUR)            = 0
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
> read(5, "DEFINED_PHASES=compile configure"..., 1351) = 1350
> read(5, "", 1)                          = 0
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
> close(5)                                = 0
> open("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", 
> O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
> fstat64(5, {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0
> ioctl(5, TCGETS, 0xbfbb0898)            = -1 ENOTTY (Inappropriate ioctl for 
> device)
> fstat64(5, {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0
> _llseek(5, 0, [0], SEEK_CUR)            = 0
> read(5, "# Copyright 1999-2015 Gentoo Fou"..., 32768) = 4215
> read(5, "", 24576)                      = 0
> read(5, "", 32768)                      = 0
> close(5)                                = 0
> stat64("/usr/portage/profiles/base/profile.bashrc", {st_mode=S_IFREG|0644, 
> st_size=183, ...}) = 0
> stat64("/usr/portage/profiles/default/linux/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/default/linux/powerpc/profile.bashrc", 
> 0xbfbb02d0) = -1 ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/arch/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) 
> = -1 ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/profile.bashrc", 
> 0xbfbb02d0) = -1 ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/releases/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/releases/13.0/profile.bashrc", 0xbfbb02d0) = -1 
> ENOENT (No such file or directory)
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/13.0/profile.bashrc",
>  0xbfbb02d0) = -1 ENOENT (No such file or directory)
> stat64("/usr/local/portage/tmv3-target-overlay/profiles/cusfpv3/profile.bashrc",
>  {st_mode=S_IFREG|0644, st_size=133, ...}) = 0
> stat64("/etc/portage/profile/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No 
> such file or directory)
> access("/usr/local/portage/tmv3-target-overlay/dev-libs/apr/apr-1.5.0-r2.ebuild",
>  R_OK) = -1 ENOENT (No such file or directory)
> access("/usr/portage/dev-libs/apr/apr-1.5.0-r2.ebuild", R_OK) = 0
> stat64("/usr/portage/dev-libs/apr/apr-1.5.0-r2.ebuild", 
> {st_mode=S_IFREG|0644, st_size=4047, ...}) = 0
> open("/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.0-r2", 
> O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1341, ...}) = 0
> ioctl(5, TCGETS, 0xbfbb0d88)            = -1 ENOTTY (Inappropriate ioctl for 
> device)
> 
> 
> Could this constant stating of profile.bashrc account for some slowness?

The stat calls indicate that it is executing the "depend" phase to
generate ebuild metadata cache, which only happens when data in the
md5-cache directory is stale for some reason. For example, you can see
this happen above for the
/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.1-r1 cache entry. An
eclass-overrides setting in repos.conf can cause this. Are you using
eclass-overrides?
-- 
Thanks,
Zac

Reply via email to