Назад | Перейти на главную страницу

Ошибка сегментации при запуске nuttcp внутри Docker

Я измеряю пропускную способность UDP между двумя контейнерами Docker, которые соединены собственной оверлейной сетью Docker. Я уже использовал iperf но также хотите измерить пропускную способность с помощью nuttcp. Но когда я запускаю экземпляр сервера, а затем запускаю экземпляр клиента, экземпляр сервера вылетает со следующим сообщением об ошибке: Segmentation fault (core dumped). Вот как я запустил сервер:

nuttcp -S -u --nofork

и вот так я запустил клиента:

nuttcp -u -T 115 10.0.0.3

Экземпляр сервера выходит из строя сразу после запуска клиента. Я использовал те же команды для запуска nuttcp вне Docker без проблем.

Вот дополнительная информация о версиях, которые я использую:

# inside the container:
$ uname -a
Linux 310d92462ac0 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ nuttcp -V
nuttcp-6.1.2

# outside the container:
$ uname -a
Linux libAMS 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ docker -v
Docker version 1.10.3, build 20f81dd

Есть у кого-нибудь идеи, как это решить?

Ошибка находится в версии: 6.1.2 из nuttcp. Для получения дополнительной информации и исправления прочтите эту ссылку. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745051

Я предлагаю использовать новую версию.

mkdir nuttcp
cd nuttcp/
wget http://nuttcp.net/nuttcp/beta/nuttcp-7.3.3.c

Если у вас нет gcc

sudo apt-get install build-essential manpages-dev

скомпилировать программу и запустить

cc nuttcp-7.3.3.c -o nuttcp-7
./nuttcp-7 –V
nuttcp-7.3.3