-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Investigate issue 1502: Node tests systematically fail in ubuntu-24.04-arm (Node 22, gcc, g++, -Db_sanitize=address, Debug) #1503
Conversation
This can be tested without creating a PR with temporary commits |
I've found a probably related issue in gcc: It clearly happens when using |
Interesting, maybe we can run it at least without ASAN or try to pick a newer version of GCC in case it is fixed there (if available) |
Honestly I think we should use default You mean that we should have an additional entry in |
I meant just for ASAN if it causes issues. I agree we should use default version otherwise. |
BTW @nazar-pc, maybe you know. How can we skip strategy:
matrix:
build:
- os: ubuntu-24.04-arm
node: 22
cc: gcc
cxx: g++
meson_args: '-Db_sanitize=address'
build-type:
- Release
- Debug
runs-on: ${{ matrix.build.os }}
env:
CC: ${{ matrix.build.cc }}
CXX: ${{ matrix.build.cxx }}
MEDIASOUP_SKIP_WORKER_PREBUILT_DOWNLOAD: 'true'
MEDIASOUP_LOCAL_DEV: 'true'
MEDIASOUP_BUILDTYPE: ${{ matrix.build-type }}
MESON_ARGS: ${{ matrix.build.meson_args }} How can we tell it to NOT run |
You can exclude certain configs if that is what you meant: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow#excluding-matrix-configurations You can also do |
I mean, I need to only test |
Wow, according to this table, Ubuntu 24.04 uses GCC 14.2.0: https://distrowatch.com/table.php?distribution=ubuntu And according to GCC releases page, latest version is... 14.2.0: https://gcc.gnu.org/releases.html So... |
Cool, https://github.com/versatica/mediasoup/actions/runs/13727895621/job/38398441037?pr=1503 |
Oh no... those envs in our
|
Here we are! It also fails if I use default
Result:
This is the modified FROM rollinroy/ubuntu-24.04-hpc-arm:latest
# Install dependencies.
RUN set -x \
&& apt-get update \
&& apt-get install --yes \
clang pkg-config bash-completion wget curl \
screen python3-pip python3-yaml pkg-config zlib1g-dev \
libgss-dev libssl-dev libxml2-dev gdb
# Install node 20.
RUN set -x \
&& apt-get update \
&& apt-get install --yes ca-certificates curl gnupg \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \
| gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& NODE_MAJOR=20 \
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" \
> /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install nodejs --yes
# Enable core dumps.
RUN set -x \
&& echo "mkdir -p /tmp/cores && chmod 777 /tmp/cores && echo \"/tmp/cores/core.%e.sig%s.%p\" > /proc/sys/kernel/core_pattern && ulimit -c unlimited" >> ~/.bashrc
# Make CC and CXX point to clang/clang++ installed above.
ENV LANG="C.UTF-8"
ENV CC="gcc"
ENV CXX="g++"
ENV MEDIASOUP_LOCAL_DEV="true"
ENV KEEP_BUILD_ARTIFACTS="1"
WORKDIR /mediasoup
CMD ["bash"] |
I'm testing with gcc 14 and... it also fails with it. |
Interesting results:
Note So only this test fails no matter which timeout I set:
|
Ok, I think it's just a problem with |
There must be a bug somewhere (not necessarily our code, though it is possible). It should not take multiple seconds, there is just no sane reason for that to be necessary. |
Given that it only takes so long in Linux GCC ARM in Debug mode... who knows. I don have energy to investigate that honestly. It could be whatever in GCC for ARM. |
Investigating issue #1502
test-Worker.ts
, commits 92d0f7d and b70d81b.