Kategorienbaum klappt einfach wieder ein

Gesperrt
Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Kategorienbaum klappt einfach wieder ein

Beitrag von Alex »

Hallo!

Mir ist gestern berichtet worden, dass der Kategorienbaum einfach wieder einklappt. Bei mir als Admin ist das noch nie aufgetreten...

Also folgendes:
Eine neue Kategorie soll angelegt werden. Baum wird aufgeklappt (+), dann wird die richtige Stelle gesucht und dann neue Kategorie eingefügt (+), jetzt kommt aber nicht das Fensterchen zum Benennen der Kategeorie, sondern der Baum klappt sich wieder ein. Das gleiche passiert auch beim Umbennenen. Der Fehler tritt aber nicht immer auf und auch nicht, wenn man als Admin eingeloggt ist.

Kann das irgendwie mit den Rechten zutun haben. Werden den Usern eigentlich automatisch die Rechte für neue Kategorien gegeben?

Alex

-----------
Contenido 4.4.1
Server operating system Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7c DAV/1.0.3 PHP/4.3.3
MySQL server version 4.0.15
Installed PHP version 4.3.3
safe_mode deactivated
magic_quotes_gpc activated
magic_quotes_runtime deactivated
gpc_order GPC
memory_limit 10M
max_execution_time 50
Disabled functions nothing disabled
Gettext extension not loaded
sql.safe_mode deactivated
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Konnte ich bisher leider auch nicht nachvollziehen.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Hallo Alex,

hast du mal nachgesehen, ob das Problem mit der 4.4.2 auftritt?

Grüße,
Timo
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

So, ich hoffe, den Fehler gefixt zu haben (ich konnte ihn zumindest nicht mehr nach meinen Änderungen reproduzieren). Wird in der 4.4.3 kommen.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

leider doch noch nicht gefixt - ist aber definitiv kein Problem, welches Contenido verursacht, sondern entweder ein Bug in PHP oder in den zugrundeliegenden Libraries.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

@timo
wie kann man den fehler reproduzieren ?
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

nur unter ganz bestimmten Vorraussetzungen, und auch nicht immer:

- RedHat 9 (scheint wichtig zu sein)
- beliebige PHP-Version
- Viele Kategorien (>50)

- Man gehe in Content -> Kategorie
- Klappe eine Ebene auf
- Klicke erneut auf Content -> Kategorie (bzw führe eine beliebige Aktion aus, z.b. noch einen Punkt aufklappen)
- Der Baum klappt wieder zu

Ich habe da heute sehr viel debuggt, und habe einige seltsame Phänomäne entdeckt:

- Der Inhalt der Session wird offensichtlich geschrieben, wird aber bei einem erneuten Seitenaufruf zu den alten Werten zurückgeschrieben (deshalb auch das zuklappen). Seltsamerweise funktioniert es, wenn man am Ende der Seite eine Pause von 2sec einbaut, bevor das page_close aufgerufen wird)

- Die Strings ändern sich aus irgendwelchen Gründen (und zwar in ct_sql.inc, beim Session speichern)

Folgender Code in der Funktion ac_store, direkt nach " $name = addslashes($name);":

Code: Alles auswählen

echo "<br>md5 of string ".md5(substr($str,0,979))."<br>";
$fp = fopen("/tmp/timo.log","wb");
fputs($fp, $str);
fclose($fp);
$str2 = file_get_contents("/tmp/timo.log");
echo md5(substr($str2,0,979))."<br>";
sleep(2);
$str2 = file_get_contents("/tmp/timo.log");
echo md5(substr($str2,0,979))."<br>";	
Liefert beim 2. Aufruf (nach dem Sleep) einen anderen MD5-Hash zurück als beim 1. Aufruf vor dem Sleep. Das Verhalten ist willkürlich. Das Phänomänen tritt auch nur dann auf, wenn der String länger als ~200KB ist, und auch nur ab dem 978. Zeichen. Ist der String kleiner als 200KB, passiert meistens gar nichts. Auch konnte ich das nicht ausserhalb von Contenido reproduzieren.

Ich vermute, daß es sich um eine fehlerhafte Library in Redhat 9 handelt, da ich das Problem auf ähnlichen Systemen nicht reproduzieren konnte, sondern immer nur auf RedHat 9 Systemen. Selbst die gleiche DB mit denselben Files auf einem anderen Server geht.
Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Beitrag von Alex »

Hallo!

Ich dachte zuerst der Fehler würde irgendwie nur mit meiner Installation zusammenhängen. Scheint ja jetzt doch ein Bug zu sein.

Okay. Wir nutzen Solaris mit PHP 4.3.4. Der Fehler tritt nicht immer auf - in letzter Zeit eher seltener (wenn überhaupt noch). Am Anfang dachte ich noch es würde mit den Userrechten zusammenhängen (beim Admin hatte ich es zuerst nicht). Dem ist aber nicht so. Mit der neuen Version (4.4.2) hat es mir noch niemand berichtet.

Viele Grüße

Alex
Contenido 4.4.4 & 4.5.3-CVS
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ja, ein Bug ist es, aber definitiv keiner von Contenido (leider, denn den könnte man fixen) :(
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

@timo
vielleicht sollte man das bei bugs.php.net bekannt machen, vielleicht wissen die was...
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

würd ich gerne tun, aber ich kann denen nicht einfach eine komplette Contenido-Installation denen zur Verfügung stellen :)

Ich weiß ja auch nicht genau, unter welchen Umständen das Auftritt, und meine Versuche, das in weniger Zeilen nachzuvollziehen, hat nicht geklappt...
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

ist ein guter Punkt. Ich werd's mal ohne file_get_contents prüfen, aber bei meinen Tests waren noch ein paar andere ungereimtheiten zu entdecken (z.b. wurde bei langen Strings nicht das aus der Datenbank zurückgegeben, was reingeschrieben wurde).
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

So, das Problem ist jetzt soweit behoben - es werden nur noch die aufgeklappten Elemente gespeichert, nicht die ganzen Objekte.
Gesperrt