Autor Thema: Welche Funktion hat der Agent (MailPolicy) in der Maildatenbank  (Gelesen 22104 mal)

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
IMHO ist der Absatz mit der "small database" Bestandteil des Disclaimers. Den satz bekommen wir bei jedem PMR zurück.
Na mal schaun, unser Auftraggeber hat sich jetzt den Premium Support geleistet, ev. wirds damit besser.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
@Martin:

Ich habe in grauer Vorzeit mal gelernt, den fraglichen Code mit "Testdaten" im Kopf zu debuggen, also quasi Zeile für Zeile vor meinem geistigen Auge ablaufen zu lassen und zu sehen, was passiert.
Das ist in diesem Fall bei der Funktion recht einfach, weil es nur die Bedingung gibt: "Feld vorhanden, oder Feld nicht vorhanden".
Wenn die Funktion ein Array zurückliefern soll, dann muss es auch irgendwo gefüllt sein. Das ist insbesondere dann hilfreich, wenn ich nach dem Funktionsaufruf mit dem Rückgabewert irgend etwas machen will.
Wenn das Array aber nicht initialisiert wurde, dann kommt es zu dem Fehler.

Klar, ich kann jetzt hingehen und eine Datenbank erstellen in die ich die Funktion reinkopiere. Aber was soll das ?

Das löst in keiner Weise das eigentliche Problem.

Der Fehler ist lediglich das Sichtbare Ergebnis eines fehlers, der weit vor dem eigentlichen Funktionsaufruf aufgetreten ist.

Aufgrund eines weiteren PMR hatte ich ja dann auch die folgenden Informationen

Zitat
Everytime adminp runs on the Domino server, the calendar profile of the
users mailfiles gets updated with three fields derived from the policie
set up on the server. These fields ($FL_2, $FL_3, $MPUP_N) gets deleted
from the $CalendarProfile when the user opens their mailfile.     

Das ist ja schon mall was, womit man arbeiten kann.  Eigentlich sollen die Felder ständig neu befüllt und nach Ausführung des Agenten wieder gelösht werden.

Problem bei mir war, daß aus welchem Grund auch immer das Feld $MPUP_N nicht aus dem CalendarProfile gelöscht wird. Das ist aber eine  logische Konsequenz. Denn so, wie der Agent und die damit zusammenhängenden Funktionen gestrickt sind, wird der Code, der die Flags löscht, nie angesprungen.

Also tritt der Fehler immer und immer wieder auf.

Nachdem ich das Feld dann manuell gelöscht hatte, konnte ich prima beobachten, daß der Befehl tell admino process mailpolicy diese Feld wieder im CalendarProfile erstellt hat, nicht aber eines der Felder $FL_2 oder $FL3, was wiederum zur Folge hatte, daß das Array uninitialized blieb und der Fehler ins Log geschrieben wurde. Übrig blieb dann nur wieder das Feld $MPUP_N mit den bekannten Folgen.

Nun habe ich mir das entsprechende mailpolicy doc im DominoDirectory vorgenommen. Hier hatte ich lediglich einen Disclaimertext zu Testzwecken eingefügt; alle anderen Einstellungen habe ich so belassen, wie sie bei der Neuanlage aufgrund der Vorgabewerte in den Feldern erstellt werden.

Ich weiss auch, daß ich bei Erstellung des Docs den Disclaimertext mehrfach geändert habe und das Doc dadurch auch mehrfach gespeichert wurde. ( das nur am Rande )
Ich have dann einmal versuchsweise eines der Felder, die im Standard auf "Don't Change" stehen auf "Always" gesetzt und das Document gespeichert, ohne sonst an den übrigen Werten irgend etwas zu verändern.

Dann wieder tell adminp ... und CalProf VOR dem Öffnen der MailDatei mit ScanEZ angesehen. Siehe da, der AdminP hat das Feld $FL_2 erstellt und befüllt.

So wie der Agent programmiert ist, sollte niun alles sauber laufen. Und das tut es auch!

