STATUS=HTTP/1.1 500 Internal Server Error

Probleme bei der Installation?
Antworten
THinhK
User
Beiträge: 11
Registriert: Donnerstag 6. Oktober 2005, 22:08
Wohnort: Norddeutschland

Guten Tag!

Da ich noch recht neu in diesem Forum bin, stelle ich meine Frage in der Hoffnung, das mir bald Hilfe zuteil wird. Danke aber schon jetzt dafür.

Folgendes Problem trat auf:
Möchte unter python 2.4 ein MoinMoinWiki installieren. Der Aufruf

127.0.0.1 - - [10/Oct/2005:21:06:47 +0200] "GET /Main?action=test HTTP/1.0" 500 1069 "-" "Lynx/2.8.5rel.2 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.7e"

brachte den Fehler :( :
--------------------------------------------------
STATUS=HTTP/1.1 500 Internal Server Error
--------------------------------------------------
[Mon Oct 10 21:17:02 2005] [warn] FastCGI: (dynamic) server "/usr/local/share/moin/main/cgi-bin/moin.cgi" restarted (pid 24431)
Traceback (most recent call last):
File "/usr/local/share/moin/main/cgi-bin/moin.cgi", line 13, in ?
from MoinMoin.request import RequestCGI
File "/usr/local/lib/python2.4/site-packages/MoinMoin/request.py", line 10, in ?
import os, time, sys, cgi
File "/usr/local/lib/python2.4/cgi.py", line 40, in ?
import mimetools
File "/usr/local/lib/python2.4/mimetools.py", line 6, in ?
import tempfile
File "/usr/local/lib/python2.4/tempfile.py", line 33, in ?
from random import Random as _Random
File "/usr/local/lib/python2.4/random.py", line 68, in ?
import _random

ImportError: /usr/local/lib/python2.4/lib-dynload/_random.so: undefined symbol: _PyArg_NoKeywords
[Mon Oct 10 21:17:02 2005] [warn] FastCGI: (dynamic) server "/usr/local/share/moin/main/cgi-bin/moin.cgi" (pid 24431) terminated by calling exit with status '1'
[Mon Oct 10 21:17:02 2005] [warn] FastCGI: (dynamic) server "/usr/local/share/moin/main/cgi-bin/moin.cgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds
--------------------------------------------------

Folgende Aufrufkette:
File "/usr/local/lib/python2.4/tempfile.py", line 33, in ?
from random import Random as _Random

Code: Alles auswählen

# Imports.

import os as _os
import errno as _errno
from random import Random as _Random
File "/usr/local/lib/python2.4/random.py", line 68, in ?
import _random

Code: Alles auswählen

# Translated by Guido van Rossum from C source provided by
# Adrian Baddeley.  Adapted by Raymond Hettinger for use with
# the Mersenne Twister  and os.urandom() core generators.

import _random

class Random(_random.Random):
    """Random number generator base class used by bound module functions.
:?
Zuletzt geändert von THinhK am Dienstag 11. Oktober 2005, 16:10, insgesamt 3-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Erstens mal: es ist nicht nötig, dass du den Text groß, fett und rot machst. Wir können es auch so lesen und zumindest SeaMonkey, Firefox und Opera haben die Möglichkeit bei Problemen die Schriftgröße zu ändern, bei Firefox mit [Strg]+[+], bei Opera direkt mit [+]. Du siehst also, es ist völlig unnötig.

Nun zu deinem Problem:
Deine Python 2.4 Installation scheint ein kaputtes _random-Modul zu haben, kann es sein, dass du Python selbstkompiliert hast? Welches Betriebssystem (ich vermute mal Linux) und welche Distribution (wenn es denn Linux ist) nutzt du? Was passiert, wenn du in der Python-Shell einfach mal import _random eintippst? Der gleiche Fehler?
Zuletzt geändert von Leonidas am Montag 10. Oktober 2005, 21:02, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Gast

Hi, ...

Hier noch ein paar Zeilen, die mich verblüfft haben. :shock: Es trat dabei kein Fehler auf!

linux:/usr/local # /etc/init.d/apache2 restart
Syntax OK

Shutting down httpd2 (waiting for all children to terminate) done
Starting httpd2 (worker) done

linux:/usr/local # lynx --dump http://localhost/Main?action=test -error_file=/dev/stderr
URL=http://localhost/Main?action=test (GET)
STATUS=HTTP/1.1 500 Internal Server Error

Server error!

The server encountered an internal error and was unable to complete your
request. Either the server is overloaded or there was an error in a CGI
script.

If you think this is a server error, please contact the [1]webmaster.

Error 500

[2]localhost
Mo 10 Okt 2005 21:06:47 CEST
Apache/2.0.53 (Linux/SUSE)

Verweise

1. mailto:%5bno%20address%20given%5d
2. http://localhost/

linux:/usr/local # python
Python 2.4.2 (#1, Oct 3 2005, 21:29:55)
[GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Code: Alles auswählen

>>> import os as _os
>>> import errno as _errno
>>> from random import Random as _Random
>>> import os as _os
>>> from random import Random as _Random
>>> import _random
linux:/usr/local # python /usr/local/lib/python2.4/tempfile.py
linux:/usr/local # python /usr/local/lib/python2.4/random.py
2000 times random
0.007 sec, avg 0.510933, stddev 0.289289, min 2.10692e-05, max 0.999607
2000 times normalvariate
0.023 sec, avg 0.00244817, stddev 1.0343, min -3.50067, max 3.08758
2000 times lognormvariate
0.028 sec, avg 1.60412, stddev 2.05443, min 0.0336136, max 27.7054
2000 times vonmisesvariate
0.047 sec, avg 0.00782251, stddev 1.26356, min -3.13462, max 3.12365
2000 times gammavariate
0.027 sec, avg 0.0108157, stddev 0.114028, min 0, max 3.15628
2000 times gammavariate
0.027 sec, avg 0.101145, stddev 0.28694, min 9.14361e-32, max 2.95858
2000 times gammavariate
0.027 sec, avg 0.209305, stddev 0.663431, min 9.64972e-39, max 8.98086
2000 times gammavariate
0.03 sec, avg 0.482448, stddev 0.683981, min 3.12717e-07, max 5.09919
2000 times gammavariate
0.037 sec, avg 0.881066, stddev 0.959684, min 1.50138e-05, max 13.2925
2000 times gammavariate
0.021 sec, avg 0.976715, stddev 0.972698, min 0.000129744, max 8.79646
2000 times gammavariate
0.038 sec, avg 1.96149, stddev 1.35571, min 0.0321213, max 9.45193
2000 times gammavariate
0.036 sec, avg 19.9772, stddev 4.41343, min 8.41905, max 35.5798
2000 times gammavariate
0.037 sec, avg 200.067, stddev 14.3518, min 152.296, max 242.912
2000 times gauss
0.025 sec, avg -0.0320662, stddev 1.01695, min -4.10584, max 3.98118
2000 times betavariate
0.069 sec, avg 0.49893, stddev 0.18939, min 0.038433, max 0.963097
linux:/usr/local #
Gast

Hi,...

1. Danke für die schnelle Antwort!
2. Was mache ich, wennich die Betreffzeile verbessern will?
3. Nun die Anwort auf die Fragen vom MOD
Nun zu deinem Problem:
Deine Python 2.4 Installation scheint ein kaputtes _random-Modul zu haben, kann es sein, dass du Python selbstkompiliert hast? Welches Betriebssystem (ich vermute mal Linux) und welche Distribution (wenn es denn Linux ist) nutzt du? Was passiert, wenn du in der Python-Shell einfach mal import _random eintippst? Der gleiche Fehler?
Ja! Ich habe python selbst installiert:

Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.5/specs
Configured with:
./configure \
--enable-threads=posix \
--prefix=/usr \
--with-local-prefix=/usr/local \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--enable-languages=c,c++,f77,objc,java,ada \
--disable-checking \
--libdir=/usr/lib --enable-libgcj \
--with-slibdir=/lib \
--with-system-zlib \
--enable-shared \
--enable-__cxa_atexit i586-suse-linux

make
make install
make clean

1. ==> Python 2.4.2 (#1, Oct 3 2005, 21:29:55)
[GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2

2. ==> Version: SUSE LINUX 9.3

3. ==> Python-Shell import _random eingetippt bringt keinen Fehler!
THinhK
User
Beiträge: 11
Registriert: Donnerstag 6. Oktober 2005, 22:08
Wohnort: Norddeutschland

Guten Tag!

Wieso war ich denn jetzt zweimal als Gst im Forum, obwohl ich mich eingloggt hatte? -- Nun gut, auch das lerne ich noch!

Dafür bitte ich um Verständnis! Danke.
Profil | Du hast keine neuen Nachrichten
Logout [ THinhK ]
Gast

Hi, ...

Kann mir da jemand auf die Sprünge helfen? Danke.
Habe den Code separiert und zuerst ausgeführt!

Code: Alles auswählen

!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - CGI Driver Script

    @copyright: 2000-2004 by Jrgen Hermann <jh@web.de>
    @license: GNU GPL, see COPYING for details.
"""

import os as _os
import errno as _errno
from   random import Random as _Random
import _random
[Mon Oct 10 22:46:01 2005] [warn] FastCGI: (dynamic) server

"/usr/local/share/moin/main/cgi-bin/moin.cgi" started (pid 1091)
Traceback (most recent call last):
File "/usr/local/share/moin/main/cgi-bin/moin.cgi", line 15, in ?
from random import Random as _Random
File "/usr/local/lib/python2.4/random.py", line 68, in ?
import _random
ImportError: /usr/local/lib/python2.4/lib-dynload/_random.so: undefined symbol: _PyArg_NoKeywords
[Mon Oct 10 22:46:01 2005] [warn] FastCGI: (dynamic) server "/usr/local/share/moin/main/cgi-bin/moin.cgi" (pid 1091) terminated by calling exit with status '1'

:shock:
THinhK
User
Beiträge: 11
Registriert: Donnerstag 6. Oktober 2005, 22:08
Wohnort: Norddeutschland

Hi, ...

Noch etwas zum Thema Übersetzen der tar-source (python-2.4)!

Die Quelle sieht original aus (LINUX SuSE 9.3) und scheint nicht verändert worden zu sein!
tuxadmin@linux:/usr/lib/python2.4/lib-dynload> ls -al _r*.*
-rw-r--r-- 1 root root 9564 2005-03-22 22:51 _random.so
Wie prüfe ich das? ==> Bitte ein kleines python-Programm zum md5-signatur-erstellen senden. Danke!

Wie ist das Verfahren zur Korrektur,bzw. wo beziehe ich einen Patch her?

Einen schönen Tag, allen die so fleißig sind!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Anonymous hat geschrieben:2. Was mache ich, wennich die Betreffzeile verbessern will?
Den ersten Beitrag editieren und dort den Titel ändern. Wenn du mir einen Titel sagst, kann ich das auch für dich machen :o
THinhK hat geschrieben:Wie prüfe ich das? ==> Bitte ein kleines python-Programm zum md5-signatur-erstellen senden. Danke!
Wenn du die Forumsuche nach dem Stichwort "md5sum" befragt hättest, wärest du auf nicht einen, nicht zwei sondern gleich drei Threads. Außerdem ist das Programm md5sum genau für diesen Zweck gedacht und ist bei vielen Linux-Distributionen dabei.
THinhK hat geschrieben:Wie ist das Verfahren zur Korrektur,bzw. wo beziehe ich einen Patch her?
Es gibt kein Verfahren zur korrektur, du brauchst halt die richtige Datei und Ende. Warscheinlich müsste Python neu kompiliert werden. Aber warum nimmst du nicht einfach das RPM?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
THinhK
User
Beiträge: 11
Registriert: Donnerstag 6. Oktober 2005, 22:08
Wohnort: Norddeutschland

Hi, ...

Den Betreff habe ich aus 'Ser' geändert.

Habe auch schon ein MD5-Programm in python geschrieben unter WindowXP.
Aber in der Firma gelassen.
Nach den Beispielen die im Forum stehen sollte also auch dieser Konstrukt gehen:

Code: Alles auswählen

import md5
open('testdat.md5', 'w').write('testdat: '+md5.new().update(open('testdat').read()).hexdigest())
Nun zum weiteren:
Werde zuerst python neu kopilieren und die Checksummen (alt zu neu) vergleichen.

Welches sind die notwendigen Angaben bei ./configure ?

Wenn das nicht Früchte trägt, das rpm-File downloaden, installieren und die Checksummen (alt zu neu) vergleichen.

Nochmals Danke! 8)

