undefined access to undefined

Ich steh ja so wirklich und ganz und gar auf vielsagende Fehlermeldungen. Echt jetzt. Wer möchte nicht, dass man sofort weiß, was das Problem ist.

undefined access http://www.yellowstoneaussies.de/infos/undefined

Fehlersuche

Tja. Wo fängt man an, wenn man so einen Sondermüll in seinen Serverlogs findet?

Am Besten mal dort, wo es immer so ein bisschen stinkt. Im Javascript-Bereich. Und siehe…

Netzwerkanalyse ist dein Freund

Da fällt uns sofort etwas ins Auge, was uns eine Spur zu scheinen ist:

the undefined
the undefined

Wer zum Geier sucht denn da was unter undefined? Und wieso?

Gucken wir mal, wie die Parameter dieser Anfrage aussehen – ist ja bestimmt wieder ein Ajax-Request…

really undefined
really undefined

Öhö. Ok, Verdacht auf das Übliche zu schieben, war wohl zu Unrecht.

Dann schauen wir uns die Kopfzeilen doch noch mal genauer an…

dgd
dgd

Was ist denn „dgd_scrollbox„?

Scrollen wir doch mal einen halben Kilometer in der Netzwerkanalyse nach oben und schauen uns jedes Javascript an, was das Netzwerk passiert hat (Javascript hat man grundsätzlich immer erst mal im Verdacht bei sowas).

And in the tate – there it is

dgdgdg can't you see
dgdgdg can’t you see

Da ist was mit DGD! Ha.

Suchen wir doch einfach mal nach Ajax… und wir werden fündig in einem noch völlig unklaren Zusammenhang – aber kurz nach Ablaufen des Scripts schlagen haufenweise Antworten aus dem Backend ein, die Bilder für ein Grid-Layout darstellen.

Geistesblitz

Analyse wird hier dann abgebrochen, weil wir einen Verdacht haben. Könnte es vielleicht sein, dass da ein Bild nicht gefunden wird?

Jaaaaa jetzt fragt man sich, woher diese Eingebung gekommen ist. Keine Ahnung. Kam einfach. Kennt ihr doch sicher, irgendwie „ahnt“ man was.

Und – wenn ich die Augen vorher für die Realität geöffnet hätte, wäre mir das wohl schon vorher aufgefallen – was sehen meine mittlerweile genervten und müden Augen:

white planes
white planes

Das weiße Loch da mittendrin gehört doch da nicht hin… oder… habe ich einfach kein Sinn für Ästhetik?

Falls sich jemand über das „oh oh da stimmt was mit SSL nicht“-Symbol in der Adressleiste wundert: So sieht das aus, wenn eine Seite das erste Mal nach dem Cachelöschen angezeigt wird. Ihr solltet die Seiten so niemals sehen.

Hintergrund ist, dass wir die Seiten beim erstmaligen Abruf sofort Netto anzeigen ohne die durch die Parserorgie diverser Funktionen zu jagen. Mein nächtlicher Precacher (Stichwort „Wartungsscript“) kümmert sich darum üblicherweise, wenn ich nicht grad untertägig eine Seite aus dem Cache ballern muss/möchte.

Realitätsabgleich

Looken wir doch mal im Backend nach.

Und was fällt uns da mit der Tür ins Haus?

beitragsbild not found
beitragsbild not found

Und da wir von vorherigen Recherchen wissen, dass ein Postgrid mit Bildanzeige irgendwoher sein Bild beziehen möchte, sind wir uns sicher, dass das das Corpus Delicti ist. Also setzen wir das doch mal.

suffkopp
suffkopp

Dann testen wir noch mal die Seite…

suffkopp in da info
suffkopp in da info

Und im Log… nada 🙂

Naja. Doch mehr als „nada“ – aber „undefined“ ist weg.

Fazit

Manchmal muss man sich echt einen Knoten denken und die Spurensuche aufgeben und sich einfach auf das Gefühl verlassen – dann findet man die Lösung schon.

Deshalb ist es so wichtig, dass wir stundenlang am Rechner hocken und uns die Nächte um die Ohren hauen, ohne, dass man „was sieht“ (wie meine Frau so schön sagt zum Thema nutzloses Herumgammeln).

Da habt ihr noch ein Argument, wieso das, was wir tun, gut & richtig ist.

Gern geschehen 🙂

 

Anonyme Besucher sollen Namen haben

Wie jede andere Webseite auch, werten wir anonymisierte Besucherdaten aus, um beispielsweise festzustellen, welche Inhalte besonders interessant sind oder was wir überarbeiten sollten, weil die Besucher diese Inhalte nicht finden.

Die anonymisierten Benutzer werden über eindeutige IDs erkannt – so lassen sich die angesurften Seiten während eines Besuches erkennen. Das ist eine wichtige Information, um z.B. die Navigation der Seite zu verbessern.

Nummern – ich kann nicht

Die IDs sind selbstverständlich Nummern, weil irgendein Hohlkopf vor einer Millionen Jahren beschlossen hat, dass jede Information dringend aus irgendeinem Zahlenkauderwelsch bestehen müsse.

Menschen mit stärker ausgeprägten musischen Fähigkeiten können mit Zahlenmustern nicht viel anfangen. Die brauchen es „in bunt“. Das wusste schon der gute Kamprad, als er für Ikea beschlossen hat, dass ab sofort die Möbel Namen bekommen.

Logdateien – da fühlen sich Zahlen so richtig wohl

In den Logdateien unseres Servers tauchen diese IDs natürlich ständig überall auf.

Eines Abends saß ich davor und dachte „Herrgott noch eins, wie soll ich den Scheiß denn verstehen, wenn hier nur Zahlen herumflirren“… und gleich darauf

Wieso haben die eigentlich keine Namen?

Also mal ein bisschen gezaubert, zwei Namenslisten aus dem offiziellen Melderegister der USA gezogen (einmal fraulich, einmal männlich – Mann ist heute ja Feminist) und ein wenig die Logroutinen vermurkst.

Jetzt haben unsere Besucher Namen

names in log
names in log

Und ja – das Script hatte zu diesem Zeitpunkt als das Bild entstand noch einen Fehler und hat den letzten Buchstaben beim Datenimport abgeschnitten 🙂