Dringende und wichtige Nachricht für Benutzer von Firebird 2.5 unter Linux

Forum zu diversen Themen rund um die Firebird-Programmierung

Moderator: martin.koeditz

Antworten
Benutzeravatar
martin.koeditz
Beiträge: 478
Registriert: Sa 31. Mär 2018, 14:35

Über Firebird-News kam heute folgende Meldung rein, die Benutzer von Firebird 2.5 betrifft.
Original erschienen unter: https://firebirdsql.org/en/news/urgent- ... -on-linux/

Übersetzte Meldung:

Wir haben ein Problem identifiziert, bei dem die neuesten libpthread Bibliotheksversionen nicht mit Firebird 2.5 kompatibel sind (einschließlich der letzten verfügbaren Version der vanilla Version und HQbird 2.5 bis zur Version 2.5.9.27173).

Diese Inkompatibilität kann dazu führen, dass Firebird 2.5 bei bestimmten Operationen auf neueren Linux-Distributionen abstürzt. Der Fehler tritt häufig in den Architekturen SuperServer und SuperClassic auf, und seltener in Classic.

Sofortige Maßnahmen erforderlich:
Um Auswirkungen auf Firebird 2.5 zu verhindern, befolgen Sie bitte die unten stehenden Anweisungen.

Beurteilen Sie Ihr System:
Die Bestimmung, welche Linux-Distributionen betroffen sind, ist schwierig, da libpthread-Updates auf ältere Betriebssystemversionen angewendet werden können, wodurch das Problem möglicherweise in Firebird eingeführt wird. Das bedeutet, dass jede Aktualisierung des Betriebssystems das Problem auf Ihr System übertragen kann, selbst wenn Sie eine alte Version verwenden. Das bedeutet, dass Sie Ihre Instanz des Betriebssystems testen müssen.

Testen auf Kompatibilität:
Wir haben eine Kommandozeilenanwendung entwickelt, um zu testen, ob libpthread mit Firebird 2.5 kompatibel ist.

Anweisungen zum Herunterladen:
- Die Binärdatei für die Testanwendung kann unter dem folgenden Link heruntergeladen werden: www.ib-aid.com/download/libpthread/pthr-tst
- Der Quellcode für die Testanwendung ist auch unter diesem Link verfügbar: www.ib-aid.com/download/libpthread/test.cpp

Ausführungsanleitung:
Führen Sie die Testanwendung in Ihrem Terminal wie in den nachstehenden Anweisungen beschrieben aus, um die Kompatibilitätsprüfung durchzuführen.

Für das Betriebssystem mit alter libptread (d.h. es ist kompatibel mit 2.5)

Code: Alles auswählen

wget https://ib-aid.com/download/libpthread/pthr-tst
chmod +x pthr-tst
# ./pthr-tst 
Set signals
Sigenv works 
Für das Betriebssystem mit neuer libptread (d.h. nicht kompatibel mit 2.5):

Code: Alles auswählen

# ./pthr-tst
Set signals
Segmentation fault
Was kurzfristig zu tun ist

Für Firebird 2.5 Vanilla-Benutzer:
Wenn Sie den Test gemacht haben und festgestellt haben, dass libpthread nicht mit Firebird 2.5 kompatibel ist, ändern Sie die Architektur auf Classic (stellen Sie sicher, dass Sie die Konfiguration nicht durcheinander bringen!), und planen Sie dann, Ihr Linux-Betriebssystem auf die alte Version mit kompatiblem libpthread, das dieses Problem nicht hat, neu zu installieren - so bald wie möglich.
Wenn Sie den Test gemacht haben und das Problem mit libpthread nicht aufgetreten ist, besteht im Moment keine direkte Gefahr. Führen Sie diesen Test nach jedem Betriebssystem-Update durch.

Bitte beachten Sie, dass Firebird 2.5 eine abgekündigte Version ist und das Firebird Projekt keinen Fix für die Vanilla-Version von 2.5 veröffentlichen wird.

Für Benutzer von kommerziellen Versionen
Wenden Sie sich an Ihren Hersteller, um einen Fix zu erhalten.

Wie geht es weiter auf lange Sicht? Aktualisieren!
Nehmen Sie dies als endgültigen Hinweis, dass Sie auf Firebird 5.0 aktualisieren müssen. Die Version 2.5 war gut und stabil, aber sie stammt aus dem Jahr 2010, die meisten in diesem Jahr veröffentlichten Produkte sind bereits im Ruhestand.

Es gibt genug Material, um ein Upgrade auf einfache Weise durchzuführen, siehe für Details Practical Migration Guide to Firebird 5.
Noch Fragen?
Bitte zögern Sie nicht, Fragen zu stellen: ak@firebirdsql.org
Martin Köditz
it & synergy GmbH
bfuerchau
Beiträge: 546
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Besteht bei 4.0 und auch 5.0 weiterhin die Möglichkeit bei der Installation den SYSDBA einzurichten?
Funktioniert der alte ODBC-Treiber noch mit 4.0 oder 5.0?
Wir haben noch alte, aber lauffähige VB6-Software, die mit dem ODBC-Treiber arbeiten muss.
Mit der 3.0.11 gibts keine Probleme.
Gabs da nicht auch eine Einstellung für Current Timestamp ohne TZ?
Dies würde unserer Anwendung wehtun, wenn es das nicht mehr gibt.
Alles andere an Neuerungen brauchen wir gar nicht.
Klar freuen sich unserer Kunden, wenn Backup/Restore zur Bereinigung bei ca 70GB statt 2 nur noch 1 Stunde brauchen würde.
vr2
Beiträge: 244
Registriert: Fr 13. Apr 2018, 00:13

bfuerchau hat geschrieben: Do 11. Apr 2024, 21:45 Besteht bei 4.0 und auch 5.0 weiterhin die Möglichkeit bei der Installation den SYSDBA einzurichten?
Ja. Du musst es aber im richtigen Plugin tun (Legacy_UserManager, siehe Konfiguration für firebird.conf unten)
Funktioniert der alte ODBC-Treiber noch mit 4.0 oder 5.0?
Ja
Gabs da nicht auch eine Einstellung für Current Timestamp ohne TZ?
Ja, ersetze Aufrufe von current_timestamp durch localtimestamp. Such mal hier im Forum nach localtimestamp, wir hatten das Thema schon mal.

Konfiguriere firebird.conf (FB4 oder FB5) auf Legacy, so:

UdfAccess = Restrict UDF (falls ihr noch udfs verwenden müsst)
AuthServer = Legacy_Auth
AuthClient = Legacy_Auth
UserManager = Legacy_UserManager
ReadConsistency = 0
DataTypeCompatibility = 3.0
WireCrypt = Disabled
MaxParallelWorkers = 6 (falls der Rechner mindestens 8 logische CPUs kann)
ParallelWorkers = 6 (falls der Rechner mindestens 8 logische CPUs kann)
bfuerchau
Beiträge: 546
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Das ist leider keine Lösung, 1000de SQL's von current timestamp auf localtimestamp umzubauen. Zumal viele SQL's dynamisch aus Dateien gelesen werden.
Damit scheidet ein Update auf 4.0 bereits aus, wenn man da keine legacy Einstellung bekommt. Schade....
vr2
Beiträge: 244
Registriert: Fr 13. Apr 2018, 00:13

Mittelfristig kommt ihr nicht drumrum, und wenn ihr auf 2.5.9 seid (erst ab dem point release gibt es localtimestamp), oder auf FB3, sind current_timestamp und localtimestamp Synonyme. Ihr könnt also, noch auf diesen Versionen, Schritt für Schritt gefahrlos ersetzen, ohne Änderung der Funktionalität.
bfuerchau
Beiträge: 546
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Das ist mir schon klar, das müssen aber halt alle Kunden machen.
Bisher sind die von uns mit Kompatibilität verwöhnt.
Antworten