Autor Thema: NSD Analyse: Gibt es irgendwo ne Doku?  (Gelesen 4009 mal)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
NSD Analyse: Gibt es irgendwo ne Doku?
« am: 27.01.06 - 11:35:09 »
immer wieder bekomme ich nsd- Files zugesendet, und versuche ein wenig herauszufinden, was den Client / Server denn nun zum Absturz gebracht hat.

Wenn man Glück hat, dann findet man im Stack-Trace einen Datenbank- Namen mit dessen Hilfe man dann weiter forschen kann, aber oftmals ist da auch gar nix.

Ich will nicht professionell die Dinger analysieren, dafür ist eine eigene Ausbildung nötig, das ist mit klar. Aber zumindest Anhaltspunkte wären oftmals nicht schlecht.

hier mal ein Beispiel aus dem Stack:

############################################################
### PASS 2 : FATAL THREAD with STACK FRAMES 1/11 [ NLNOTES:07a4:07a0]
### FP=0012ed18, PC=6007877e, SP=0012ed10, stksize=8
Exception code: c0000005 (ACCESS_VIOLATION)
############################################################
# ---------- Top of the Stack ----------
       # 0012ed10  00000000 0000012d 0012ed3c 618c60f9  |....-...<....`.a|

@[ 1] 0x6007877e nnotes.CEventLanguageTable::GetActionType+14 (76,12d,8e93578,8eacf78)

       # 0012ed18  0012ed3c 618c60f9 00000076 0000012d  |<....`.av...-...|
       # 0012ed28  08e93578 08eacf78 77e038ea f01c0181  |x5..x....8.w....|
       # 0012ed38  00000002 0012ed70 611ee15f 08eacf78  |....p..._..ax...|


@[ 2] 0x618c60f9 nnotesws._DocExecFieldEvent@16+25 (8eacf78,0,12d,b)

gibt es irgendwo ne Tabelle, die die verschiedenen "Events" beschreibt ?
(im Beispiel oben nnotes.CEventLanguageTable::GetActionType+14 )

Wie macht Ihr das ? Schickt Ihr die Dinger immer sofort zum IBM- Support ?

Danke für Anregungen.

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Driri

  • Gast
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #1 am: 27.01.06 - 11:55:21 »
Zitat
Wie macht Ihr das ? Schickt Ihr die Dinger immer sofort zum IBM- Support ?

Jopp, ehrlich gesagt kann ich nur in seltenen Fällen in den Dingern etwas erkennen. Ist glücklicherweise aber auch recht selten, daß ich Probleme habe, die NSDs produzieren.


Ich habe ein PDF mit einer Präsentation von der LotusSphere 2004, wo Daniel Nash wohl einen Vortrag zu dem Thema gehalten hat. Hab leider keinen Link mehr, aber ich kann dir das PDF gerne zusenden.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #2 am: 27.01.06 - 11:56:57 »
Bei der NSD Analyse ist das wichtigste, der Stacktrace. Oft kann man am Namen der Funktionen sagen was passiert ist. Optimal analysieren kann das natürlich nur die IBM und da auch nur die Developer da man dabei Zugriff auf den Source braucht. Aber oft sind die Namen sprechend und man kann das Problem selber lösen. Recht viel mehr wird man dabei aber dann nicht rauslesen können, ausser du hast Zugriff auf die interne Knowledgebase der IBM, dann kann man mit den Call Stacks suchen. Machen Sie zumindest immer so, wenn wir ein NSD an die IBM melden. Wenn du einen NSD bekommst, bist du eh ein glücklicher. Viel schwieriger zu diagnostizieren ist ein Server hang. Was man dabei machen kann kannst du hier lesen:

http://www-128.ibm.com/developerworks/lotus/library/domino-server-crashes/index.html

Da ist auch kurz beschrieben wie man einen NSD lesen kann. Aber ich denke das Wissen hast du schon.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #3 am: 27.01.06 - 12:38:43 »
@Driri : Es wäre nett, wenn Du mir das PDF mal zukommen lassen könntest.

@Ralf: Den von Dir genannten Link kannte ich natürlich (hätte ich dazu schreiben können....).
Interessant wäre zu wissen, ob es sich bei den im Stack genannten Funktionen vielleicht um API- Aufrufe handelt, dann könnte man ja vielleicht mit der API- Doku weiter kommen...


