Thread Vorgehensweise bei der Fehlersuche (Objekt wird zu früh zerstört) (7 answers)
Opened by xtomcatx at 2008-09-10 18:41

Gast Gast
 2008-09-11 00:25
#114518 #114518
Mit den Persistenten Referenzen war ich auf dem Holzweg.

Ich habe mal etwas genauer in Apache::Session geschaut.

Ich gehe jetzt eher davon aus das einer der Destroy-Blöcke schuld ist. Wenn in wenigstens einem zu früh die Verbindung zur Datenbank geschlossen wird, können keinen Daten mehr gespeichert werden.

Ich habe bei übergeben DBI-Objekten mindestens 2 Referenzen gezählt, die parallel existieren und im anderen Fall unabhängig zu sein scheinen. In zwei DESTROY-Blöcken wird DBI::disconnect aufruft. ("Apache::Session::Lock::MySQL" "Apache::Session::Store::MySQL") Es kann sein, dass der Garbage Collector schon die Verbindung schließt bevor die Daten gesichert wurden. Aber genaueres weiß ich nicht. Die Struktur ist recht komplex und ich blicke da noch nicht so ganz durch, wie der Ablauf ist. Der GC kann zudem recht zufällig vorgehen.

View full thread Vorgehensweise bei der Fehlersuche (Objekt wird zu früh zerstört)