-
Notifications
You must be signed in to change notification settings - Fork 921
Description
While playing around nghttp2 proxy server in Docker after a pause of ~1..2 months I've found that it stops to work and fails with "Bus error" message. It was working.
/ # nghttpx
Bus error
Since I've updated Docker app itself and rebuilt my images, I decided to make some checks before writing here.
-
I use this package nearly two months ago and it has no updates in the mentioned period of time. Same 1.70 version. I tried to run it with Alpine 3.2, 3.4 and fresh one 3.5. Same fail.
-
Downgrade of Docker on mac, Vagrant's maier/alpine-3.3.1-x86_64 and same steps on Windows machine haven't succeeded.
-
Build from master branch (one of 1.80 RCs) shows the same error.
-
I tried to track down any dependencies changes within Alpine's nghttp2 package for that past two months and found only libgcc and libstdc++ version updates (5.3.0 -> 6.3.0). When I installed this previous 5.3.0 versions the error message have changed but still too cryptic to me:
/ # nghttpx
Error relocating /usr/bin/nghttpx: _ZTINSt6thread6_StateE: symbol not found
Error relocating /usr/bin/nghttpx: _ZTINSt6thread6_StateE: symbol not found
Error relocating /usr/bin/nghttpx: _ZNSt6thread6_StateD2Ev: symbol not found
Error relocating /usr/bin/nghttpx: _ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE: symbol not found
Right now I stuck with this slightly unappealing message and don't know what my next steps could look like.
Here is Dockerfile that can speed up things:
FROM alpine:3.5
RUN apk add --no-cache nghttp2
# or for previous Alpine version
FROM alpine:3.4
RUN apk add --no-cache nghttp2 --repository http://nl.alpinelinux.org/alpine/edge/main --allow-untrusted
# this helps to stick libgcc/libstdc++ versions (must be run before apk add nghttp2)
RUN apk add --no-cache libgcc=5.3.0-r0 --repository http://dl-cdn.alpinelinux.org/alpine/v3.4/main --allow-untrusted
RUN apk add --no-cache libstdc++=5.3.0-r0 --repository http://dl-cdn.alpinelinux.org/alpine/v3.4/main --allow-untrusted