[devel] buildreq and ghc

Alexey Voinov =?iso-8859-1?q?voins_=CE=C1_altlinux=2Eru?=
Чт Авг 16 20:48:00 MSD 2007


Всем привет.

Задался я тут странной целью: обновить в Sisyphus darcs до свеженькой
версии (1.0.9). Всё бы замечательно, но никак не удаётся мне обновить
BuildRequires. Выглядит всё приблизительно так: в некоторый
произвольный момент времени (каждый раз разный) сборка под buildreq
останавливается во время запуска ghc (точнее остановки). Убрав всё
лишнее получаем следующую картинку:


$ strace -kqfF -e trace=file -o log -- rpmbuild -bc --target=i586 darcs.spec
...
checking for ghc... ghc
checking where GHC keeps its libraries...  <остановились>


$ ps fwww -p 5263,5264,5275,5374,5745
  PID TTY      STAT   TIME COMMAND
 5263 pts/2    S+     0:01 strace -kqfF -o log -- rpmbuild -bc --target=i586 darcs.spec
 5264 pts/2    TN+    0:00  \_ rpmbuild -bc --target=i586 darcs.spec
 5275 pts/2    TN+    0:00      \_ /bin/sh -e /home/voins/tmp/rpm-tmp.78893
 5374 pts/2    TN+    0:00          \_ /bin/sh ./configure --build=i586-alt-linux --host=i586-alt-linux --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var/lib --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --without-included-gettext --with-sendmail=/usr/sbin/sendmail
 5745 pts/2    ZN+    0:00              \_ [ghc-6.4.2] <defunct>


$ tail log
5745  times({tms_utime=0, tms_stime=0, tms_cutime=0, tms_cstime=0}) = 429668963
5745  close(2)                          = 0
5745  exit_group(0)                     = ?
5746  <... select resumed> )            = ? ERESTARTNOHAND (To be restarted)
5374  <... read resumed> "", 128)       = 0
5374  close(3)                          = 0
5374  rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
5374  rt_sigaction(SIGINT, {0x8071700, [], 0}, {SIG_IGN}, 8) = 0
5374  rt_sigaction(SIGINT, {SIG_IGN}, {0x8071700, [], 0}, 8) = 0
5374  waitpid(-1,


И кажется мне, когда я гляжу на всё на это, что здесь спрятался
какой-то race-condition, но вот понять в где он именно и как его
обойти моя мозга мне почему-то не даёт. Без strace сборка отрабатывает
замечательно и полностью и на i586, и на x86-64.


На всякий случай:

rpm-utils-0.9.6-alt1
strace-4.5.16-alt1
bash-3.1.17-alt2
ghc-6.4.2-alt2

-- 
Best Regards!
Alexey Voinov

voins на voins.program.ru
voins на altlinux.ru
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 188 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070816/993e6db3/attachment-0001.bin>


Подробная информация о списке рассылки Devel