Danke Euch mal für die Anregungen, ich werde mal noch ein wenig weiter suchen.
Für weitere Tipps bin ich dankbar

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Driri

  • Gast
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #4 am: 27.01.06 - 12:47:12 »
Gerne Tode, ist die Mailadresse in deinem Profil korrekt ? Klingt so nach Fake  ;)

Sonst schick mir deine Mailadresse per PM.

Offline Czayko

  • Frischling
  • *
  • Beiträge: 14
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #5 am: 27.01.06 - 13:09:36 »
@Driri
könntest du mir auch mal das pdf zukommen lassen ? Habe auch das Prob das ich nicht wirklich viel mit den nsd-files anfangen kann

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #6 am: 27.01.06 - 13:13:15 »
Die Tatsache, das sie wie ein fake klingt, macht die Adresse doch erst so schön.  ;)
Leider verwenden einige bei anmeldungen in Foren etc. auch diese Adresse, so dass ich ziemlich viel Müll bekomme... aber damit kann ich leben.

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Driri

  • Gast
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #7 am: 27.01.06 - 13:36:30 »
@Tode :

Email ist raus. Ich wollte bei der Adresse eben lieber nachfragen  ;)


@Czayko :

Klar, schick mir deine Mailadresse per PM zu.


Aber bitte keine Wunder erwarten, das ist nur eine grundsätzliche Erklärung zu den NSDs. Detailinfos findet man darin nicht.

Offline boemitsu

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • What goes around comes around
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #8 am: 27.01.06 - 14:20:32 »
Hallo,

bei den letzten Server Crashes hat mir folgendes Dokument geholfen (aus dem Domino-Forum auf notes.net)

---------------------

Yes, they do contain a lot of information because it's a collection of all known facts at the time of the crash.  However, I can give you the simplest scenarios which might help you to be proactive.

The actual crash will generate a callstack in the nsd log.   On Windows look for "FATAL THREAD" and on Unix look for "fatal_error".  Once you have found that look at the function stack which follows immediately.  This usually gives you a clue about what was going on at the time of the problem.  Consider first which process crashed.  Was it amgr?  Then look for an agent.  http? server?   (by the way, the 'n' in nserver indicates that this is an Intel executable).  Then, when you look at the call stack try to figure out what the function names might indicate.  NIFUpdateCollection, for example, indicates that a view was being updated.  Familiarity with the C API can certainly help here.  This is the single most important piece of information in the NSD log file.

Another very helpful piece of information is to know what databases were open by the thread that crashed.  That way, if you are trying to locate a bad database you might be able to narrow it down.  To do this you will need 3 pieces of info from the NSD log.  First is the id of the thread that crashed. 

############################################################
### FATAL THREAD 5/64 [ nserver:03cc: 1696]
### FP=0x0314fbc0, PC=0x1001f725, SP=0x0314e9e0, stksize=4576
### EAX=0x00000001, EBX=0x00000000, ECX=0xffffffff, EDX=0x00000000
### ESI=0x00000000, EDI=0x00000000, CS=0x0000001b, SS=0x00000023
### DS=0x00000023, ES=0x00000023, FS=0x00000038, GS=0x00000000 Flags=0x00010202
Exception code: c0000005 (ACCESS_VIOLATION)
############################################################
@[ 1] 0x1001f725 nserverl._PerformCommand@8+11669 (d3390002,5d8c0001,2,20205)
@[ 2] 0x1001abd0 nserverl._ConsoleProgram@8+1072 (d3390002,5d8c0001,10006,1010004)
@[ 3] 0x10001adf nserverl._Scheduler@4+1295 (0,80430d77,0,100015d0)
@[ 4] 0x6000fd46 nnotes._ThreadWrapper@4+342 (0,0,0,0)
 [ 5] 0x77e8758a KERNEL32.SetFilePointer+394 (6000fbf0,0,0,dddd04d2)

In this example the process id is 03cc and the thread id is 1696  (this is a simulated crash performing a server console command)

1696 is a physical thread, but you need the corresponding virtual thread, so go to the table for process 03cc

