seltsamer Traceback - psyco?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi,

kann mir jemand diesen Traceback erklären? Wie kann es dazu kommen?

Code: Alles auswählen

Traceback (most recent call last):
  File "/home/cm/bin/md_rigid", line 627, in <module>
    #print structure.rg, structure.rgxy
  File "/home/cm/bin/md_rigid", line 571, in monte_carlo_search
    self.calculate_pofr()
  File "/home/cm/bin/md_rigid", line 243, in _rotate
    if angle == 'theta':
KeyError: 0
Hier steht ja: Beim Aufrufen eines Kommentares, trat ein Fehler beim Aufrufen einer Funktion in einer anderen Funktion auf ...

Ich habe das Skript dann erneut gestartet und erhielt folgenden Traceback (nur zur Erklärung):

Code: Alles auswählen

Traceback (most recent call last):
  File "/home/cm/bin/md_rigid", line 627, in <module>
    s.monte_carlo_search()
  File "/home/cm/bin/md_rigid", line 571, in monte_carlo_search
    self._rotate()
  File "/home/cm/bin/md_rigid", line 243, in _rotate
    for angle, rad in moves[chain_id].iteritems():
KeyError: 0
Diesen zweiten Traceback verstehe ich ja auch, da habe ich einen simpel zu behebenden Fehler gemacht. Aber der erste Traceback ist deshalb so ärgerlich, weil so was bei diesem Skript gelegentlich vorkommt und nicht immer einfach mit einem Neustart gerade zu rücken ist.

Ich versuche gerade doch mal MonteCarlo-basierte Modelling in Python umzusetzen (zumindest in einer ersten Version) und damit es wenigstens etwas schneller läuft verwende ich psyco. Damit bin ich durchaus zufrieden, sieht man mal von diesen seltsamen Tracebacks ab, die beim Debuggen wirklich hinderlich sind ...
Also: Ich bin mir keineswegs sicher, das die Ursache für diese Tracebacks bei psyco liegt, sondern möchte einfach mal in die Runde fragen, wo hierfür die Ursache sein kann und ob jemand von euch so was schon mal gesehen hat.

Gruß,
Christian
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Versuchs doch einfach mal ohne psyco ;)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Um ähnlichen Kommentaren vorzubeugen: Es ist leider nicht so, daß das "Tracebackproblem" reproduzierbar auftritt. Ansonsten wäre ich längst hingegangen und hätte mal den psyco-Import auskommentiert und alles systematisch überprüft. Aber generell ohne psyco ist einfach zu langsam - dann warte ich beim Debuggen einfach viel zu lange bis zum nächsten Schritt.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Gestern Abend habe ich es halb systematisch gemacht: Mir ist nämlich aufgefallen, daß ein 64bit-Rechner, auf den ich Zugriff habe, dasselbe Problem wesentlich schneller abhandelt, also habe ich da das Debugging fortgesetzt - ohne psyco (soll ohnehin nur auf 32bit-Maschinen funktionieren). Und siehe da: Keine unverständlichen Tracebacks mehr.

Tut mir leid, für den Forumsstaub, den ich aufgewirbelt habe.

Gruß,
Christian
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ich hatte den Fehler auch schon, war aber nicht mir Psyco zusammen.
Der Fehler war das im Traceback die richtigen Zeilen standen aber der Inhalt der Zeilen der dabei stand nicht der, der Datei entsprach. 'Fehler' war irgendein cacheing denk ich mal (war in Verbindung mit mod_python).
Am Cache des Browsers lag es aber nicht, weil ja immer die Fehler Zeile richtig war. Hat mich nur nicht weiter gestört, Fehler ist verschwunden mit Umstieg auf Ubuntu ;-), und neuerer Versionen von mod_python (apt-get sorgt dafür das man öfters Updatet :-)).

Außerdem lasse ich den Apache mittlerweile automatisch neustarten, wenn ich dran arbeite.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Interessant - aber ich möchte meinen, daß es nicht an der Linux-Distro liegt: Der Rechner, wo der Fehler auftritt, läuft unter Ubuntu und der 64bit-Rechner unter SuSE.

Gruß,
Christian
Antworten