Edit (Leonidas): Code in Python-Tags gesetzt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

THinhK hat geschrieben:Habe auch schon ein MD5-Programm in python geschrieben unter WindowXP.
Aber in der Firma gelassen.
Nach den Beispielen die im Forum stehen sollte also auch dieser Konstrukt gehen:

Code: Alles auswählen

import md5
open('testdat.md5', 'w').write('testdat: '+md5.new().update(open('testdat').read()).hexdigest())
Ich hätte es so gemacht:

Code: Alles auswählen

import md5
sourcefile = file('testdat', 'r')
targetfile = file('testdat.md5', 'w')
targetfile.write('testdat: '+md5.new(sourcefile.read()).hexdigest())
sourcefile.close()
targetfile.close()
Vorteil: kein unnötiges update() aber ein sauberes close() Und lesbar ist es auch ;)
THinhK hat geschrieben:Welches sind die notwendigen Angaben bei ./configure ?
Normalerweise - keine. Aber es ist schon praktisch vorher ein paar nötige Paktete installiert zu haben. Ich benutze dazu immer dpkg-buildpackage, das sagt mir, was ich noch installieren muss um ein komplettes Python 2.4.2 zu bekommen. Für Python 2.4.2 unter Debian wären dass dementsprechend (ich habe ein paar unnötige wie libbluetooth gelöscht):
autoconf, libreadline5-dev, libncurses5-dev (>= 5.3), tk8.4-dev, libdb4.3-dev, zlib1g-dev, libgmp3-dev, libgdbm-dev, blt-dev (>= 2.4z), libssl-dev, sharutils, libbz2-dev, lsb-release, locales, libhtml-tree-perl, tetex-bin, tetex-extra, texinfo, emacs21, tar, gzip, bzip2, sharutils.
Also wenn du die hast, solltest du ein recht komplettes python rausbekommen, auch wenn du keine Komandozeilenargumente angibst.

Bevor make install solltest du ein make test machen, dass führt alle python Tests zweimal aus und kann somit bestimmen, was korrekt kompiliert wurde, was nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

THinhK hat geschrieben: Welches sind die notwendigen Angaben bei ./configure ?
Wie Leonidas schon schrieb: keine. Ich habe meine Programme die ich als RPM habe, lieber unter `/usr/` statt `/usr/local/`, dann braucht man noch ein ``--prefix=/usr``. Dazu werden dann die anderen Pfade die man bei `configure` setzten kann alle relativ gesetzt. Du hattest bei Deinem Beispiel also ein paar überflüssige Angaben (--libdir, --mandir usw.).

Wichtig ist, dass Du alle nötigen Abhängigkeiten zuvor installiert hast, also vor allem die entsprechenden `devel` Pakete. Sonst kann es passieren das einiges nicht übersetzt wird, dann aber noch die Bibliotheken von der alten Version da sind, wenn Du in das gleiche Verzeichnis wie die vorhandene Python Version installierst. Wobei ich mir jetzt nicht vorstellen kann wovon das Random-Modul abhängig ist, ausser der C Bibliothek.
Antworten