tarantool / tarantool/tarantool

Tarantool docker image does not start with ipv6-only network stack

Open
#10,560 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug docker image
Dominant language
Lua
Stars
3.7k
Forks
419
Avg merge
1d 23h
Merged PRs (30d)
88

Description

Bug description

Tarantool does not start with ipv6-only network stack.

  • OS: [e.g. Linux]
  • OS Version: [e.g. Ubuntu 22.04]
  • Architecture: [amd64]

tarantool --version output:

root@7ccc0854b2a8:/opt/tarantool# tarantool --version
Tarantool 3.2.0-0-g6df312b1971
Target: Linux-x86_64-RelWithDebInfo
Build options: cmake . -DCMAKE_INSTALL_PREFIX=/tarantool/static-build/tarantool-prefix -DENABLE_BACKTRACE=TRUE
Compiler: GNU-8.3.1
C_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2  -fmacro-prefix-map=/tarantool=. -std=c11 -Wall -Wextra -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2 
CXX_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2  -fmacro-prefix-map=/tarantool=. -std=c++11 -Wall -Wextra -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2 

Docker image tag:

$ podman images tarantool
REPOSITORY                     TAG         IMAGE ID      CREATED      SIZE
docker.io/tarantool/tarantool  latest      5ae156c3e0b9  2 weeks ago  220 MB

Steps to reproduce

reproducer script:

podman network create --subnet 2001:db8:dead:babe::/64 ipv6-only
podman run -it --rm --network ipv6-only docker.io/tarantool/tarantool:latest

P.S. Docker has problems with ipv6-only support - https://github.com/moby/moby/issues/32850, so podman is used instead, it can work in ipv6-only mode out of the box.

Actual behavior

$ podman network create --subnet 2001:db8:dead:babe::/64 ipv6-only
ipv6-only
$ podman run -it --rm --network ipv6-only docker.io/tarantool/tarantool:latest
started
2024-09-11 11:52:53.604 [1] main/104/interactive I> Tarantool 3.2.0-0-g6df312b1971 Linux-x86_64-RelWithDebInfo
2024-09-11 11:52:53.604 [1] main/104/interactive I> log level 5 (INFO)
2024-09-11 11:52:53.604 [1] main/104/interactive I> wal/engine cleanup is paused
2024-09-11 11:52:53.604 [1] main/104/interactive I> mapping 268435456 bytes for memtx tuple arena...
2024-09-11 11:52:53.604 [1] main/104/interactive I> Actual slab_alloc_factor calculated on the basis of desired slab_alloc_factor = 1.044274
2024-09-11 11:52:53.604 [1] main/104/interactive I> mapping 134217728 bytes for vinyl tuple arena...
2024-09-11 11:52:53.605 [1] main/104/interactive I> update replication_synchro_quorum = 1
2024-09-11 11:52:53.605 [1] main/104/interactive I> instance uuid c494d11e-8b81-4c31-8c5f-0fd9c13b6f16
2024-09-11 11:52:53.605 [1] main/104/interactive evio.c:351 E> SocketError: can't resolve uri for bind, called on fd -1: Success
2024-09-11 11:52:53.605 [1] main/104/interactive F> can't initialize storage: can't resolve uri for bind, called on fd -1: Success

Expected behavior

Tarantool starts without errors.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with the Podman IPv6-only network commands in the issue and start at the reported evio.c:351 error. Trace why the default container startup cannot resolve its bind URI in an IPv6-only network; done means the tarantool image starts without the shown SocketError and storage initialization failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, linux
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.