[devel] xvfb-run -a

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пт Сен 26 23:05:36 MSD 2008


On Fri, Sep 26, 2008 at 10:01:40PM +0400, Valery V. Inozemtsev wrote:
> В сообщении от 26 сентября 2008 Dmitry V. Levin написал(a):
> > On Fri, Sep 26, 2008 at 08:39:58PM +0400, Valery V. Inozemtsev wrote:
> > > В сообщении от 25 сентября 2008 Dmitry V. Levin написал(a):
> > > > On Thu, Sep 25, 2008 at 05:19:48AM +0000, Alexey Tourbin wrote:
> > > > > On Mon, Sep 22, 2008 at 03:00:24PM +0400, Dmitry V. Levin wrote:
> > > > > > > Когда в хост-системе уже запущен X сервер, то в сборочном чруте
> > > > > > > xvfb-run с опцией "-a" (автоматический подбор свободного номера)
> > > > > > > вообще не работает. Причем xvfb-run в таком случае не отваливает.
> > > > > > >
> > > > > > > [builder на solemn ~]$ xvfb-run -a /bin/echo 666
> > > > > > > xauth:  creating new authority file /usr/src/.Xauthority
> > > > > > > _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener()
> > > > > > > failed
> > > > > >
> > > > > > Нет, это UNIXCreateListener, стало быть, дело не в хост-системе, а
> > > > > > том, что в сборочном чруте остались неисправимые следы предыдущего
> > > > > > запуска сервера, возможно, даже целый X сервер.
> > > > >
> > > > > По-моему, дело в хост-системе.  В начисто сформированном чруте всё
> > > > > это воспроизводится.
> > > > >
> > > > > $ hsh --init && hsh-install xvfb-run && hsh-run -- sh -c 'cd;
> > > > > xvfb-run -a /bin/echo 666' ...
> > > > > <13>Sep 25 05:16:55 rpmi: xorg-xvfb-2:1.5.1-alt1 installed
> > > > > <13>Sep 25 05:16:55 rpmi: xvfb-run-1.3-alt1 installed
> > > > > xauth:  creating new authority file /usr/src/.Xauthority
> > > > > _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
> > > > > _XSERVTransMakeAllCOTSServerListeners: server already running
> > > > > Fatal server error:
> > > > > Cannot establish any listening sockets - Make sure an X server isn't
> > > > > already running
> > > >
> > > > Тогда это regression в SocketCreateListener.
> > >
> > > нет, это abstract socket
> > > $ netstat -l | grep X11
> > > unix  2      [ ACC ]     STREAM     LISTENING     664311
> > > @/tmp/.X11-unix/X0 unix  2      [ ACC ]     STREAM     LISTENING    
> > > 664312 /tmp/.X11-unix/X0
> > >
> > > проделки RH
> > > commit 2afe206ec9569e0d62caa6d91c3fb057b0efa23d
> > > Author: Adam Jackson <ajax на redhat.com>
> > > Date:   Wed Mar 5 20:48:59 2008 -0500
> > >
> > >     Add support for the abstract socket namespace under Linux.
> > >
> > >     Unlike normal unix sockets, the abstract namespace is not bound to
> > > the filesystem.  This has some notable advantages; /tmp need not exist,
> > > the socket directory need not have magic permissions, etc.  xtrans
> > > servers will listen on both the normal and abstract socket endpoints;
> > > clients will attempt to connect to the abstract socket before connecting
> > > to the corresponding filesystem socket.
> > >
> > >     Based on a patch by Bill Crawford.
> >
> > Это известный класс граблей:
> > abstract namespace не имеет никаких разграничений доступа; можно легко и
> > непринуждённо устроить DoS, так что X server нельзя будет запустить совсем.
> >
> > Так что я считаю это изменение ошибочным.
> 
> xorg-server-1.5.1-alt2. в 4.1 это нужно?

Давай сперва проверим, не завязался ли кто-нибудь на эту фичу.

> > Надо откатить и написать в upstream.
> 
> с этим сложнее с моим то английским. началось это отсюда
> http://gitweb.freedesktop.org/?p=xorg/lib/libxtrans.git;a=commit;h=2afe206ec9569e0d62caa6d91c3fb057b0efa23d

OK, намёк понял. :)


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


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