libpthread compatibility problem with Firebird 2.5

We’ve identified an issue where the latest libpthread library versions are not compatible with Firebird 2.5 (including the latest available release of vanilla version 2.5.9.27139 and HQbird 2.5 till the version 2.5.9.27173).

This incompatibility may cause Firebird 2.5 to crash during certain operations on newer Linux distributions. The error occurs frequently in architectures SuperServer and SuperClassic, and less frequently, in Classic.

Immediate Action Required:
To prevent any impact on Firebird 2.5, please follow the guidance provided below.

Assessing Your System:
Determining which Linux distributions are impacted is dificult since libpthread updates can be applied to older operating system versions, potentially introducing the issue to Firebird. It means that any update of OS can bring the problem to your system, even if you are running old version. It means that you need to test your instance of OS.

Testing for Compatibility:
We’ve developed a command-line application to test whether libpthread is compatible with Firebird 2.5.

Download Instructions:
•  The binary for the test application can be downloaded from the following link: www.ib-aid.com/download/libpthread/pthr-tst
•  The source code for the test application is also available at this link: www.ib-aid.com/download/libpthread/test.cpp

Execution Guide:
Execute the test application in your terminal as outlined in the instructions below to perform the compatibility check.

For the Operating System with old libptread (i.e., it is compatible with 2.5)  

wget https://ib-aid.com/download/libpthread/pthr-tst
chmod +x pthr-tst
# ./pthr-tst 
Set signals
Sigenv works 

For the Operating System with new libptread (i.e., not compatible with 2.5):

# ./pthr-tst
Set signals
Segmentation fault

What to do next in short-term

For Firebird 2.5 vanilla users:
If you have made the test and found that libpthread is not compatible with Firebird 2.5, change the architecture to Classic (make sure to do not confuse the configuration!), and then plan to reinstall your Linux Operating System to the old version with compatible libpthread, which does not have this problem – as soon as possible.

If you have made the test and did not encounter the problem with libpthread, there is no direct danger at the moment. Make this test after each OS update.

Please note that Firebird 2.5 is discontinued version, and Firebird Project will not release fix for vanilla version of 2.5.

For user of commercial versions
Contact your vendor to receive a fix.

What to do next in long-term? Upgrade!

Take this as a final notice that you need to upgrade to Firebird 5.0. The version 2.5 was good and stable, but it originates from 2010, the majority of products released in that year already retired.

There are enough material to perform upgrade in the smooth and easy way, see for details Practical Migration Guide to Firebird 5.
 

Questions?

Please feel free to ask any questions: ak@firebirdsql.org

Original article: https://firebirdsql.org/en/news/urgent-and-import-message-for-users-of-firebird-2-5-on-linux/