Autor Thema: Externer Zugriff auf Notes-Daten --> Notes stürtz ab  (Gelesen 3392 mal)

Offline Sanjou

  • Frischling
  • *
  • Beiträge: 30
  • Geschlecht: Weiblich
Hallo, ich hab mal wieder ein (hoffentlich) kleines Problem. Ich greife aus einem Java-Programm auf Notes-Dokumente zu, Notes habe ich geöffnet. Beim 1. mal klappt das problemlos, beim 2. Zugriff stürzt Lotus Notes ab, die Java-Applikations ebenfalls und in meiner Eclipse-Entwicklungsumgebung bekomme ich die folgende Fehlermeldung:

Thread=[0AB0:0002-02C0]
Stack base=0x0303E67C, Stack size = -264 bytes
PANIC: LookupHandle: handle out of range
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x60178931, pid=2736, tid=704
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
# Problematic frame:
# C  [nnotes.dll+0x178931]
#
# An error report file with more information is saved as hs_err_pid2736.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

hat jemand eine Ahnung woran das liegen könnte bzw. was mir die Fehlermeldung sagen soll? Alles Variablen die ich benutze werden recycled und die Session korrekt geschlossen...  schonmal vielen Dank!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Externer Zugriff auf Notes-Daten --> Notes stürtz ab
« Antwort #1 am: 23.05.07 - 10:11:01 »
Kannst du trotzdem mal den Verbindungscode posten.
Verbindest du mit Corba oder local?
Wie sieht die NotesFactory.createSession Methode aus?
Verbindest du dich vielleicht aus versehen local mit einem Server, der auch auf deinem Rechner installiert ist/Testserver (das kann zu solchen Problemen führen).
Wie sieht die PATH Variable des OS aus, bzw. die Notes-Pfade, die da drin stehen (Reihenfolge ist wichtig).
In welcher Reihenfolge recyclest du die Objekte.
Benutzt du vielleicht beim 2. Mal die geschlossene Session?
Normal ist das nicht.
 
Gruß Axel
« Letzte Änderung: 23.05.07 - 10:12:42 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Sanjou

  • Frischling
  • *
  • Beiträge: 30
  • Geschlecht: Weiblich
Re: Externer Zugriff auf Notes-Daten --> Notes stürtz ab
« Antwort #2 am: 23.05.07 - 10:20:19 »
ich verbinde mich local zu notes... hier der Code:

try {
           
            /
           
            // NotesThread starten
            NotesThread.sinitThread();
           
            // Session zur OrgDB aufbauen
            session = NotesFactory.createSession();
            db = session.getDatabase("willi.lorien.fkie.fgan.de",
                    "FKIE/BMVg/orgdb.nsf");
           
            view = db.getView("2. Org.-Struktur");
         
           ......


            }

        } catch (NotesException e1) {

            e1.printStackTrace();

        } finally {
            try {
               
                view.recycle();
                db.recycle();
                session.recycle();
            } catch (NotesException e) {

                e.printStackTrace();
            }
            NotesThread.stermThread();
        }


Path-Variablen sollte stimmen...
andere Zugriffe auf die Notes DB klappen auch problemlos...
C:\WINDOWS\system32;C:\WINDOWS;C:\notes\jvm\bin;C:\notes;

Beim zweiten Zugriff wird genau die selbe Session gestartet, die vorher beendet wurde... manchmal bekomme ich den Fehler auch schon beim 1. Zugriff...

Kannst du mir sagen was der Fehler bedeutet? So wirklich kann ich damit nichts anfangen 
Vielen dank schonmal...

LG
Sandra

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Externer Zugriff auf Notes-Daten --> Notes stürtz ab
« Antwort #3 am: 23.05.07 - 11:10:19 »
Das ist merkwürdig.

Bist du sicher, dass der code überhaupt durchläuft, oder vielleicht nicht doch in einer Endlosschleife hängenbleibt? Du kannst das mit dem Debugger prüfen oder log4j/System.out.println() im finally.

Ich würd session im finally auf null setzen, aber das kanns eigentlich auch nicht sein, weil mit NotesFactory.getSession() eine neue Session erzeugt werden sollte.
In diesem catch vielleicht noch ein Throwable.
Code
try {
               
                view.recycle();
                db.recycle();
                session.recycle();
                 session = null; 
            } catch (Throwable e) {

                e.printStackTrace();
            }
Lass das am besten auch noch durch den Debugger laufen, ob du da etwas siehst.
Falls du in den ... eine Schleife hast, die auf eine Menge an Domino Objekten zugreift, könntest du noch darüber nachdenken, diese Objekte direkt zu recyclen.

so etwa
loop:
Code
doc = view.getFirstDocument();
while (doc != null) {
 doc1= doc;
 doc = view.getNextDocument(doc);
 doc1.recycle(); 
}



Die Fehlermeldung selbst sagt mir nicht viel. Wird direkt von den Notes.dlls durchgereicht.
In Google gibts ein paar Meldungen. Suche -> Lotus Java EXCEPTION_ACCESS_VIOLATION
Weiterhelfen tut das aber wohl auch nicht. Vielleicht ist auch einfach nur ein Dokument korrupt. Vielleicht ein fixup über die Datenbank.

Gruß Axel
« Letzte Änderung: 23.05.07 - 11:34:25 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Sanjou

  • Frischling
  • *
  • Beiträge: 30
  • Geschlecht: Weiblich
Re: Externer Zugriff auf Notes-Daten --> Notes stürtz ab
« Antwort #4 am: 23.05.07 - 11:20:31 »
du bist ein Genie!!!! Ich musste tatsächlich nur das Domino-Objekt auf das ich in einer Schleife zugegriffen habe direkt recyclen...

du hast mir echt sehr geholfen!! TAUSEND DANK!!!!


Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Externer Zugriff auf Notes-Daten --> Notes stürtz ab
« Antwort #5 am: 23.05.07 - 12:27:00 »
Bin nicht Genie und will nicht sein.
Ist einfach die alte Frage, wo potentiell ein Engpaß entstehen könnte.
Hab da keine wirkliche glaßklare Vorstellung von, aber die im Java Programm benutzte Notes Objekte haben ihre eigenen Remote Procedure Call Verbindung zur Notes Datenbank auf dem Server und deren Anzahl ist halt endlich.
Wobei ich den Fall für beunruhigend halte. Nehmen wir an, Du hättest das mit einer TestDatenbank mit 10 Dokumenten getestet. Das Engpaß-Risiko wär erst irgendwann in Produktion aufgetreten.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Sanjou

  • Frischling
  • *
  • Beiträge: 30
  • Geschlecht: Weiblich
Re: Externer Zugriff auf Notes-Daten --> Notes stürtz ab
« Antwort #6 am: 23.05.07 - 13:27:11 »
na gut... auf jeden Fall hast du mir trotzdem sehr geholfen. Ich war schon halb verzweifelt...
aber so nach und nach blicke ich bei Notes durch...

oh ja, das wäre peinlich gewesen wenn das Programm mit dem Fehler in Produktion gehen würde... aber wir entwickeln sowieso nicht produktiv sondern machen nur nicht-technische Studien... aber natürlich möchte ich das alles richtig funktioniert...

also am besten immer direkt alles recyclen... :)


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: Externer Zugriff auf Notes-Daten --> Notes stürtz ab
« Antwort #7 am: 29.05.07 - 10:35:43 »
Nur der Vollständigkeitshalber:

view.recycle();
db.recycle();
session.recycle();

Bei diesem Codestück sind die ersten beiden Zeilen sinnlos. Wenn du die Session recycelst, werden alle abhängigen Objekte mit recycelt.

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.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz