1 |
On Sunday 06 March 2011 13:07:36 Alex Efros wrote: |
2 |
> Hi! |
3 |
> |
4 |
> Или я что-то упускаю, или emerge странно подсчитывает пакеты для установки. |
5 |
> Дело было так: недавно обновились linux-headers, glibc и gcc, так что я |
6 |
> решил для профилактики всё пересобрать. Первое, что насторожило - emerge |
7 |
> почему-то не все пакеты решил устанавливать: |
8 |
> |
9 |
> # qlist -I -v | wc |
10 |
> 866 866 57865 |
11 |
> |
12 |
> 1299338495: Started emerge on: Mar 05, 2011 17:21:35 |
13 |
> 1299338495: *** emerge --with-bdeps --emptytree --usepkg world |
14 |
> 1299338543: >>> emerge (1 of 860) sys-libs/zlib-1.2.3-r1 to / |
15 |
> … |
16 |
> |
17 |
> Где ещё 6 пакетов? Я думал, будут пропущены мультислотовые пакеты, но |
18 |
> во-первых их больше 6-ти, а во-вторых судя по emerge.log они как раз все |
19 |
> были установлены. Вот список, на всякий случай: |
20 |
> |
21 |
> # qlist -I -v -D |
22 |
> app-text/docbook-xml-dtd-4.5 |
23 |
> app-text/docbook-xml-dtd-4.3 |
24 |
> app-text/docbook-xml-dtd-4.4 |
25 |
> dev-lang/python-3.1.3 |
26 |
> dev-lang/python-2.6.6 |
27 |
> dev-libs/glib-2.26.1 |
28 |
> dev-libs/glib-1.2.10 |
29 |
> dev-libs/openssl-1.0.0d |
30 |
> dev-libs/openssl-0.9.8r |
31 |
> kde-base/kdelibs-4.4.5 |
32 |
> kde-base/kdelibs-3.5.10 |
33 |
> media-libs/libpng-1.4.5 |
34 |
> media-libs/libpng-1.2.44 |
35 |
> sys-devel/autoconf-2.65 |
36 |
> sys-devel/autoconf-2.13 |
37 |
> sys-devel/automake-1.9.6 |
38 |
> sys-devel/automake-1.10.3 |
39 |
> sys-devel/automake-1.11.1 |
40 |
> sys-libs/db-4.8.30 |
41 |
> sys-libs/db-4.7.25_p4 |
42 |
> x11-libs/gtk+-2.22.1 |
43 |
> x11-libs/gtk+-1.2.10 |
44 |
> |
45 |
> Но это ещё не всё. В ядре есть баг (не знаю, специфично ли это для hardened, |
46 |
> судя по имени файла mm/filemap.c:128 это скорее всего баг в vanilla), |
47 |
> который я уже видел примерно пол-года/год назад на старом ядре, и с |
48 |
> огорчением обнаружил его снова на 2.6.36-hardened-r9. Баг этот обычно |
49 |
> проявляется в процессе больших emerge-ей или revdep-rebuild. Думаю, это |
50 |
> может быть связано с тем, что при этих операциях выполняется необычно много |
51 |
> файловых операций - в других случаях я его в логах ядра не видел. Выглядит |
52 |
> это примерно так: |
53 |
> |
54 |
> <0>------------[ cut here ]------------ |
55 |
> kern.crit: kernel BUG at mm/filemap.c:128! |
56 |
> <0>invalid opcode: 0000 [#1] SMP |
57 |
> <0>last sysfs file: /sys/devices/virtual/vtconsole/vtcon0/uevent |
58 |
> kern.warn: Modules linked in: act_police cls_fw cls_u32 sch_ingress |
59 |
> sch_tbf sch_sfq sch_prio sch_cbq sch_htb nvidia(P) vmnet vmblock vmci vmmon |
60 |
> sky2 8139too skge kern.warn: |
61 |
> kern.warn: Pid: 11233, comm: emerge Tainted: P |
62 |
> 2.6.36-hardened-r9 #2 P5B-Deluxe/System Product Name kern.warn: EIP: |
63 |
> 0060:[<c10743be>] EFLAGS: 00210002 CPU: 0 |
64 |
> kern.warn: EAX: 00000001 EBX: c366cce0 ECX: 00000018 EDX: 00000009 |
65 |
> kern.warn: ESI: eac929c8 EDI: 0000000e EBP: dfcefd18 ESP: dfcefd0c |
66 |
> kern.warn: DS: 0068 ES: 0068 FS: 00d8 GS: 00e0 SS: 0068 |
67 |
> <0>Process emerge (pid: 11233, ti=dfcee000 task=e79c5410 |
68 |
> task.ti=dfcee000) <0>Stack: |
69 |
> kern.warn: 0000000d c366cce0 eac929c8 dfcefd28 c10743f7 c366cce0 |
70 |
> eac929c8 dfcefd44 kern.warn: <0> c107bfce 00001000 00000000 00000000 |
71 |
> c366cce0 0000000d dfcefdb0 c107c0fa kern.warn: <0> 0000000e 00000000 |
72 |
> 00000000 00000000 eac929c8 ffffffff 0000000e 00000000 <0>Call Trace: |
73 |
> kern.warn: [<c10743f7>] ? remove_from_page_cache+0x27/0x40 |
74 |
> kern.warn: [<c107bfce>] ? truncate_inode_page+0x7e/0xc0 |
75 |
> kern.warn: [<c107c0fa>] ? truncate_inode_pages_range+0xea/0x2b0 |
76 |
> kern.warn: [<c107c2da>] ? truncate_inode_pages+0x1a/0x20 |
77 |
> kern.warn: [<c1120085>] ? ext3_evict_inode+0x35/0x170 |
78 |
> kern.warn: [<c10b439a>] ? evict+0x1a/0xa0 |
79 |
> kern.warn: [<c10b4c49>] ? iput+0x159/0x240 |
80 |
> kern.warn: [<c10b1317>] ? dentry_iput+0x67/0xb0 |
81 |
> kern.warn: [<c10b1415>] ? d_kill+0x35/0x60 |
82 |
> kern.warn: [<c10b236e>] ? dput+0x6e/0x140 |
83 |
> kern.warn: [<c10ab570>] ? sys_renameat+0x1f0/0x2c0 |
84 |
> kern.warn: [<c10a2868>] ? cp_new_stat64+0x118/0x170 |
85 |
> kern.warn: [<c10ab668>] ? sys_rename+0x28/0x30 |
86 |
> kern.warn: [<c13f4edc>] ? syscall_call+0x7/0xb |
87 |
> kern.warn: [<c13f0000>] ? snd_emu10k1_init_efx+0x1a49/0x27ee |
88 |
> kern.warn: [<c1090000>] ? do_mremap+0x270/0x460 |
89 |
> kern.warn: [<c13f4ef5>] ? restore_all+0x0/0x18 |
90 |
> <0>Code: d5 08 00 00 00 89 14 24 ba ff ff ff ff e8 cb eb 16 00 53 9d 83 |
91 |
> c4 04 5b 5e c9 c3 66 90 ba 16 00 00 00 89 d8 e8 f4 ee 00 00 eb 89 <0f> 0b |
92 |
> eb fe 8d b4 26 00 00 00 00 8d bc 27 00 00 00 00 55 89 e5 <0>EIP: |
93 |
> [<c10743be>] __remove_from_page_cache+0xae/0xc0 SS:ESP 0068:dfcefd0c |
94 |
> kern.warn: ---[ end trace 8ee95cd55cf8c673 ]--- |
95 |
> |
96 |
> после чего ещё одна такая же ошибка, и: |
97 |
> |
98 |
> kern.alert: Fixing recursive fault but reboot is needed! |
99 |
> |
100 |
> Процесс emerge/revdep-rebuild вызвавший ошибку при этом подвисает намертво |
101 |
> (kill -9 его снять не может), остальная система вроде работает, но я обычно |
102 |
> перегружаюсь, как и просит ядро. (И, кстати, обычно это происходит во время |
103 |
> установки бинарного пакета через `emerge -k`, а не при обычной компиляции.) |
104 |
> |
105 |
> Я описал это к тому, что в процессе `emerge -ke world`, который и так |
106 |
> потерял где-то 6 пакетов, мне пару раз пришлось перегружаться и делать |
107 |
> `emerge --resume`. При этом потерялись ещё некоторые пакеты, смотрите: |
108 |
> |
109 |
> 1299338495: *** emerge --with-bdeps --emptytree --usepkg world |
110 |
> 1299338543: >>> emerge (1 of 860) sys-libs/zlib-1.2.3-r1 to / |
111 |
> … |
112 |
> 1299357290: >>> emerge (610 of 860) x11-themes/gnome-themes-2.32.1 to / |
113 |
> 1299357290: === (610 of 860) Cleaning |
114 |
> (x11-themes/gnome-themes-2.32.1::/usr/portage/x11-themes/gnome-themes/gnome |
115 |
> -themes-2.32.1.ebuild) 1299357291: === (610 of 860) Compiling/Merging |
116 |
> (x11-themes/gnome-themes-2.32.1::/usr/portage/x11-themes/gnome-themes/gnome |
117 |
> -themes-2.32.1.ebuild) 1299357296: *** terminating. |
118 |
> 1299357308: Started emerge on: Mar 05, 2011 22:35:08 |
119 |
> 1299357308: *** emerge --with-bdeps --resume |
120 |
> 1299357338: *** Resuming merge... |
121 |
> 1299357345: >>> emerge (1 of 251) app-vim/gentoo-syntax-20101212 to / |
122 |
> … |
123 |
> 1299369928: >>> emerge (79 of 251) sys-devel/gcc-4.4.5 to / |
124 |
> 1299369928: === (79 of 251) Merging Binary |
125 |
> (sys-devel/gcc-4.4.5::/usr/portage-packages/sys-devel/gcc-4.4.5.tbz2) |
126 |
> 1299369935: *** Finished. Cleaning up... |
127 |
> 1299369935: *** exiting unsuccessfully with status '1'. |
128 |
> 1299369943: *** terminating. |
129 |
> 1299371614: Started emerge on: Mar 06, 2011 02:33:34 |
130 |
> 1299371614: *** emerge --with-bdeps --ask depclean |
131 |
> 1299371615: >>> depclean |
132 |
> 1299371639: *** exiting unsuccessfully with status 'None'. |
133 |
> 1299371639: *** terminating. |
134 |
> 1299406860: Started emerge on: Mar 06, 2011 12:21:00 |
135 |
> 1299406860: *** emerge --with-bdeps --resume |
136 |
> 1299406886: *** Resuming merge... |
137 |
> 1299406890: >>> emerge (1 of 162) sys-apps/iproute2-2.6.35-r2 to / |
138 |
> |
139 |
> В первом --resume всё нормально: 860-610+1 == 251. |
140 |
> А во втором 251-79+1 = 173, а не 162! Куда делось ещё 11 пакетов? |
141 |
> (Правда, я немного недоглядел, сонный был, решил что всё закончило |
142 |
> собираться и запустил --depclean - но он никаких пакетов не удалял, |
143 |
> так что из-за этого 10 пакетов потеряться не должно было!) |
144 |
> |
145 |
> Сейчас жду, пока всё закончит собираться, и тогда сравню все установленные |
146 |
> пакеты согласно emerge.log и полный список пакетов из `qlist -I -v` чтобы |
147 |
> выяснить какие именно пакеты не были установлены, может это что-то прояснит. |
148 |
|
149 |
|
150 |
A с какими параметрами запускали ? --with-bdeps y было указано ? |
151 |
|
152 |
ИМХО, 6 пакетов - это то что входить в DEPEND , но не входит в RDEPEN и не |
153 |
присустствует в @system. T.e оно надо только для сборки ( как пример - |
154 |
генерация доков из/в xml потянет docbook-xml-simple-dtd ) у нек. пакетов |