xvfb-управляемый держится, захватывают/ожидают в Ubuntu 15.04 Эластичного Бамбука AMI на AWS

Я пытаюсь запустить некоторые бездисплейные тесты робота/Селена через Эластичное Бамбуковое использование Xvfb на Ubuntu 15.04 в AWS EC2. Это работает, если я выполняю Xvfb вручную и затем запускаю тест...

export display=:99
Xvfb :99 -screen 0 1024x768x24 -nolisten tcp -ac &
pybot --nostatusrc --variablefile variables/vars.py -e TBD -e broken -x xunit -d reports/ tests/
<test output appears>

Но я хочу использовать предоставленный xvfb-управляемый сценарий, таким образом, я могу выполнить набор тестов параллельно и сделать, чтобы они использовали различные дисплеи. Когда я выполняю его через xvfb-управляемый однако, это зависает, никакой вывод, никогда не завершается.

xvfb-run -a -e /dev/stdout --nostatusrc --variablefile variables/vars.py -e TBD -e broken -x xunit -d reports/ tests/
<hangs>

В/usr/bin/xvfb-run пишут сценарий, это - ядро функциональности:

# Start Xvfb.
MCOOKIE=$(mcookie)
tries=10
while [ $tries -gt 0 ]; do
    tries=$(( $tries - 1 ))
    XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
add :$SERVERNUM $XAUTHPROTO $MCOOKIE
EOF
    # handle SIGUSR1 so Xvfb knows to send a signal when it's ready to accept
    # connections
    trap : USR1
    (trap '' USR1; exec Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP -auth $AUTHFILE >>"$ERRORFILE" 2>&1) &
    XVFBPID=$!
    wait || :
    if kill -0 $XVFBPID 2>/dev/null; then
        break
    elif [ -n "$AUTONUM" ]; then
        # The display is in use so try another one (if '-a' was specified).
        SERVERNUM=$((SERVERNUM + 1))
        SERVERNUM=$(find_free_servernum)
        continue
    fi
    error "Xvfb failed to start" >&2
    XVFBPID=
    exit 1
done

Ничто не обнаруживается в stdout (или журнал, если я установил его на файл). Таким образом, я отредактировал xvfb-управляемый для установки-x, и что происходит, сценарий, добирается до должностного лица, затем зависает:

...
16-Nov-2015 14:36:52    + xauth source -
16-Nov-2015 14:36:52    + trap : USR1
16-Nov-2015 14:36:52    + XVFBPID=6123
16-Nov-2015 14:36:52    + wait
16-Nov-2015 14:36:52    + trap '' USR1
16-Nov-2015 14:36:52    + exec Xvfb :99 -screen 0 640x480x8 -nolisten tcp -auth /tmp/xvfb-run.js9dgH/Xauthority
<hangs here>

От изучения больше его, он добирается до "ожидания" и ожидает, что ребенок передаст SIGUSR1 обратно для продолжения, но это или никогда не становится отправленным от Xvfb или не получается правильно оболочкой.

У кого-либо есть строка на том, какова проблема могла быть?

Это работает над рабочим столом Ubuntu 15.10 в VirtualBox, сервером Ubuntu 15.10 в VirtualBox и запасом Каноническая Ubuntu AMI (ami-3ad5af50) в EC2, таким образом, это должно быть что-то характерное для Atlassian, настроенного Ubuntu AMI, но я не могу выяснить что... Я вручную обновил экземпляр от их AMI к 15,10, но это не разрешало его.

0
задан 20 November 2015 в 22:01

1 ответ

А-ч, неважно я наконец нашел проблему - Atlassian добавил собственный сценарий обертки Xvfb (/usr/local/bin/Xvfb), который блокировался, сигнал отправляют. Для любого, у кого есть эта проблема в будущем, проверьте и посмотрите, выполняется ли Xvfb непосредственно или через обертку, и если это - обертка, это повредится xvfb-управляемый.

0
ответ дан 30 September 2019 в 04:01

Другие вопросы по тегам:

Похожие вопросы: