1 |
On 12/21/2015 12:24 PM, Joakim Tjernlund wrote: |
2 |
> Lately it feels like emerge has been getting unusual slow to calculate dependencies. |
3 |
> I did a strace while emerge was running and noticed a lot of: |
4 |
> |
5 |
> stat64("/usr/portage/profiles/base/profile.bashrc", {st_mode=S_IFREG|0644, st_size=183, ...}) = 0 |
6 |
> stat64("/usr/portage/profiles/default/linux/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
7 |
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
8 |
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
9 |
> stat64("/usr/portage/profiles/default/linux/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
10 |
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
11 |
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
12 |
> stat64("/usr/portage/profiles/arch/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
13 |
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
14 |
> stat64("/usr/portage/profiles/releases/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
15 |
> stat64("/usr/portage/profiles/releases/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
16 |
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
17 |
> stat64("/usr/local/portage/tmv3-target-overlay/profiles/cusfpv3/profile.bashrc", {st_mode=S_IFREG|0644, st_size=133, ...}) = 0 |
18 |
> stat64("/etc/portage/profile/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
19 |
> 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) |
20 |
> access("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", R_OK) = 0 |
21 |
> stat64("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0 |
22 |
> open("/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.1-r1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5 |
23 |
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0 |
24 |
> ioctl(5, TCGETS, 0xbfbb0d88) = -1 ENOTTY (Inappropriate ioctl for device) |
25 |
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0 |
26 |
> _llseek(5, 0, [0], SEEK_CUR) = 0 |
27 |
> _llseek(5, 0, [0], SEEK_CUR) = 0 |
28 |
> _llseek(5, 0, [0], SEEK_CUR) = 0 |
29 |
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0 |
30 |
> read(5, "DEFINED_PHASES=compile configure"..., 1351) = 1350 |
31 |
> read(5, "", 1) = 0 |
32 |
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0 |
33 |
> close(5) = 0 |
34 |
> open("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5 |
35 |
> fstat64(5, {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0 |
36 |
> ioctl(5, TCGETS, 0xbfbb0898) = -1 ENOTTY (Inappropriate ioctl for device) |
37 |
> fstat64(5, {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0 |
38 |
> _llseek(5, 0, [0], SEEK_CUR) = 0 |
39 |
> read(5, "# Copyright 1999-2015 Gentoo Fou"..., 32768) = 4215 |
40 |
> read(5, "", 24576) = 0 |
41 |
> read(5, "", 32768) = 0 |
42 |
> close(5) = 0 |
43 |
> stat64("/usr/portage/profiles/base/profile.bashrc", {st_mode=S_IFREG|0644, st_size=183, ...}) = 0 |
44 |
> stat64("/usr/portage/profiles/default/linux/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
45 |
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
46 |
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
47 |
> stat64("/usr/portage/profiles/default/linux/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
48 |
> stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
49 |
> stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
50 |
> stat64("/usr/portage/profiles/arch/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
51 |
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
52 |
> stat64("/usr/portage/profiles/releases/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
53 |
> stat64("/usr/portage/profiles/releases/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
54 |
> stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
55 |
> stat64("/usr/local/portage/tmv3-target-overlay/profiles/cusfpv3/profile.bashrc", {st_mode=S_IFREG|0644, st_size=133, ...}) = 0 |
56 |
> stat64("/etc/portage/profile/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory) |
57 |
> 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) |
58 |
> access("/usr/portage/dev-libs/apr/apr-1.5.0-r2.ebuild", R_OK) = 0 |
59 |
> stat64("/usr/portage/dev-libs/apr/apr-1.5.0-r2.ebuild", {st_mode=S_IFREG|0644, st_size=4047, ...}) = 0 |
60 |
> open("/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.0-r2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5 |
61 |
> fstat64(5, {st_mode=S_IFREG|0644, st_size=1341, ...}) = 0 |
62 |
> ioctl(5, TCGETS, 0xbfbb0d88) = -1 ENOTTY (Inappropriate ioctl for device) |
63 |
> |
64 |
> |
65 |
> Could this constant stating of profile.bashrc account for some slowness? |
66 |
|
67 |
The stat calls indicate that it is executing the "depend" phase to |
68 |
generate ebuild metadata cache, which only happens when data in the |
69 |
md5-cache directory is stale for some reason. For example, you can see |
70 |
this happen above for the |
71 |
/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.1-r1 cache entry. An |
72 |
eclass-overrides setting in repos.conf can cause this. Are you using |
73 |
eclass-overrides? |
74 |
-- |
75 |
Thanks, |
76 |
Zac |