I'm trying to create a Docker image with a PAS 12.1 install.
For Java I use AdoptOpenJDK 8u222-b10.
When running proinst I always get an segmentation fault immediatly after running proinst. However, I'm not able to find any meaningful log files.
No matter what image i use (the "FROM") I always get the same. I tried Centos, Ubuntu, adoptopenjdk/openjdk8 to no avail. Did anyone come across this?
Is JAVA in your PATH? Or missing serials? (I do assume you already checked these by the way :))
Shouldn't you know the answer ?
For 12.1 there is already an official docker PASOE image. You can make use of the deploy scripts to perform sidecar deployment from here
Optionally, take a look at the Dockerfile to extend from PASOE base image, if you want to do so.
Hi Ravi, I'm aware of the existence of the official Docker image. However, since the Dockerfile for that image is not shared, I rather create an image myself (and put that on github.com/.../docker4oe).
In the mean the I'm still curious if anyone can tell me why I get a segmentation fault.
Can you post your DockerFile here? TIP: avoid posting licensing info if there is any in the file.
Could you please share with us the response.ini and the install log file.
FROM should be Centos:7.3 or later.
Since you also need JDK, you need to use multi stage build. https://docs.docker.com/develop/develop-images/multistage-build/
An example of it is there in extending PASOE documentation at https://docs.progress.com/bundle/pas-for-openedge-docker/page/Deploy-using-the-standalone-Docker-image.html
FROM <JDK Docker image name>:<JDK Docker image tag> as builder-jdk
COPY --chown=pscadmin:pscadmin <Path of the license file> /psc/dlc/progress.cfg
COPY --from=builder-jdk --chown=pscadmin:pscadmin <Java location inside the JDK Docker image> /usr/java
Thank you Ravi. I still feel that the install (proinst) shouldn't fail as it currently does:
Step 7/20 : RUN /install/openedge/proinst -b /install/openedge/response.ini -l /install/install_oe.log
---> Running in 6dfe2cc424af
/install/openedge/proinst: line 102: 24 Segmentation fault $mountdir/_ovrly $mountdir $option1 $option2 $option3 $option4 $option5
Cleaning up temporary files...
The command '/bin/sh -c /install/openedge/proinst -b /install/openedge/response.ini -l /install/install_oe.log' returned a non-zero code: 139
This after creating a Centos/OpenJDK image first and build from there on....
Is your issue resolved or are you still facing the Segmentation fault? If the issue still exists, could you share the install_oe.log ?
See earlier mentioned Dockerfile, I commented the RUN /..../proinst and everything beneath. I build and start the image and run proinst from a bash shell from the command line.
[root@7f21a2425825 /]# /install/openedge/proinst -b /install/openedge/response.ini -l /install/install_oe.log/install/openedge/proinst: line 102: 33 Segmentation fault $mountdir/_ovrly $mountdir $option1 $option2 $option3 $option4 $option5Cleaning up temporary files...
OPENEDGE INSTALL UTILITY LOG <VERSION 12.1> (Tue Feb 11 08:01:34 2020)[Application]Name=OpenEdgeVersion=12.1Company=PSC
[DetectPreviousInstallSettings]Information=[02-11-2020 08:01:34] Unable to locate file /etc/progress.OPENEDGE INSTALL UTILITY LOG <VERSION 12.1> (Tue Feb 11 08:01:34 2020)The JavaHome path provided: /opt/java/openjdk
At the mentioned place, where the error is thrown:
$mountdir/_ovrly $mountdir $option1 $option2 $option3 $option4 $option5
The mountdir is the directory where you have launched the installer from. It executes the _ovrly file that temporarily gets copied to the PWD which is the main file to launch the installer.
I would request you to set ulimit -c unlimited so when a segmentation fault occurs, a core is dumped. You can send us the core file so that we can see the problem.
Here's the link to the core dump: 1drv.ms/.../s!AusuzFLH7JWPh9QLYijZx10FX7JDNQ