Seltsamer Domino-"Absturz"

  • Wir haben seit längerem in unregelmäßigen Abständen immer wieder mal ein Problem, ausgerechnet mit unserem zentralen Haupt-Server.


    Generelle Infos unten, hier erst mal wie's generell abläuft:
    Ich (oder ein Kollege hier) bekomm einen Anruf, Domino ginge nicht mehr. Kurzer Check - Domino reagiert nicht mehr. Cluster Node findet ihn nicht mehr und zeigt massig Failover (funktioniert i.d.R. auch ganz gut). Also auf die Kiste mit "MSTSC /console" drauf. Domino Fensterchen steht da brav vor sich hin. Nun kannman einen(!) der folgenden Befehle noch eintippen "sh u", "sh ta", "sh serv". Dann kommt dazu die Ausgabe, danach geht nichts mehr. Bei allen anderen Befehlen (einshcließlich "q") passiert nichts. Garnichts. Die Ausgaben der drei Befehle die noch gehen sind - wie sollte es hier auch anders sein - unauffällig. An diesem Punkt hilft dann wirklich ncihts mehr außer Tasks abschießen oder "nsd -kill" und Dienst wieder neu starten.


    Eckdaten:
    Windows Server 2003 Standard Edition, SP2
    Lotus Domino 6.5.6 FP2
    Trend Micro 3, Build 3500 (SP3 + Hotfix)
    läuft auf einem FuSi-Blade, 2 DualCore Opterons, 4 GB RAM


    Hab hier vom letzten "Hänger" auch noch einen äußerst ausführlichen 30MB-NSD-Dump. Das einzige was auf ein Problem hindeutet - die Fehlermeldungssammlung am Ende des Dumps:


    ERROR (0): Bad chunk desc 0
    ERROR (0): Bad memchunk desc 0 (256)
    ERROR (0): NSD thread 10f8 got system exception: ACCESS_VIOLATION (3221225477)
    ERROR (0): exception(0): NSD thread 10f8 got system exception: ACCESS_VIOLATION (3221225477)
    ERROR (0): Invalid task VTID=102



    Wenn jemand noch Infos braucht zum helfen liefere ich gerne nach. Auf Grund der Fülle an Daten die da interessant sein könnten, verzichte ich jetzt aber mal darauf blind alles hier rein zu schießen.

  • So weit war ich auch schon. Hätte mich oben vielleicht nochmal deutlicher ausdrücken können: den NSD starten ich wenn dann manuell! Da ist kein Panic, kein Fatal, kein Error - NICHTS! Domino "steht" einfach vor sich hin. Im Taskmanager kann man noch beobachten wie sich der Speicherverbrauch mancher Domino-Prozesse im KByte-Bereich noch ein bisschen ändert (auch länger). CPU zieht aber kein Task mehr. Und wie schon gesagt: auf der Konsole tut sich nichts mehr. Er nimmt auch keine Befehle mehr an. Von außen ist der Task tot.
    Witzigerweise lauschen aber noch alle Domino-Tasks laut "netstat -ano" auf ihre Ports, sprich, es werden auch keine Sockets geschlossen. Nur antworten tut auf den Ports auch keiner mehr...

  • Hi,


    könnte es ein Virenscanner sein, der auf File-Ebene Programm- und Datenverzeichnis des Dominoserver überwacht ??
    (hat bei uns auch zu massiven Problemen geführt)

  • Wenn es nur so einfach wäre... Gibt es bei uns natürlich nicht. Wir haben keinen Virenscanner im System - nur einen Domino-Integrierten, der auch nur die Mails scannt. Arbeitet aber nach wie vor einwandfrei - schon alles gecheckt.

  • ...was uns auch schon mal den Server verhagelt hat, allerdings immer "nur" einzelne Datenbanken, war die DaSi !
    BackUp Exec hat mit der File-Sicherung z.B. die Mail.box versaut, weil sie sie dem Router unter den Füßen weggezogen hat...


    Zum Auswerten des NSDs gibt es in der Sandbox ein Tool. Vielleicht hilft Dir das bei der lokalisierung des betroffenen Tasks

  • DaSi läuft über TSM OnlineAgent. Sichert das ganze Ding im Online direkt über Notes-APIs weg. Äußerst sauber, äußerst elegant, äußerst Problemlos. Übrigens: auch das hatte ich heute Vormittag nochmal alles bis ins kleinste Winkelchen zerpflügt --> keinerlei Hinweise auf Probleme.
    Das Tool werd ich mir gleich mal anschauen. Vielen Dank dafür schon mal!

  • Hallo Ha20


    So wie sich das abzeichnet hat der Server einen Hang.


    Du solltest folgende ini Parameter eintragen.
    Console_Log_Enabled=1
    Debug_ThreadID=1
    DEBUG_SHOW_TIMEOUT=1
    DEBUG_CAPTURE_TIMEOUT=10
    (Domino neustart und so)
    Damit werden bei einen Task hang´s viele Einträge in das semaphore File unter IBM Technical Support geschrieben der von IBM ausgewertet werden kann, und der verursachnde Task eingekreist.
    Durch DEBUG_ThreadID wird die ThreadID und der dazugehörigen VThread ID im Console Log ausgegeben.


    Ein NSD -kill ist gut, so weist du welche .nsf gerade von den verursachenden Task in benutzung ist (solltest du auch im NSD finden).


    Viel Spass bei der Suche.


    Durch
    DEBUG_SHOW_TIMEOUT=1
    DEBUG_CAPTURE_TIMEOUT=10
    kann der NSD -kill sehr lange dauern (hatte schon mal 2 Stunden gewartet).


    P.S.
    wenn dein NSD 30 MB gross ist, solltest du den Server mindestens ein mal in der Woche OS seitig neu starten (gerade unter W2K03).

  • Hallo,


    ich hab ein ganz ähnliches Problem unter Linux. Lotus steht ganz einfach. Linux (Suse 9.0) ist nach wie vor erreichbar. Gestern hatte ich sogar das Problem das nsd lief und stehen geblieben ist. Lotus hat gar nicht mehr reagiert. Selbst mit kill -9 konnte ich die Prozeesse nicht beenden. Nur ein Reset half.


    Hat sich inzwischen irgend etwas mit den Debug-Ausgaben ergeben?


    Ich werd Sie jetzt auch mal ausprobieren.....
    mfg
    volti

    5.x & 6.5er Clients auf allen möglichen Windows Systemen + 5.x & 6.5er Server auf Linux...

  • So, hab nun nocheinmal ein paar Informationen zu meinem Problem eingeholt. Danke erst mal für die Tips mit den Semaphore-Debug-Parametern. Scheinen der richtige Weg zu sein.
    Habe jetzt mal zwei Fälle verfolgen können...


    1.


    aus der SEMDEBUG:

    Code
    ti="002B7702-C12574AF" sq="00273297" THREAD [1300:0034-1C98] WAITING FOR SEM 0x0931 Task sync semaphore (@4C79EAA2) (OWNER=1300:2278) FOR 30000 ms


    PID "1300" gehört in diesem Fall der nserver.exe



    2.


    aus der SEMDEBUG:

    Code
    ti="0041A6B8-C12574B7" sq="00098978" THREAD [0D14:0CC7-0EF4] WAITING FOR SEM 0x0931 Task sync semaphore (@4E62A7B2) (OWNER=0D14:1040) FOR 30000 ms


    PID "0D14" gehört in diesem Fall ebenfalls der nserver.exe



    Wenn ich mir in beiden Fällen die Timestamps entsprechend umrechne, kommt das mit dem zeitpunkt wo die ersten Beschwerden aufgetreten sind gut zusammen. Kann mir also durchaus vorstellen, dass das die Ursache ist.


    Wo ich nun wieder eure Hilfe oder zumindest ein paar Denkanstöße bräuchte:
    1.) Kann so ein Semaphore-Timeout/-Lock derartige Probleme verursachen
    2.) Wofür genau ist der Semaphore 0931? Jaja, "Task sync". Kann mir auch einigermaßen an den Haaren herbeiziehen was das heißen könnte, aber was ist es genau?
    3.) Was kann Ursache dafür sein und noch viel wichtiger, wie löse ich das ganze, sollte es die Ursache unserer Probleme sein?



    Hoffe ein Freak von euch kann mir hier weiterhelfen! Wäre wirklich sehr dankbar. Sammle auch gerne noch weitere Daten, falls das hilfreicher sein könnte.

  • Hallo ha20


    Sorry war lange nicht Online.
    Du sagtest
    P"ID "0D14" gehört in diesem Fall ebenfalls der nserver.exe"


    der zweite Wert zeit die die Thrad ID an diees verursacht.
    Unter nserver.exe läuft ja fast alles, oder das meiste.


    Gugst du hier


    Schau noch mal im NSD welcher Task die Thrad ID 0034 oder 0CC7 hat.


    Ich bleib am Ball.

  • Also hier mal die Infos für den ersten beschriebenen Fall - da hatte die nserver.exe die PID 1300...


    Der Owning Thread:

    Code
    ############################################################### thread 95/120: [ nSERVER:  1300:  2278] ### FP=1609fd90, PC=7c8285ec, SP=1609fd20### stkbase=160a0000, total stksize=262144, used stksize=736############################################################ [ 1] 0x7c8285ec ntdll.KiFastSystemCallRet+0 (6108,ffffffff,0,1609fdd4) [ 2] 0x77e61c8d kernel32.WaitForSingleObject+18 (6108,ffffffff,ed24a4,ed24a2)@[ 3] 0x600a75c7 nnotes.WaitOnNativeSemaphore@16+135 (6000023b,ed24a4,60c9594c,0)@[ 4] 0x600f0416 nnotes.WaitOnNativeSemaphoreCounted@12+22 (6000023b,ed24a4,0)@[ 5] 0x60008f3d nnotes.OSLockWriteFRWSemInt@12+333 (ed24a2,1,0)@[ 6] 0x60008de0 nnotes.OSLockWriteFRWSem@4+16 (ed24a2)@[ 7] 0x6019d69f nnotes.OSWaitFairEvent@8+15 (ed24a0,0)@[ 8] 0x1001a459 nserverl.DbServer@8+265 (cf3b0119,88140068)@[ 9] 0x1002f0e4 nserverl.WorkThreadUtilityTask@8+1076 (4c79e9d4,0)@[10] 0x100016cb nserverl.Scheduler@4+763 (0)@[11] 0x60114b24 nnotes.ThreadWrapper@4+212 (0) [12] 0x77e64829 kernel32.GetModuleHandleA+223 (60114a50,0,0,fffe0129)


    Waiting Processes:

    Code
    1300 - (1300):[E:\notes\prog\nSERVER.EXE =E:\notes\prog\notes.ini:  1300]



    Aus dem Thread-zeugs werde ich aber noch nicht schlau :-/
    Falls da jemandzufällig tiefergehende Informationen zu soetwas hat, bitte immer her damit! Würde mich da gerne tiefer einarbeiten und nicht nur etwas an der Oberfläche kratzen. Dann muss ich euch das nächste mal bei so einem Problem nicht mehr auf den Senkel gehen ;)

  • Und leider mal wieder ein kompletter Freeze :(


    Betroffenes Semaphore: 0x034C (NAMELookup Thread Queue)


    Owning Threads:





    Waiting Threads:


    Zitat

    1DC4 - (1DC4):[E:\notes\prog\nRouter.EXE : 1dc4]
    1DDC - (1DDC):[E:\notes\prog\nSERVER.EXE =E:\notes\prog\notes.ini: 1ddc]


    Nachdem ich heute endlich mal einen Ausführlicheren NSD mit Dump machenkonnte habe ich heute richtig viele Infos. Besonders erwähnenswert findet Sandbox bei dem einen Owning Thread vom Router:

    Zitat

    High number of handles (11165) for shared memory block 0x8405 - BLK_IDTABLE


    Dieser Thread hatte zum zeitpunkt des Freeze laut Sandbox ein paar User-MailDBs im Zugriff, alle 4 mail.box und sämtliche über DirectoryAssistance eingebundene Names.


    Vielelicht nützliche Infos zum Process Memory:
    Virt. Size war auf 1.5G
    Work set size 1.4G
    Max. work set size 1.3G
    Handle Count 2041

  • Hat nicht zufällig einer eine Idee?


    Irgendwo ein Freak, der jede Zeile Code im Domino auswendig kennt? Oder jemand, der genau das Problem täglich behebt? Oder irgendwer, der von irgendwem gehört hat, wie das problem behoben werden kann?


    Mir würde ja auch schon ein Schubser in die richtige Richtung helfen wie ich an die Ursache kommen könnte. Bin leider mit dem Problem hier etwas überfordert und IBM sagt nur: Update auf 8 und alles wird gut. Ja klar, weil wir mal eben unsere 500 Anwendungen auf Domino 8 testen und die 180 Server updaten können... Scherzkeckse!

  • mal ganz ins blaue...


    du hast das problem ja schon seit geraumer zeit...also genauer seit juli.


    hast du denn mal den server neu installiert?
    also...data wegsichern und domino deinstallieren und wieder neu auf den server drauf...data wieder einbinden.

    -*-*-*-*-*-*-*-*-*-*-*-


    woher soll ich wissen was ich denke, bevor ich höre was ich sage???

  • Die einfachsten Dinge sind ja oft die, die übersehen werden - aber auch das hatten wir schon getan. Wir haben das Problem in der Tat schon das erste mal im Februar und dann zweimal im März. Wie es im Mai das vierte mal auftrat haben wir neu installiert.
    Aber wie ihr seht, ist das problem noch immer vorhanden.


    Wenn aber neu installieren nichts gebracht hat, können wir aber auch shcon wieder irgendwelche Fehlerhaften Domino-Dateien ausschließen. Entweder ist es dann ein problem unserer Konfig, ein Problem der Hardware/des OS darunter oder tatsächlich ein Bug der (mal wieder) nur bei uns auftritt...

  • hast du denn bei der neuinstallation auch mal versucht den server neu zu konfigurieren??? ... also notes.ini leerfegen?!?

    -*-*-*-*-*-*-*-*-*-*-*-


    woher soll ich wissen was ich denke, bevor ich höre was ich sage???

  • ja klar.
    Wir gehen bei Neuinstallationen sowieso immer os vor, dass wir die ini aus der Installation übernehmen und nur einen wohl ausgewählten Satz an Einstellungen dort rein kopieren, alles andere wichtige kommt über die Configdokumente mit rein.
    Letztere hatten wir bei der Installation unsere Sorgenkindes nocheinmal einer kritischen Prüfung unterzogen und liegen mit jeder einzelnen Einstellung auf BestPratice-Level :-/


    Wir haben in unserer Domäne auch noch 12 andere Server, die absolut identisch konfiguriert sind - als bestes Beispiel das Cluster-Mitglied zu unserem Sorgenkind. Der einzige Unterschied ist ide Anzahl der aktiv auf dem Server arbeitenden User.


    Also scheint es ein problem zu sein, das vor allem unter Last-Situationen zu diesem Freeze führt...


    Die Frage ist: was kann man dagegen machen? Die Hardware sollte das eigentlich abkönnen. HDD-Read/Write-Speed, CPU und Memory haben physikalisch noch Reserven, HDD-Queue ist zwischendurch auch immer mal wieder auf 0. Bin da echt am Verzweifeln!

  • falls es jemandem hilft: bei mir war es das Mainboard. Ein paar Kondensatoren waren "aufgeblüht".

    5.x & 6.5er Clients auf allen möglichen Windows Systemen + 5.x & 6.5er Server auf Linux...