tarantool / tarantool/tarantool
Tarantool docker image does not start with ipv6-only network stack
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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