Absturz bei Zugriff auf lokales MediaWiki

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Absturz bei Zugriff auf lokales MediaWiki

Postby Frank Horn » 15. March 2006 22:04

Hallo,

mein Problem erinnert an http://community.apachefriends.org/f/viewtopic.php?t=16636, aber ich bin mir nicht sicher, ob es dasselbe ist.

Habe XAMPP 1.5.1 auf Win XP SP2, nur für lokal, und Apache läuft an und für sich ohne Probleme. Dann habe ich MediaWiki 1.5.5, was sich ohne weiteres einrichten ließ und erstmal funktionierte. Nachdem ich ein paar Seiten im Wiki angelegt hatte, ging es immer eine Zeit lang, und irgendwann trat folgendes Phänomen auf:

1. Beim Zugriff auf eine Wiki-Seite meldete Mozilla "This document contains no data" (bzw. IE "Seite konnte nicht geladen werden");
2. Danach wurde localhost nicht mehr gefunden (Mozilla zeigte in der Statuszeile "resolving www.localhost.com" an;
3. Beim nächsten Versuch, mit Internet-Verbindung auf irgendetwas nichtlokales zuzugreifen, gab es einen unvermittelten Windows-Neustart.

Nachdem ich den Outpost-Firewall entfernt (und den eingebauten Windows-Firewall aktiviert) hatte, war erstmal alles gut. Jetzt habe ich wieder ein paar Seiten im Wiki angelegt, und das Problem ist wieder da.

Die lokalen Adressen, bei denen es passiert, sind sowas wie

localhost/wiki/index.php/OtthornWiki:Portal

Liegt es also am PHP? Aber warum stürzt dann Windows ab? Wenn ich das dabei geschriebene Crash Dump File mit WinDbg öffne, steht darin:

Unable to load image \WINDOWS\system32\ntkrnlpa.exe, Win32 error 2
*** WARNING: Unable to verify timestamp for ntkrnlpa.exe
*** ERROR: Module load completed but symbols could not be loaded for ntkrnlpa.exe
Windows XP Kernel Version 2600 (Service Pack 2) MP (2 procs) Free x86 compatible
Product: WinNt
Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055c700
Debug session time: Mon Mar 13 22:18:10.765 2006 (GMT+1)
System Uptime: 0 days 0:38:35.485



Ich kann das Problem auch nicht sicher reproduzieren; manchmal passiert's und machmal nicht, so als ob es z.B. an irgendeinem Timeout läge. Dafür spricht auch, daß das Problem eher bei großen als bei kleinen Seiten aufzutreten scheint.

Apache schreibt, wenn es passiert, 2 gleichlautende Einträge in error.log, wie z.B.

[Mon Mar 13 22:57:19 2006] [error] [client 127.0.0.1] (20024)The given path misformatted or contained invalid characters: Cannot map GET /wiki/index.php/OtthornWiki:Portal HTTP/1.1 to file
[Mon Mar 13 22:57:43 2006] [error] [client 127.0.0.1] (20024)The given path misformatted or contained invalid characters: Cannot map GET /wiki/index.php/OtthornWiki:Portal HTTP/1.1 to file


In access.log steht dann:

127.0.0.1 - - [13/Mar/2006:22:57:19 +0100] "GET /wiki/index.php/OtthornWiki:Portal HTTP/1.1" 200 8042
127.0.0.1 - - [13/Mar/2006:22:57:21 +0100] "GET /favicon.ico HTTP/1.1" 200 21630
127.0.0.1 - - [13/Mar/2006:22:57:21 +0100] "GET /wiki/skins/monobook/main.css HTTP/1.1" 200 21092
127.0.0.1 - - [13/Mar/2006:22:57:21 +0100] "GET /wiki/skins/common/commonPrint.css HTTP/1.1" 200 5095
127.0.0.1 - - [13/Mar/2006:22:57:21 +0100] "GET /wiki/index.php?title=-&action=raw&smaxage=0&gen=js HTTP/1.1" 200 3457
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/skins/common/wikibits.js HTTP/1.1" 200 17349
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/index.php?title=-&action=raw&gen=css&maxage=18000 HTTP/1.1" 200 75
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/index.php?title=MediaWiki:Monobook.css&action=raw&ctype=text/css&smaxage=18000 HTTP/1.1" 200 117
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/skins/common/images/poweredby_mediawiki_88x31.png HTTP/1.1" 200 1933
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/skins/monobook/external.png HTTP/1.1" 200 165
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/skins/monobook/user.gif HTTP/1.1" 200 932
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/skins/monobook/headbg.jpg HTTP/1.1" 200 7881
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/skins/monobook/bullet.gif HTTP/1.1" 200 50
127.0.0.1 - - [13/Mar/2006:22:57:22 +0100] "GET /wiki/skins/common/images/OtthornLogo.png HTTP/1.1" 200 52988
127.0.0.1 - - [13/Mar/2006:22:57:43 +0100] "GET /wiki/index.php/OtthornWiki:Portal HTTP/1.1" 200 7061
127.0.0.1 - - [13/Mar/2006:22:57:43 +0100] "GET /wiki/skins/common/commonPrint.css HTTP/1.1" 200 5095
127.0.0.1 - - [13/Mar/2006:22:57:43 +0100] "GET /wiki/skins/common/IEFixes.js HTTP/1.1" 200 4017
127.0.0.1 - - [13/Mar/2006:22:57:43 +0100] "GET /wiki/skins/monobook/main.css HTTP/1.1" 200 21092
127.0.0.1 - - [13/Mar/2006:22:57:43 +0100] "GET /wiki/skins/monobook/IE60Fixes.css HTTP/1.1" 200 1352
127.0.0.1 - - [13/Mar/2006:22:57:44 +0100] "GET /wiki/index.php?title=-&action=raw&gen=js HTTP/1.1" 200 3457
127.0.0.1 - - [13/Mar/2006:22:57:44 +0100] "GET /wiki/skins/common/wikibits.js HTTP/1.1" 200 17349
127.0.0.1 - - [13/Mar/2006:22:57:44 +0100] "GET /wiki/index.php?title=MediaWiki:Monobook.css&action=raw&ctype=text/css&smaxage=18000 HTTP/1.1" 200 117
127.0.0.1 - - [13/Mar/2006:22:57:44 +0100] "GET /wiki/skins/monobook/headbg.jpg HTTP/1.1" 200 7881
127.0.0.1 - - [13/Mar/2006:22:57:44 +0100] "GET /wiki/skins/monobook/user.gif HTTP/1.1" 200 932
127.0.0.1 - - [13/Mar/2006:22:57:44 +0100] "GET /wiki/skins/monobook/bullet.gif HTTP/1.1" 200 50
127.0.0.1 - - [13/Mar/2006:22:57:44 +0100] "GET /wiki/index.php?title=-&action=raw&gen=css&maxage=18000 HTTP/1.1" 200 75


Soweit ich das verstehe, lädt also /wiki/index.php den ganzen graphischen Kram für die angeforderte Seite, kann dann aber aus irgendeinem Grund die Seite selbst nicht anzeigen.

Vielleicht kann ja jemand von den Experten was damit anfangen. Wäre schade, wenn ich meinen Wiki-Versuch gleich wieder aufgeben müßte...
Frank Horn
 
Posts: 5
Joined: 27. February 2006 21:47
Location: Frankfurt am Main

Postby Wiedmann » 15. March 2006 22:40

Die lokalen Adressen, bei denen es passiert, sind sowas wie

localhost/wiki/index.php/OtthornWiki:Portal

Sollte an dieser Stelle nicht ein "?" sein?
--> localhost/wiki/index.php?OtthornWiki:Portal

Über MultiViews oder mod_rewrite im Apache und wäre es zwar auch möglich das über den "/" zu machen, nur stösst sich das System dann am ":" im Pfadname.
--> Ein ":" ist ein nicht erlaubtes Zeichen im (Windows-) Dateisystem. Und bevor ein Multiview greifen kann, muss Apache/PHP erst einmal schauen ob es die angeforderte Ressource direkt im Dateisystem gibt.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Frank Horn » 16. March 2006 22:06

Die Links sind tatsächlich merkwürdig. In meiner lokalen Installation hat MediaWiki Links wie

/wiki/index.php/Hauptseite
/wiki/index.php/OtthornWiki:Portal
/wiki/index.php/Spezial:Recentchanges

in Wikipedia dagegen steht

/wiki/Hauptseite
/wiki/Wikipedia:Portal
/wiki/Spezial:Recentchanges

Warum steht bei mir immer index.php dazwischen?

Vielleicht ist etwas bei meiner WikiMedia-Installation nicht richtig konfiguriert; ich werde in die Richtung recherchieren.

Aber Wiki hin oder her: wie kann es denn sein, daß PHP mir wegen eines ungültigen Links das ganze Windows mit ins Grab reißt? Da muß doch was Grundsätzliches faul sein!
Frank Horn
 
Posts: 5
Joined: 27. February 2006 21:47
Location: Frankfurt am Main

Postby Sider » 20. March 2006 13:08

Ich habe ein möglicherweise ähnliches Problem unter

http://community.apachefriends.org/f/viewtopic.php?t=16097

Die Einträge in der error.log habe ich auch. Genauso rufe ich mein Wiki auch über index.php/Namensraum:Artikel auf.

Wie man die index.php aus dem Pfad entfernt, steht hier:

http://meta.wikimedia.org/wiki/Eliminat ... om_the_url
Sider
 
Posts: 57
Joined: 13. February 2006 15:12

Postby Frank Horn » 21. March 2006 22:01

Interessant, daß Du die gleichen Einträge in error.log hast. Bei mir gibt es allerdings keine Schutzverletzungs-Meldung von Apache, und der Apache-Prozeß läuft auch weiter. Stattdessen geht irgendetwas im Windows kaputt, das dann zu einem Neustart führt.

Index.php aus dem Pfad zu entfernen, bringt auch nichts. Etwas anderes ist mir aber aufgefallen:

Die Links, die WikiMedia automatisch in der Navigationsleiste erzeugt, haben weder das eine noch andere Format, sondern die volle Adresse, also etwa

http://localhost/wiki/index.php?title=OtthornWiki:Portal


und bei denen gibt es nie einen Fehler. Wenn ich mein ganzes Wiki also mit formal "externen" Links auf localhost aufbauen würde, wäre ich den Ärger los, aber das ist ja nicht der Sinn der Sache.

Jedenfalls schein das Problem in der Auflösung der internen Links durch PHP zu liegen, aber bis ich den PHP-Code von MediaWiki gelesen und verstanden habe, gehen wahrscheinlich Monate rum.

Oder kann man MediaWiki so konfigurieren, daß es aus internen Links wie [[OtthornWiki:Portal] eine vollständige Adresse macht?

Ich muß mich wohl doch eingehender mit MediaWiki beschäftigen; war nix mit schnell mal installieren und loslegen.

Davon abgesehen wurmt es mich aber immer noch, daß Windows dadurch überhaupt abstürzen kann. Irgendwas im Zusammenspiel von PHP und Windows muß doch ganz fürchterlich schief gehen.
Frank Horn
 
Posts: 5
Joined: 27. February 2006 21:47
Location: Frankfurt am Main

Postby Sider » 23. March 2006 09:57

Tja, bei mir fängt ers wohl vor dem Absturz mit der Fehlermeldung ab, bei dir schafft ers nicht mehr.

index.php aus dem Pfad zu entfernen, bringt auch nichts.


Wo bringts nichts - beim Absturz oder bei den Einträgen in der error.log?
Sider
 
Posts: 57
Joined: 13. February 2006 15:12

Postby Frank Horn » 24. March 2006 21:54

index.php aus dem Pfad entfernen bringt insofern nichts, als ich es nicht hinkriege. Ich mache alle Einträge wie beschrieben, erstelle auch eine .htaccess-Datei im Wiki-Verzeichnis mit AcceptPathInfo On, aber wenn ich mit dem kurzen Pfad zugreifen will, sagt mir Apache immer "Access denied". An den Einträgen in error.log ändert sich nichts, an den Abstürzen auch nicht.

Inzwischen hatte ich zur Abwechslung auch mal eine Schutzverletzung, ausgelöst von php5ts.dll. Das war mit deaktiviertem Windows Firewall, aber ich weiß nicht, ob es damit was zu tun hat.

Die Probleme zu reproduzieren bzw. Versuchsreihen mit verschiedenen Einstellungen zu erstellen dauert durch die ewigen Neustarts so lange, daß ich nie weit damit komme.
Frank Horn
 
Posts: 5
Joined: 27. February 2006 21:47
Location: Frankfurt am Main

Postby Wiedmann » 24. March 2006 23:26

So. So richtig helfen kann ich dir nicht. Aber noch ein paar Anmerkungen:

Code: Select all
Mon Mar 13 22:57:19 2006] [error] [client 127.0.0.1] (20024)The given path misformatted or contained invalid characters: Cannot map GET /wiki/index.php/OtthornWiki:Portal HTTP/1.1 to file

Code: Select all
127.0.0.1 - - [13/Mar/2006:22:57:19 +0100] "GET /wiki/index.php/OtthornWiki:Portal HTTP/1.1" 200 8042

Das scheint mir eher ein kosmetischer Bug im Apache zu sein. Die Datei zu der das APR den Fehler meldet, wird ja tatsächlich ausgeliefert.

Jedenfalls kann ich, jetzt getestet, so eine URI ohne Abstürz des Apaches aufrufen. Als "index.php" hatte ich halt nur ein Script mit phpinfo() und kein ganzes Wiki.

1. Beim Zugriff auf eine Wiki-Seite meldete Mozilla "This document contains no data" (bzw. IE "Seite konnte nicht geladen werden");
2. Danach wurde localhost nicht mehr gefunden (Mozilla zeigte in der Statuszeile "resolving www.localhost.com" an;
3. Beim nächsten Versuch, mit Internet-Verbindung auf irgendetwas nichtlokales zuzugreifen, gab es einen unvermittelten Windows-Neustart.

Nachdem ich den Outpost-Firewall entfernt (und den eingebauten Windows-Firewall aktiviert) hatte, war erstmal alles gut.

Hier würde ich mal die Apache-Einstellungen "Win32DisableAcceptEx" und "EnableSendfile Off" testen.

Dann habe ich MediaWiki 1.5.5

Jetzt habe ich wieder ein paar Seiten im Wiki angelegt, und das Problem ist wieder da.

Schonmal an ein Upgrade vom Wiki gedacht:
1.5.6 released on 2006-01-19 wrote:A bug in edit comment formatting could send PHP into an infinite loop if certain malformed links were included.


Inzwischen hatte ich zur Abwechslung auch mal eine Schutzverletzung, ausgelöst von php5ts.dll.

Schonmal PHP4 oder ingesamt ältere PHP-Versionen getestet?

Die Probleme zu reproduzieren bzw. Versuchsreihen mit verschiedenen Einstellungen zu erstellen dauert durch die ewigen Neustarts so lange, daß ich nie weit damit komme.

Wieso dauert der Neustart vom Apache bei dir so lange?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Frank Horn » 26. March 2006 19:17

Der Neustart von Apache dauert nicht lang, aber jedesmal, wenn ich den Fehler erfolgreich provoziert habe, startet sich Windows beim nächsten Zugriff auf ein (gültige!) nicht-lokale Webseite gnadenlos neu und schreibt einen crash dump (den ich aber nicht verstehe).

Die neue WikiMedia-Version werde ich testen, und wenn das nichts hilft, auch eine ältere PHP-Version. Meine Illusion war halt, daß ich mir XAMMPP installiere und problemlos ein Wiki einrichten kann, und jetzt muß ich doch viel Zeit in Experimente mit der Konfiguration investieren. Mal sehn, wann ich dazu komme.

Einstweilen vielen Dank für die Tips. Eine Endlosschleife in PHP würde jedenfalls vieles erklären.
Frank Horn
 
Posts: 5
Joined: 27. February 2006 21:47
Location: Frankfurt am Main

Postby Sider » 18. April 2006 14:55

Habe meinen Fehler offenbar besiegt, siehe unter

http://community.apachefriends.org/f/viewtopic.php?t=16097
Sider
 
Posts: 57
Joined: 13. February 2006 15:12


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 13 guests