[ruby-core:116628] [Ruby master Bug#20085] Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux
From:
dorianmariefr via ruby-core <ruby-core@...>
Date:
2024-02-08 16:18:39 UTC
List:
ruby-core #116628
Issue #20085 has been updated by dorianmariefr (Dorian Mari=E9).
I can't deploy apps with Kamal (e.g. Docker) because of this crash
----------------------------------------
Bug #20085: Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on=
aarch64-linux
https://bugs.ruby-lang.org/issues/20085#change-106638
* Author: oleksii (Oleksii Leonov)
* Status: Closed
* Priority: Normal
* Assignee: katei (Yuta Saito)
* ruby -v: ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [aarch64-linux]
* Backport: 3.0: DONTNEED, 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED
----------------------------------------
```
ruby -e "Fiber.new{}.resume"
0.170 -e:1: [BUG] Segmentation fault at 0x0036ffffb4f110f0
0.170 ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [aarch64-linux]
0.170=20
0.170 -- Control frame information ----------------------------------------=
-------
0.170 c:0003 p:---- s:0010 e:000009 CFUNC :resume
0.170 c:0002 p:0007 s:0006 E:0005e0 EVAL -e:1 [FINISH]
0.170 c:0001 p:0000 s:0003 E:000b50 DUMMY [FINISH]
0.170=20
0.170 -- Ruby level backtrace information ---------------------------------=
-------
0.170 -e:1:in `<main>'
0.170 -e:1:in `resume'
0.170=20
0.170 -- Threading information --------------------------------------------=
-------
0.170 Total ractor count: 1
0.170 Ruby thread count for this ractor: 1
0.170=20
0.170 -- Machine register context -----------------------------------------=
-------
0.170 x0: 0x0000aaab11b4f570 x1: 0x0000aaab11de4a40 x2: 0x0000ffffe5571=
990
0.170 x3: 0x0000ffff9ac5ff60 x4: 0x0000ffff9ac60018 x5: 0x0000ffff9ac80=
000
0.170 x6: 0x0000ffffb5458b88 x7: 0x0000000000000000 x18: 0x00000000007ff=
fff
0.170 x19: 0x0000000000000000 x20: 0x0000000000000000 x21: 0x0000000000000=
000
0.170 x22: 0x0000000000000000 x23: 0x0000000000000000 x24: 0x0000000000000=
000
0.170 x25: 0x0000000000000000 x26: 0x0000000000000000 x27: 0x0000000000000=
000
0.170 x28: 0x0000000000000000 x29: 0x0000000000000000 sp: 0x0000ffff9ac60=
000
0.170 fau: 0x0036ffffb4f110f0
0.170=20
0.170 -- C level backtrace information ------------------------------------=
-------
0.171 Segmentation fault
```
- Ruby 3.3.0-rc1 and 3.2.2 work without Segmentation fault on both amd64 an=
d arm64.
- Ruby 3.3.0 works on amd64, but fails with Segmentation fault on arm64 (aa=
rch64-linux) on Ubuntu 22.04 and Debian Bookworm.
Dockerfile to reproduce:
```
FROM debian:bookworm
# Set UTF-8 locale by default.
ENV RBENV_ROOT=3D/usr/local/rbenv \
PATH=3D/usr/local/rbenv/bin:/usr/local/rbenv/shims:$PATH
RUN ( \
export DEBIAN_FRONTEND=3Dnoninteractive \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates curl git \
# standard dependencies for rbenv
autoconf \
patch \
build-essential \
rustc \
libssl-dev \
libyaml-dev \
libreadline6-dev \
zlib1g-dev \
libgmp-dev \
libncurses5-dev \
libffi-dev \
libgdbm6 \
libgdbm-dev \
libdb-dev \
uuid-dev \
)
ENV RBENV_VERSION=3D3.3.0
RUN ( \
export DEBIAN_FRONTEND=3Dnoninteractive \
# Install rbenv & ruby-build
&& git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv \
&& git clone https://github.com/rbenv/ruby-build.git /usr/local/rbenv/plu=
gins/ruby-build \
&& /usr/local/rbenv/plugins/ruby-build/install.sh \
&& echo 'export RBENV_ROOT=3D/usr/local/rbenv' >> /etc/profile.d/rbenv.sh=
\
&& echo 'export PATH=3D/usr/local/rbenv/bin:$PATH' >> /etc/profile.d/rben=
v.sh \
&& echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh \
&& echo 'export RBENV_ROOT=3D/usr/local/rbenv' >> /root/.bashrc \
&& echo 'export PATH=3D/usr/local/rbenv/bin:$PATH' >> /root/.bashrc \
&& echo 'eval "$(rbenv init -)"' >> /root/.bashrc \
&& eval "$(rbenv init -)"; rbenv install $RBENV_VERSION \
&& eval "$(rbenv init -)"; rbenv global $RBENV_VERSION \
)
RUN=20
RUN ruby -e "Fiber.new{}.resume"
```
`docker build --platform linux/arm64 .`
---Files--------------------------------
Dockerfile (1.53 KB)
--=20
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-c=
ore.ml.ruby-lang.org/