Hi Gerd,
there was no real issue with the basic installation in Ubuntu 24, I was just describing the
issues which we discovered because of messages in the log.
To make this clear: Informix 15 runs out of the box on a Ubuntu 24.04 machine, at least when sysctl fs.protected_regular = 0 is set.
(which is documented somewhere, but is not very nice workaround because the setting is a protection against attacks).
As I said, the resulting message says something about shared memory, which is not the underlying cause.
The real cause for this is the file handling in /INFORMIXTMP folder.
But it needs to be pimped in order to use libaio, which has been re-packaged with different file names, and all the other stuff
is just that same as in previous Ubuntu versions (starting from 20.04 I think).
The KAIO issue for a newly created rootdbs with zero size was just a finding on one of our test systems, which were initialized
with an empty file (with touch) and came up with a message that aio was not activated.
We found that pre-populating a couple of bytes in the file did help. I have not opened a case for that, for us there is a known workaround.
This might be depending on the underlying filesystem, but we did not investigate if there would be a different behaviour
e.g. with XFS.
For productive use, this typically does not affect us, because we use raw devices there.
We did not test this in other Linux flavours, such as RedHat or Suse. I would assume the same behaviour.
Since this is only happening until the first engine restart, and only if a zero sized dbs is initialized,, it would probably not affect very many users.
As I said, this is not a new behaviour, present also in 14.x releases.
Also for the fs.protected_regular setting, this would probably occur on any Linux which has a newer kernel than 4.19,
if the OS has the option set to 1 or 2 initially.
Another thing which is probably also recommended on all Linux flavours which have systemd enabled, would be to set RemoveIPC=no
in logind.conf. We ran into a broken instance once when taking a full backup with ontape using a nightly cron job running as informix user.
When the job terminated, systemd killed all the shared memory segments, resulting in a crash.
Interestingly, I found this recommendation also in an Oracle DB document ...
Original Message:
Sent: 12/9/2024 2:12:00 AM
From: Gerd Kaluzinski
Subject: RE: Problem installing IDS v15.0.0.0 on Ubuntu 24.04
I had no problems to install INFORMIX 15.0.0.0 on Ubuntu 24.04 and all the migrations were successful.
On that system, I had already some version of 14.10.FCxx installed without problems.
Mit freundlichen Grüßen - Kind regards
Gerd Kaluzinski
Consultant Software Services
IBM Expert Labs DACH, Data & AI
Phone: +49 175 228 1983
EMail: gerd.kaluzinski@de.ibm.com
IBM Deutschland GmbH
Vorsitzender des Aufsichtsrats: Ivo Körner
Geschäftsführung: Wolfgang Wendt (Vorsitzender), Dr. Andreas Buchelt, Dr. Frank Kohls, Christine Rupp
Sitz der Gesellschaft: Ehningen / Registergericht: Amtsgericht Stuttgart, HRB 14562
Original Message:
Sent: 12/5/2024 5:00:00 PM
From: David Williams
Subject: RE: Problem installing IDS v15.0.0.0 on Ubuntu 24.04
Hi
"The underlying reason is opening a zero sized file which is then expanded cannot be opened with O_DIRECT."
Is that Ubuntu specific?
Is there a Linux defect reference?
In fact how can you have that where is there no vendor for 'Linux' ??
Regards,
David.
------------------------------
David Williams
------------------------------
Original Message:
Sent: Thu November 21, 2024 06:00 PM
From: Marcus Haarmann
Subject: Problem installing IDS v15.0.0.0 on Ubuntu 24.04
Some hints for Ubuntu 24.04 (is not in the official compatibility list, but works, most of the things apply to Ubuntu 22.04 as well)
The 15.0.0 edition does not really behave differently than 14.10 in Ubuntu environment
Packages to install: libncurses6, openjdk-17-jre
libaio should be installed already (libaio1t64 package).
Don't know why xerces is a requirement, but the package name would be libxerces-c3.2t64.
Startup might fail with a SHM error (error=13, could not open shm file)
Symptomatic fix: sysctl.conf should have fs.protected_regular=0
(sysctl -p after entering the value)
The actual error occurs, because Informix creates a file with root user in /INFORMIXTMP (this has a t flag),
then switches to informix user and tries to overwrite the file. This is failing because of fs.protected_regular
prevents overwriting a file in a temporary folder by a different user.
libaio
Informix is looking for libaio.so.1
In Ubuntu 24.04 at least, the file is called libaio.so
(Package libaio1t64)
The file is located in /usr/lib/x64_64-linux-gnu, make a symlink to libaio.so.1 and ids should find the aio lib.
Edition installer (issue is documented, occurs with "newer" ( > version 8) java versions, probably in every OS)
Use -Djdk.util.zip.disableZip64ExtraFieldValidation=true
Direct_IO not possible with cooked files in initialization (oninit -i)
When initializing a new chunk in a cooked file (including a rootdbs), AIO will fail intially, but will be active after a restart.
The underlying reason is opening a zero sized file which is then expanded cannot be opened with O_DIRECT.
When the cooked file is expanded, and initial databases are initialized, a bounce should be done if you want to have direct IO (KIO).
If you are starting with a pre-existing file of size > 0 (just populate it with dd if=/dev/zero of=chunk-file count=50, this error does not occur.
Hope this is helpful.
Original Message:
Sent: 11/21/2024 3:44:00 PM
From: Art Kagel
Subject: Problem installing IDS v15.0.0.0 on Ubuntu 24.04
Base Developer Edition installer run in console mode as root. Java v11.0.25 installed. Lots of added fonts.
Here is the tail end of the install output:
[==================|==================|==================|==================]
[------------------|------------------|------------------|------------Invocation of this Java Application has caused an InvocationTargetException. This app
lication will now exit. (LAX)
Stack Trace:
java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit
at java.desktop/java.awt.Component.<clinit>(Component.java:621)
at com.zerog.ia.installer.actions.InstallUninstaller.cp(Unknown Source)
at com.zerog.ia.installer.actions.InstallUninstaller.installSelf(Unknown Source)
at com.zerog.ia.installer.InstallablePiece.install(Unknown Source)
at com.zerog.ia.installer.actions.InstallDirectory.install(Unknown Source)
at com.zerog.ia.installer.actions.InstallDirectory.install(Unknown Source)
at com.zerog.ia.installer.InstallablePiece.install(Unknown Source)
at com.zerog.ia.installer.GhostDirectory.install(Unknown Source)
at com.zerog.ia.installer.InstallablePiece.install(Unknown Source)
at com.zerog.ia.installer.Installer.install(Unknown Source)
at com.zerog.ia.installer.LifeCycleManager.consoleInstallMain(Unknown Source)
at com.zerog.ia.installer.LifeCycleManager.executeApplication(Unknown Source)
at com.zerog.ia.installer.Main.main(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.zerog.lax.LAX.launch(Unknown Source)
at com.zerog.lax.LAX.main(Unknown Source)
This Application has Unexpectedly Quit: Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)
Art
------------------------------
Art S. Kagel, President and Principal Consultant
ASK Database Management Corp.
www.askdbmgt.com
------------------------------