-
Notifications
You must be signed in to change notification settings - Fork 332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IrrecoverableError: Error starting child process[alpine-docker issue] #86
Comments
I had a similar problem running a Kinesis producer daemon within a docker container built from an alpine image. We fixed it using ubuntu as a base image for that service. EDIT: grammar (oh god, my english is awful) |
@samuelgmartinez aha... same here , thanks a lot , will go with ubuntu . |
It appears Alpine Linux is based of musl libc and busybox. The kinesis_producer binary is linked against glibc, so when the loader kicks off it's failing to find correct libc.so and causing this error message. The only way to support Alpine Linux would be to compile the kinesis_producer against musl libc. |
@pfifer is there any possibility of getting this fixed? alpine linux is much more docker friendly compared to any ubuntu images. |
Any updates on this ? |
I'm seeing something that looks very similar to this issue using amazon-kinesis-producer : 0.12.8 on the openjdk-alpine docker image
|
The stack trace you provided is the message you would expect to see for a linked library missing. The The file not found is coming from the inability to load glibc. |
I changed the base docker container to |
Facing the same issue with tomcat:8.0.52-jre8-alpine image. |
You have a few options...
|
I got around this by switching from alpine to frolvlad/alpine-glibc. |
I tried a bunch of images and selected amazoncorretto:8u212. All exhibited the same behavior: Create a producer, send a record and then DaemonException, recreate the producer and send a record and it works. May not be related to image. Could be some sort of race condition or startup error. |
I ended up using |
|
Same issue here with an image derived from
Funny fact is that |
Any way to get around this with java 11 and amazoncorretto? It's pretty ironic that of all implementations, the amazon one doesn't gel with kinesis. |
The problem isn't corretto, the problem is alpine. It doesn't have glibc which isn't a dependency for Java, but it is a dependency for the Amazon kinesis native library. You'd be better using an Ubuntu slim docket image. |
in my case.. |
Is this issue fixed? We have an hard dependency on alpine image |
We have fixed it by adding below lines in our docker build of the alpine base image:
|
Mixing real glibc in Alpine will result in an unstable environment.
|
I was using |
I have created a PR to support building the |
Version : amazon-kinesis-producer : 0.12.1
I'm running a Kinesis Producer inside a docker container , and getting this error :
com.amazonaws.services.kinesis.producer.IrrecoverableError: Error starting child process at com.amazonaws.services.kinesis.producer.Daemon.fatalError(Daemon.java:520) [application.jar:0.1] at com.amazonaws.services.kinesis.producer.Daemon.startChildProcess(Daemon.java:453) [application.jar:0.1] at com.amazonaws.services.kinesis.producer.Daemon.access$100(Daemon.java:62) [application.jar:0.1] at com.amazonaws.services.kinesis.producer.Daemon$1.run(Daemon.java:132) [application.jar:0.1] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_92-internal] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_92-internal] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_92-internal] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_92-internal] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92-internal] Caused by: java.io.IOException: Cannot run program "/tmp/amazon-kinesis-producer-native-binaries/kinesis_producer_f40412a63c9816 d7b4c06e0b1f597c4f3280d36e": error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[na:1.8.0_92-internal]
It says that it can't find file in "/tmp/amazon.." , however I'm able to the file available there , what might be the issue ?
The text was updated successfully, but these errors were encountered: