Page 1 of 1

Firebird DB on Android 14

Posted: 25.04.2024, 11:04
by fakiridis@tee.gr
Everything was fine until Android 13 but in Android 14 opening the database is not possible (ZConnection.Connected := True;)
Delphi 11 & ZEOS 8.0

Any idea?

Thanks in advance.

Re: Firebird DB on Android 14

Posted: 26.04.2024, 15:06
by marsupilami
Hello and welcome to the forums,

what error message do you get? I have a small app that uses Firebird 4 locally on Android and it works well.

Best regards,

Jan

Re: Firebird DB on Android 14

Posted: 27.04.2024, 10:17
by fakiridis@tee.gr
Dear Jan

In release mode the program just crashing.
I debug mode Delphi shows "Project FirebirdZEOS.apk raised exception class 6."

The same program runs fine on Android 10 and 13, but not on 14.

Have a nice day.

Re: Firebird DB on Android 14

Posted: 03.05.2024, 11:41
by marsupilami
Hello,

I can confirm the problem. I tried it with some version of Firebird 4 for ARM64. As far as I can see, Exception Class 6 is an Abort Exception possibly caused by SIGABRT. For me this happens, when isc_create_database gets called.

I am not sure what causes this exception. Maybe it can be solved using Firebird 5.

Best regards,

Jan

Re: Firebird DB on Android 14

Posted: 03.05.2024, 15:02
by fakiridis@tee.gr
Dear Jan

I tried and Firebird 5 Arm64 and the result was the same.

Best regards
Sakis

Re: Firebird DB on Android 14

Posted: 08.05.2024, 10:32
by marsupilami
Hello Sakis,

I just wanted to let you know, I am still working on that but currently have no Android 14 device to debug on. It will take one to two weeks until I have the device back.

Best regards,

Jan

Re: Firebird DB on Android 14

Posted: 08.05.2024, 15:48
by fakiridis@tee.gr
Dear Jan

Thank you for your interest and efforts.

Have a nice day.

Sakis

Re: Firebird DB on Android 14

Posted: 08.06.2024, 00:27
by marsupilami
Hello Sakis,

after using a lot of time today for finding what is wrong here, I found this bug report:
https://github.com/FirebirdSQL/firebird/issues/8110

Essentially the following line in my logs brought me there:

libc    : FORTIFY: fcntl(F_SETFD) passed non-FD_CLOEXEC flag: 0x80000

So this is a known issue with the Firebird people. I didn't get around to checking what else there might be to do. Unfortunately there are no automated Android builds for Firebird 4, so I cannot test the fix immediately. For Firebird 5 there are automated builds that can be used for testing. So we will either have to wait for Firebird 4.0.5 or adapt the example to Firebird 5 before it can be used on Android 14.

Best regards,

Jan