Die Felder $MPUP_N und $FL_2 werden gelöscht; ein Zeichen dafür, daß der Code bis ( fast ) zum Ende des Agenten sauber durchgelaufen ist.  Ab dann lief der Agent bei jedem Start der Datenbank sauber durch.

@Domino770:

Würde mich aber jetzt doch einmall interessiern, warum der Client bei dir abstürzt. Da muss aber noch einiges mehr passieren, als ein nicht initialisiertes Array.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline domino770

  • Frischling
  • *
  • Beiträge: 16
Ich habe neuerdings folgendes festgestellt.

Der Client stürzt nicht überall ab, sondern wenn man in anderen Anwendungen auch arbeitet.
Bei näherer Untersuchung habe ich dann folgendes festgestellt.

Wir haben eine Anwendung in der alle User arbeiten. Wenn die Maildatenbank der User nicht geöffnet ist, laufen alle Programmierten Aktions oder Programme normal.
1. test ich öffne die Maildatenbank und führe eine Aktion mit uidoc.refresh aus dauert es Stundenlang. (1. Test: nach 30 Minuten habe ich den Client abgeschossen). Der user hat dann nur noch die Sanduhr.

In der Noteslog steht dann als letztes die folgende Fehler-Meldung

 Agent '(MailPolicy)|MailPolicy' - Fehler: Attempt to access uninitialized dynamic array

2. Testlauf: genau Dasselbe
3. Testlauf genau Dasselbe
4. Testlauf es funktioniert :P :o

so jetzt hänge ich hier und starre die Wandtapete an und warte auf die Männer mit den weissen Kitteln ???
oder wann es das nächste mal nicht funktioniert.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Zitat
Der Client stürzt nicht überall ab, sondern wenn man in anderen Anwendungen auch arbeitet.

Ich denke, der Client stürzt ab, wenn du die Maildatenbank öffnest ??

Und plötzlich kommt noch eine andere Anwendungs ins Spiel ...

Ganz toll ... wirklich, ganz toll ...  :P :P
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline domino770

  • Frischling
  • *
  • Beiträge: 16
ja das ist es ja..



die ersten male war es auch so, dass der Client beim Öffnen der Maildatenbanken abgestürzt ist, wenn der Agent gelaufen ist, obwohl keine Andere Anwendung geöffnet hat :-:

jetzt habe ich gedacht Probierst mal einfach aus, wie sich das Auswirkt auf wenn ich in einer anderen Anwendung arbeite und die Maildatenbank einfach offen lasse..

Der Effekt ist eigentlich derselbe, nur unsere User denken, das liegt an den anderen Anwendungen. Habe eben noch nachgeforscht. Egal was die User machen, wenn es abstürzen will, stürzt es ab, auch wenn Sie eine Mail in der Maildatenbank öffnen wollen.

Das ist es ja warum ich die Wandtapete anschaue...

Ich werde jetzt einfach den Code ändern und damit hat sich das Problem.

in folgender weise...

DefineWorkType = ""
      counter = 0
      Redim Preserve WorkItemNames(Counter) As String
      WorkItemNames(Counter) = ""
      
      If Not (Me.m_CalProfile Is Nothing) Then      
         If Me.m_CalProfile.HasItem("$FL_2") Then
            Redim Preserve WorkItemNames(Counter) As String
            WorkItemNames(Counter) =  "$FL_2"
            Counter = Counter + 1
         End If
         
         If Me.m_CalProfile.HasItem("$FL_3") Then
            Redim Preserve WorkItemNames(Counter) As String
            WorkItemNames(Counter) = "$FL_3"
            Counter = Counter + 1
         End If
      End If
      
      DefineWorkType = WorkItemNames



damit ist das array inistialiesiert und es dürft keine Fehlermeldung kommen. Ich werde es die nächsten Tage bei den Usern beobachten. Ob das die Lösung war....

HERZLICHEN DANK FÜR EURE MÜHEN!!!!!

