-
Couldn't load subscription status.
- Fork 23
Description
Our build uses an ubuntu-latest Github runner to build a Docker image.

Our Dockerfile follows the example provided in this repo.
FROM node:20-alpine
COPY ./dist /app/
WORKDIR /app
RUN apk --no-cache add \
bash \
g++ \
ca-certificates \
lz4-dev \
musl-dev \
cyrus-sasl-dev \
openssl-dev \
make \
python3 \
gcompat # added to provide missing ld-linux-x86-64.so.2
RUN apk add --no-cache --virtual .build-deps gcc zlib-dev libc-dev bsd-compat-headers py-setuptools bash
RUN npm install --omit=dev
EXPOSE 4000
CMD [ "node", "app.js" ]The deployed pod is hosted in AKS, and both the runners and host nodes are amd64 arch.
Without the @confluentinc/kafka-javascript dependency in the package.json, the application will start without issue on the container.
With the @confluentinc/kafka-javascript dependency in the package.json (and no reference from the application), the application will immediately fail with:
Segmentation fault (core dumped)
While troubleshooting, we discovered that if we reinstalled the package on the running container, the application would then startup normally.
Initial thought was that the wrong flavor of librdkafka was being download.
By adding the following to the Dockerfile, I was able to capture the node-pre-gyp output:
WORKDIR /app/node_modules/@confluentinc/kafka-javascript
RUN npx node-pre-gyp install --update-binary
WORKDIR /app#12 0.816 node-pre-gyp info using node-pre-gyp@1.0.11
#12 0.816 node-pre-gyp info using node@20.13.1 | linux | x64
#12 0.906 node-pre-gyp http GET https://github.com/confluentinc/confluent-kafka-javascript/releases/download/v0.1.15-devel/confluent-kafka-javascript-v0.1.15-devel-node-v115-linux-musl-x64.tar.gz
Again, launching this container results in the segmentation fault on startup.
Starting the container, and running the following:
cd node_modules/\@confluentinc/kafka-javascript/
npx node-pre-gyp install --update-binary
cd /app...seemingly performs the same operation we saw during the Docker image construction:
node-pre-gyp info using node-pre-gyp@1.0.11
node-pre-gyp info using node@20.13.1 | linux | x64
http GET https://github.com/confluentinc/confluent-kafka-javascript/releases/download/v0.1.15-devel/confluent-kafka-javascript-v0.1.15-devel-node-v115-linux-musl-x64.tar.gz
...yet after this operation is performed, the application starts without issue.
Please help us to understand what is going on here, and how we can solve this problem.