![]() |
Datenbank: Firebird • Version: 2.5.0 • Zugriff über: FibPlus/IBEScript
Firebird Server wurde unerwartet beendet.
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
wir haben seit geraumer Zeit Probleme mit der Stabilität unserer Firebird Server. Ich weiß es kann an allen Ecken hängen aber nun wissen wir uns leider keinen anderen Rat mehr und wollten nachfragen, ob wir noch etwas übersehen haben. Symptom Der Firebird Dienst wird beendet und, nach der in der Diensteverwaltung eingetragenen Zeit (60 sec), neu gestartet. Im System Log steht ein lapidares
Code:
Danach läuft der Server auch fröhlich weiter als wär nichts gewesen. Leider werden alle Verbindungen getrennt (ist ja auch klar). Unsere Anwendungen sind zwar schon auf diesen Fehler hin optimiert worden, aber wenn sich zu diesem Zeitpunkt jmd in ner Transaktion befindet ist das Schimpfen groß.
Der Dienst "Firebird Server - DefaultInstance" wurde unerwartet beendet. Dies ist bereits 1 Mal vorgekommen. Folgende Korrekturmaßnahmen werden in 60000 Millisekunden durchgeführt: Neustart des Diensts.
Das Firebird.log enthält keinen Hinweis. Weder auf einen Neustart einen Fehler in der Datenbank (page error etc.) gar kein Eintrag. Ja, es ist auch die korrekte Datei. Wenn ich den Dienst manuell beende und neu starte steht der Eintrag auch richtig im Log. Das Firebird trace log enthält auch nichts, wenn tracing mal aktiviert ist. Umgebung Wir nutzen zur Zeit
was wir schon versucht haben
Und noch was? Der Fehler tritt häufiger bei den Servern mit vermehrter Last auf. (d.h. viele Verbindungen, viele Schreibzugriffe). Aber das ist nicht vorhersagbar. Manchmal läuft der Server 3 Tage durch um dann von jetzt auf gleich neu zu starten. Manchmal hält der selbe Server keine 2 Stunden durch. Die Last ist jedoch jeden Tag ähnlich und die Scripte laufen nach Zeitplan. Der Zeitplan lässt auch keine Rückschlüsse auf den Absturz zu. Es lässt sich also kein Script als Schuldiger finden. Ich habe noch keine offizielle Bug-Meldung dafür gefunden. Vielleicht hatte/hat jmd ein ähnliches Problem und weiß einen Rat. Wir sind für jede Hilfe dankbar Gruß Marco |
AW: Firebird Server wurde unerwartet beendet.
Hallo,
wenn es keinen Hinweis im firebird.log gibt, dann wird es schwierig in irgendeine Richtung zu gehen. Welche Client-Bibliothek wird denn von den Clients verwendet? Einfach mal SysInternals ProcessExplorer anwerfen. Hast ja sonst schon einiges versucht/geschrieben. UDFs sind immer ein "Indiz". Aber auch hier sollte etwas im firebird.log stehen. Sonst würd ich mal den Kontakt mit dem Firebird-Dev-Team und den Einsatz eines Debug-Builds vorschlagen. Thomas |
AW: Firebird Server wurde unerwartet beendet.
Du könntest auch mit einem SQL-Monitor o.ä. die Staements loggen um zu sehen, ob es nicht doch an einem bestimmten Statement ( Funktion/UDF) liegt.
|
AW: Firebird Server wurde unerwartet beendet.
Danke erstmal für die Antworten.
Zitat:
Zitat:
Zitat:
|
AW: Firebird Server wurde unerwartet beendet.
Gut, dann haben wir das mit der Client-Library mal geklärt. Das passt so.
Bzgl. Debug-Build: Ja, das stimmt schon, schneller wirds nicht. Ich kann nicht sagen, um wieviel prozentuell es langsamer sein wird. Aber im Falle der Bearbeitung mit dem Dev-Team wirst du vermutlich nicht rundherum kommen. Bzgl. Trace: Dann verwendest vermutlich ein System Audit durch Setzen des Parameters in firebird.conf? Wenn ja, dann ist es richtig, dass nach dem Neustart automatisch wieder mit dem Trace begonnen wird. Was du hier brauchst ist ein User Trace, das manuell von einem Benutzer angestoßen werden muss, damit was getraced wird. Unverschämte Werbung: Unser Firebird Trace Manager ( ![]() lg, Thomas |
AW: Firebird Server wurde unerwartet beendet.
Welche Zugriffskomponenten werden eingesetzt?
|
AW: Firebird Server wurde unerwartet beendet.
Zitat:
Gruß Marco |
AW: Firebird Server wurde unerwartet beendet.
Zitat:
Gruß Marco |
AW: Firebird Server wurde unerwartet beendet.
Hallo,
ein System Audit unterscheidet sich von einem User Trace eigentlich nur dahingehend, dass halt das SystemAudit beim Firebird Server Start automatisch gestartet. Die möglichen Konfigurationsparameter sind eigentlich ident. D.h., auch mit einem System Audit kann ordentlich was zusammenkommen, wenn eine Fülle an unterschiedlichen Eventtypen mitgetraced werden. :-D lg, Thomas |
AW: Firebird Server wurde unerwartet beendet.
da muss ich mich mal belesen
Gruß marco |
AW: Firebird Server wurde unerwartet beendet.
Wenn es rein um die neuen Tracing-Fähigkeitne geht und wenn du dem Englischen mächtig bist, dann kannst du dir meinen Artikel reinziehen:
![]() Sonst hätt ich auch noch eine deutsche Fassung aus dem Entwickler Magazin. lg, Thomas |
AW: Firebird Server wurde unerwartet beendet.
Zitat:
Gruß Marco |
AW: Firebird Server wurde unerwartet beendet.
Zitat:
![]() |
AW: Firebird Server wurde unerwartet beendet.
Hallo,
hab dir eine persönliche Nachricht geschickt, dass wir das vielleicht Offline von dieser Liste abhandeln. lg, Thomas |
AW: Firebird Server wurde unerwartet beendet.
Bei der FreeadhocUDF kann ich dir (leider) im 2009 Stand einige Bugs nennen, die den
Server kommentarlos zum Absturz bringen. Die sind auch schon gemeldet, aber trotzdem nicht behoben. Das betraf in erster Linie die Stringverarbeitung, z.B. F_STRCOPY Der Autor von der Freeadhocudf Lib hat mir im April 2009 bestätigt, den Fehler gefunden zu haben und in der nächsten Version den beheben zu wollen. Blöderweise gab es seit dem noch keine neue Version. Wenn du also irgendwo F_STRCOPY benutzt, ersetze das durch F_MID, geht nahezu identisch, hat den Fehler aber nicht. Ich verzichte überall wo es geht auf UDFs und da wo ich nicht wirklich drumherum komm, mit Delphi nutze ich die eingebauten oder schreib ich die selber. Bei 32 Bit Windows war das kein Problem, neuerdings aber lieber mit Lazarus, weil auch 64 Bit und andere Plattformen verfügbar. Dazu zeige ich übrigens auch eine Session auf ![]() in Bremen. Ich würde übrigens das restart interval auf 0 sekunden setzen, warum soll der Dienst 60 Sekunden warten? und worauf? Je nach Aufbau eurer Software könnte man auf diesem Wege auch über connection Probleme mit einem Autoreconnect transparent weiterarbeiten, aber sobald datasets im Spiel sind wird das schwierig. Kleine Korrektur: Es gab doch in 2009 noch eine neue Version, keine Ahnung ob da der Fehler behoben war, weil ich seit April 2009 freiwillig die Freeadhoc nicht mehr benutzt habe |
AW: Firebird Server wurde unerwartet beendet.
Zitat:
IBExpert hatte dochmal versprochen eigene UDFs rauszubringen ;-) Ist das noch auf der "roadmap"? Zitat:
Danke erstmal für die neuen Anregungen. Ich werde mir mal die prozeduren, skripte und ibeblocks vornehmen... zumindest hab ich dann den Rest des Monats keine anderen Pflichten *lach* Gruß Marco |
AW: Firebird Server wurde unerwartet beendet.
Zitat:
Die UDFs dann in den Stored Procs zu ersetzen ist aber vergleichsweise simpel mit ibexpert. Einfach mit tools-extract metadata die prozeduren extrahieren, Das script enthält dann alle Prozeduren mit CREATE OR ALTER im Header. Auf dieser Script Datei kannst du dann ggf im Script executive per Suchen-Ersetzen einfach alle "F_...(" durch "xxx(" ersetzen, sofern die jeweilige F_... Funktion ein eingebautes Äquivalent hat, ist aber bei vielen Funktionen gegeben. Danach dkannst du das Script einfach im Script executive laufen lassen, weil ja nicht gedropt werden muss. Alle Prozeduren werden dann mit alter wieder eingespielt und ersetzen die alten Versionen. hier zum Beispiel die Abhängigkeiten für F_ABS
SQL-Code:
select
distinct D1.RDB$DEPENDENT_NAME, D1.RDB$DEPENDED_ON_NAME from RDB$DEPENDENCIES D1 left join rdb$relations r1 on ((D1.RDB$DEPENDENT_NAME = r1.rdb$relation_name) and (not (r1.Rdb$View_Blr is null))) where (D1.RDB$DEPENDED_ON_TYPE = 15) and (D1.RDB$DEPENDENT_TYPE <> 3) and (D1.RDB$DEPENDED_ON_NAME = 'F_ABS') union select distinct f2.rdb$relation_name, D2.RDB$DEPENDED_ON_NAME from rdb$dependencies d2, rdb$relation_fields f2 left join rdb$relations r2 on ((f2.rdb$relation_name = r2.rdb$relation_name) and (not (r2.Rdb$View_Blr is null))) where (d2.rdb$dependent_type = 3) and (d2.rdb$dependent_name = f2.rdb$field_source) and (d2.rdb$depended_on_name = 'F_ABS') order by 1, 2 |
AW: Firebird Server wurde unerwartet beendet.
Zitat:
OT - ich weiß das ist absolut nicht nötig und die Umstellung auf FB (falls überhaupt erforderlich) dauert auch weniger als ne Woche ... aber was ich da schon geredet habe *kopfschüttel* Das bedeutet natürlich auch, daß wir sämtliche Metadaten replizieren, damit wir die Stored Procs nicht doppelt pflegen müssen - damit sind dann auch Features wie CHAR_LENGTH() passe. Ich denke jetzt hab ich ein Argument den IB endlich abzuschalten *freu*, vielen Dank :thumb:. Werden die IBExpert UDFs dann quelloffen sein? Gruß Marco |
AW: Firebird Server wurde unerwartet beendet.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz