I have created a custom docker image which is using _shelf/lambda-libreoffice-base:7.4-node16-x86_64_ as a base image by following the instructions in README file. It is working fine for most of the time but it intermittently breaks.
Here's the code of my docker image:
FROM public.ecr.aws/shelf/lambda-libreoffice-base:7.4-node16-x86_64
COPY ./fonts/* /usr/local/share/fonts/
COPY ./ ./
RUN yum install java-1.8.0-openjdk-devel -y
CMD [ "app.handler" ]
Here download function is simply downloading my file from url that has been passed to it and clearTmpDirectory function is simply clearing all the files from tmp directory.
Here's the error that I am getting intermittently:
javaldx: Could not find a Java Runtime Environment!
what(): osl::Thread::create failed
terminate called after throwing an instance of 'std::runtime_error'
Error: Command failed: cd /tmp && libreoffice7.4 --headless --invisible --nodefault --view --nolockcheck --nologo --norestore --convert-to pdf --outdir /tmp /tmp/template-bf853fb4-95d9-4fef-87b1-59c54cf13c58.docx
javaldx: Could not find a Java Runtime Environment!
Warning: failed to read path from javaldx
terminate called after throwing an instance of 'std::runtime_error'
what(): osl::Thread::create failed
at checkExecSyncError (node:child_process:861:11)
at execSync (node:child_process:932:15)
at convertTo (/var/task/node_modules/@shelf/aws-lambda-libreoffice/lib/convert.js:29:40)
at Runtime.handler (/var/task/app.js:66:25) {
status: 134,
signal: null,
output: [
null,
<Buffer >,
<Buffer 6a 61 76 61 6c 64 78 3a 20 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 4a 61 76 61 20 52 75 6e 74 69 6d 65 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 ... 150 more bytes>
],
pid: 12370,
stdout: <Buffer >,
stderr: <Buffer 6a 61 76 61 6c 64 78 3a 20 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 4a 61 76 61 20 52 75 6e 74 69 6d 65 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 ... 150 more bytes>
}
Note: This works perfectly fine for a while if I redeploy my same image on lambda, but after that it again starts to fail with above error intermittently.
I have created a custom docker image which is using _shelf/lambda-libreoffice-base:7.4-node16-x86_64_ as a base image by following the instructions in README file. It is working fine for most of the time but it intermittently breaks.
Here's the code of my docker image:
And here's my handler function:
Here download function is simply downloading my file from url that has been passed to it and clearTmpDirectory function is simply clearing all the files from tmp directory.
Here's the error that I am getting intermittently:
Note: This works perfectly fine for a while if I redeploy my same image on lambda, but after that it again starts to fail with above error intermittently.