Und den Supportvertrag mit IBM werden wir hoffenlich auflösen. ... >:(

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Zitat
Ich werde jetzt einfach den Code ändern und damit hat sich das Problem.

Damit bist du auf dem Holzweg ...

Zitat
und es dürft keine Fehlermeldung kommen

Du findest dann die folgende Meldung im Log : "Subscript out of range".

« Letzte Änderung: 16.02.07 - 14:50:09 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Kurz zur Info:

heute hat sich ein Mitarbeiter von IBM gemeldet, nachdem die Sache zwischen mir und IBM ein wenig eskaliert ist.
Wir werden am Freitag dieses Thema noch einmal am Telefon durchsprechen.
Ich denke, da werden wir auch in der Sache weiterkommen.

Ich lasse euch wissen, was dabei herausgekommen ist.

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
So, ich wollte mich ja zum Thema melden, wenn es etwas Neues giibt:

Heute habe ich eine neue Nachricht aus Dublin erhalten. Eigentlich hatte ich mit so etwas wie einer Lösung gerechnet.
Statt dessen kommt wieder eine mehr oder weniger standardisierte Mail, mit der Bitte um eine Step-By-Step anleitung und einer Beispieldatenbank.

Ich denke, daß ich diesen Fall jetzt zu den Akten lege, da ich nicht erwarte, daß sich noch irgend etwas tun wird, um das Problem zu lösen ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Glombi

  • Gast
Du bist ja demnächst in Dublin, dann kannst Du das Problem ja persönlich vortragen  ;D

Bis bald in Dublin  :D

Andreas

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Und noch ein Update: IBM kann den Fehler nicht nachvollziehen... Thema durch.

Auch bei einem weiteren gemeldeten SOFTWAREFEHLER kann oder will IBM mir nicht helfen. Ich solle mich an einen Consultant wenden, so die lapidare Antwort.

Danke, IBM. Unsere User haben hier teilweise massive Probleme, die sie ausnahmsweise einmal nicht selber zu vertreten haben. Aber der Hersteller des Produkts kann oder will nicht helfen.
Das sollten wir mal mit unseren Kunden machen ...



Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline SD

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Solange du das nicht mit den ATNotes-Usern machst... :D

Ich habe hier ein Log in die Hand gedrückt bekommen in der die schöne Meldung"Agent '(MailPolicy) MailPolicy' - Fehler: Overflow" steht. Könnte das die selbe Baustelle sein, oder ist das wieder was anderes, wie z.B. etwas bekanntes, für das eine Lösung existert? ^-^

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
das ist vermutlich in genau dem gleichen Kontext. Aber wirf es weg. IBM kann das eh nicht lösen ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Gerry

  • Junior Mitglied
  • **
  • Beiträge: 71
auch wenn ich jetzt noch ein bisschen Salz in die Wunde streue:

Ich habe gerade das gleiche Problem bei mir (also in den logs meiner User) entdeckt.

Hat sich IBM vielleicht doch nochmal konstruktiv dazu geäußert?

Offline moschkito

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Weiblich
Ich hatte nach "$FL_2" im Internet gesucht, um einer Fehlermeldung in der Serverconsole auf die Schliche zu kommen, die wir gestern gesehen haben:
Fehlermeldung lautete:
Unable to update calender entry "DefaultAppAssoc" or "DefaultAppDom" from list '$FL_2' for  'xyz.nsf' : Error returned: Note item not found.
Dazu mal die Experten vom SWAT-Team bei IBM in Holland befragt:
Deren Antwort: Es gibt eine Technote und dazu wurde bereits ein SPR erstellt. Zitat: "This would be an informational error, its a known issue thats adressed to solve in 853, it requires a pubnames.ntf modification to resolve these. The following likely applies https://www-304.ibm.com/support/docview.wss?uid=swg21507786. "

Ich weiß nicht ob das hierhin passt, in der Technote stand aber zumindest genau unser Problem, es hatte was mit der Anpassung der Policy zu tun und dem danach ausgelösten
 tell adminp
Die Technote heißt: Server console errors when mail policy pushes AutoProcessType
Scheint also daß $FL_2 mehrere Probleme in verschiedenen Scriptbereichen schmeißt.

PS: Wenn mein Gebrabbel hier nicht hinpasst, bitte ignorieren...
Server 8.5.3 FP3 am Solaris, Client 8.5.3 FP1 am WIndows 7 oder XP

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz