rapidsai / rapidsai/docker

[BUG] Basic linux commands (nano, htop) cause segmentation faults in a dev image

Open
#489 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

? - Needs Triage bug
Dominant language
Shell
Stars
87
Forks
59
Avg merge
22h 56m
Merged PRs (30d)
4

Description

Describe the bug
This is the problematic docker image: rapidsai/rapidsai-core-dev:22.06-cuda11.5-devel-ubuntu20.04-py3.9. After pulling this image and running this container using the instructions given in the release selector, trying to use basic commands like nano or htop from the command line results in `Segmentation fault (core dumped).

Steps/Code to reproduce bug

docker pull rapidsai/rapidsai-core-dev:22.06-cuda11.5-devel-ubuntu20.04-py3.9
sudo docker run --gpus all --rm -it  --shm-size=1g --ulimit memlock=-1  -p 8888:8888 -p 8787:8787 -p 8786:8786     rapidsai/rapidsai-core-dev:22.06-cuda11.5-devel-ubuntu20.04-py3.9

This will open a terminal inside the container. In the container try doing:

(rapids) root@bd7436c2aa8b:/rapids/notebooks# cd
(rapids) root@bd7436c2aa8b:~# touch a b c d
 (rapids) root@bd7436c2aa8b:~# ls
a  b  c  d
(rapids) root@bd7436c2aa8b:~# watch -n 1 ls
Segmentation fault (core dumped)

Additionally, let's say we try installing stuff like nano or htop:

$ apt-get update
$ apt-get install nano htop
$ nano a
Segmentation fault (core dumped)
$ htop
Segmentation fault (core dumped)

Expected behavior
People using this docker image should be able to use basic tools like these.

Additional Context:
I tried installing GDB and running nano/htop/watch with gdb to see what happens:

$ gdb /usr/bin/nano 
+ gdb /usr/bin/nano
(gdb) run
Starting program: /usr/bin/nano
warning: Error disabling address space randomization: Operation not permitted

Program received signal SIGSEGV, Segmentation fault.
0x00007f195a257b9f in termattrs_sp () from /opt/conda/envs/rapids/lib/libncursesw.so.6
(gdb) run
Starting program: /usr/bin/htop
warning: Error disabling address space randomization: Operation not permitted 
Program received signal SIGSEGV, Segmentation fault. 
0x00007f0d45772b9f in termattrs_sp () from /opt/conda/envs/rapids/lib/libncursesw.so.6

Also, this seems to be a problem affecting the development images only. For example trying to run nano/htop/watch on the base container causes no issues. Docker run command used for base container:

docker run --gpus all --rm -it     --shm-size=1g --ulimit memlock=-1     rapidsai/rapidsai-core:22.06-cuda11.5-base-ubuntu20.04-py3.9

Environment details (please complete the following information):

  • Environment location: Cloud (Azure) - though it's a dedicated VM.
  • Method of install: Docker (docker pull and run commands provided above)

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 provided development-image Docker command and compare it with the working base image. Inspect how the development image resolves libncursesw.so.6, then verify that nano, htop, and watch run without segmentation faults in the affected image.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, linux, shell, ubuntu
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.