2016-04-29 8 views
0

Vor ein paar Tagen hat mein Dev-Server die Verwaltung von Sitzungsvariablen nach cflocation/cfheader-Tags gestoppt. Dies war ein zeitweiliges Problem für etwa einen Monat, wurde aber vor ein paar Tagen konstant. Ich suche nach einem Grund, warum das nur auf meinem Dev-Server passiert ist. Ich bin das einzige Mitglied in meinem Team, das Probleme mit der Sitzung hat. Ich habe das Problem weder in einer der beiden Testumgebungen noch auf dem Produktionsserver und es funktioniert (scheitert) auf drei verschiedenen Browsern. Das System ist passwortgeschützt und verwendet Sitzungsvariablen, um eingeloggt zu bleiben. Ich kann nichts tun, bis ich das Problem behoben habe.ColdFusion-Sitzungsverlust bei cflocation/cfheader, nur meine Sandbox

bearbeiten: Laufen CF10 auf Apache 2.2.24 Win64 mit apr-1.4.6P apr-util-1.4.1 apr-iconv-1.2.1 OpenSSL-1.0.1e + nasm zlib-1.2.7 + asm Both Websites, an denen ich arbeite, sind https. Hier

ist, was ich weiß:

ich auf zwei kennwortgeschützte Anwendungen arbeiten: man verwendet Session-Variablen und der andere verwendet Client-Variablen. Es sind nur die Sitzungsvariablen, die verloren gehen. Die Anwendung mit Client-Variablen funktioniert einwandfrei. Beide Systeme verwenden Client-Cookies.

Ich habe meinen gesamten Code durch den neuesten Versionskontrollcode ersetzt, sodass er in meinem Code nicht einzigartig ist. Ich habe meine Servereinstellungen mit einem anderen Teammitglied verglichen und es gibt einige Unterschiede, aber keine meiner Einstellungen hat sich in letzter Zeit geändert. Der einzige Unterschied, der relevant sein könnte, ist, dass sie ihre Sandbox in c:/apache2/htdocs/hat und ich meine in c:/inetpub/wwwroot/habe, aber das ist auch nicht neu. Wir haben die gleiche Version von Windows und wahrscheinlich den gleichen Computer (Corporate ausgestellt). Der einzige Unterschied, den ich gefunden, dass, wenn ich meinen Server neu starte ich den folgenden Eintrag in dem Coldfusion-Fehlerprotokoll erhalten:

java.lang.NullPointerException bei coldfusion.server.jrun4.metrics.SimpleLoadMetric.run (SimpleLoadMetric.java : 157) bei coldfusion.scheduling.ThreadPool.run (ThreadPool.java:260) bei coldfusion.scheduling.WorkerThread.run (WorkerThread.java:71)

Mein Mitarbeiter diese überall hat nicht in ihr Logbuch. Ich habe versucht, alle Debug-Ausgabe zu deaktivieren, aber das hat nichts geändert und mein Kollege hat auch das Debuggen eingeschaltet, so dass das nicht der Grund sein kann. Ich habe beim Debuggen dieses Problems meine Protokolldateien blöd gelöscht, so dass ich nicht weiß, wann ich diesen Fehler bekommen habe.

Ich habe Stunden damit verbracht, den Code zu betrachten, aber die Ursache des Problems kann nicht da sein, weil ich den gleichen Code wie von Kollegen benutze und der auf Produktion läuft. Irgendwelche Ideen über das, was mit meiner Entwicklerumgebung anders sein könnte, die dieses Problem verursachen könnten, werden sehr geschätzt.

+0

Der Unterschied ist, dass einer von Ihnen IIS und die anderen Apache - verschiedene Konnektoren verwendet, um damit zu beginnen. Welche Version von CF? –

+0

CF 10. Ich habe auch Apache, die gleiche Version wie der Kollege, ich habe nur die Dateispeicherorte in inetpub gespeichert, als wir alle auf IIS waren. –

Antwort

1

Ich habe dieses Problem endlich gelöst. Das Problem war mit J2EE Sitzungsvariablen (die ich oben vergessen habe zu erwähnen). Wir verwenden sie in der Test- und Produktionsumgebung ohne Probleme (sobald wir sie in Betrieb genommen haben, was nicht einfach war). Ich habe sie auch auf dem Dev benutzt und die Einstellung für Monate nicht geändert. Ich hatte bereits versucht, sie auszuschalten, aber das hat das Problem nicht gestoppt. Ich hatte auch versucht, den CF-Server und den Apache-Server neu zu starten, ohne das Problem zu beheben. Was ich nicht versucht hatte, war, beide Server gleichzeitig neu zu starten. Das war der Schlüssel.

Was auf Dev geschah, war, dass zwischen dem und dem JSESSIONID urlencoded wurde. „JSESSIONID = 8A9C0E12E731BFC11E1D98FD2ADC1E23.cfusion“ wurden „JSESSIONID = 8A9C0E12E731BFC11E1D98FD2ADC1E23% 2Ecfusion“

Dies wurde auf dev passiert, wenn wir zum ersten Mal vor ein paar Monaten auf J2EE geschaltet, aber ich hatte das Problem gelöst.Ich kann mich nicht daran erinnern, was ich geändert habe, um es zu dieser Zeit funktionieren zu lassen, und ich weiß nicht, was geändert wurde, damit es aufhört zu arbeiten. Ich mag es nicht, sie auszuschalten, weil es einen anderen Unterschied zwischen Entwicklung und Test/Produktion macht, aber ich werde sie für jetzt verlassen, weil ich wieder arbeiten muss.

+0

Wow ... das ist komisch. schöner Fang. –