------ TLS Mapping -----
                               NativeTID                VirtualTID                 PrimalTID
                   [ nserver:03cc: 1192]     [ nserver:03cc:    2]     [ nserver:03cc:    2]
                   [ nserver:03cc: 1632]     [ nserver:03cc:    4]     [ nserver:03cc:    4]
                   [ nserver:03cc: 2180]     [ nserver:03cc:    5]     [ nserver:03cc:    5]
                   [ nserver:03cc:  296]     [ nserver:03cc:    6]     [ nserver:03cc:    6]
                   [ nserver:03cc: 1696]     [ nserver:03cc:    7]     [ nserver:03cc:    7]

and you find that the virtual thread is 7.  Finally, go to the open database table

------ Open Databases -------
C:\R6devel\Domino\Data\names.nsf   
   Version    = 43.0
   SizeLimit  = 0, WarningThreshold = 0
   ReplicaID  = 80256be1:00545e95
   bContQueue = NSFPool [  0:   412]
   FDGHandle = 0xf0190048, RefCnt = 51, Dirty = N
   DB Sem     =  (FRWSEM:0x0244) state=0, waiters=0, refcnt=0, nlrdrs=0 Writer=[]
   SemContQueue ( RWSEM:#0:0x029d) rdcnt=-1, refcnt=0 Writer=[] n=0, wcnt=-1, Users=-1,  Owner=[]
   By: [ nserver:03cc:    7] DBH=     6, User=

and you see that this thread had names.nsf open at the time of the crash.
Gruss

Michael

Offline sky-diver

  • Aktives Mitglied
  • ***
  • Beiträge: 138
  • Geschlecht: Männlich
  • belive it or ...leave it ..
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #9 am: 27.01.06 - 15:22:49 »
@driri kannst du mir das PDF auch zukommem lassen ..danke

okki@gmx.ch

sky

Glombi

  • Gast
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #10 am: 27.01.06 - 15:27:27 »
Ich vermute, dass es sich um diese Präsentation handelt:

http://media.lotus.com/lotusphere2004/bp/bp106.pdf

Andreas

Driri

  • Gast
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #11 am: 30.01.06 - 08:59:34 »
Stimmt. Danke Andreas, da spar ich mir die Mails  ;)

Offline ebse

  • Aktives Mitglied
  • ***
  • Beiträge: 185
  • Geschlecht: Männlich
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #12 am: 21.02.06 - 10:10:09 »
Eine Frage noch: Wo finde ich dieses TLS Mapping, also die Tabelle mit den verscheidenen ID's?

Offline pedsola

  • Aktives Mitglied
  • ***
  • Beiträge: 128
  • Geschlecht: Männlich
    • anders und sehr GmbH - Internetagentur und eCollaboration
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #13 am: 21.02.06 - 10:20:53 »

hallo ebse,

du findest die Tabelle in der nsd-Datei drin...

gruß
pedro
Gruß
Pedro

Offline ebse

  • Aktives Mitglied
  • ***
  • Beiträge: 185
  • Geschlecht: Männlich
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #14 am: 21.02.06 - 10:24:16 »
und was wenn ich den auch nen "FATAL THREAD" hab aber die TLS Mapping Tabelle nicht drin ist?! kann das sein?

EDIT:
Habe auch so ne fehlermeldung wie oben beschrieben "FATAL THREAD ....." in meiner "NSD_all_W32......log" aber ich finde darin weder die "Process Table" noch die "Open Database Table"??? Was mach ich falsch?

Danke schonmal.
« Letzte Änderung: 21.02.06 - 10:39:49 von ebse »

Offline pedsola

  • Aktives Mitglied
  • ***
  • Beiträge: 128
  • Geschlecht: Männlich
    • anders und sehr GmbH - Internetagentur und eCollaboration
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #15 am: 21.02.06 - 10:45:33 »
Hallo,

such mal in deiner NSD-Datei nach der process ID oder der thread ID wie oben beschrieben. Bei der Suche solltest Du dann irgendwann auf die Tabellen kommen. Die sind in der Datei eher im letzten Drittel anzufinden.

Gruß
Pedro
Gruß
Pedro

Offline ebse

  • Aktives Mitglied
  • ***
  • Beiträge: 185
  • Geschlecht: Männlich
Re: NSD Analyse: Gibt es irgendwo ne Doku?
« Antwort #16 am: 21.02.06 - 10:59:38 »
bei mir steht das wirklich nicht drin.... komisch.....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz