apache 1 lässt sich nicht mit ap-perl starten

SierraX

Well-Known Member
Ich versuche schon seit Tagen Apache 1.3.34 mit ap-perl-1.29 (mod_perl) zum laufen zu bekommen.

Beim starten kommt die fehlermeldung:

Code:
httpd: Error detected by libpthread: Invalid condition variable.
Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_cond.c", line 283, function "pthread_cond_signal".
See pthread(3) for information.

Es handelt sich um ein NetBSD 3.0 i386 auf VMWarePlayer WinXP 32bit auf einem AMD64 3000+ (hab nix anderes frei)
InstallationsCD hab ich selbst gemäß Anleitung erstellt.
Der Fehler tritt sowohl bei apache und ap-perl installation aus der aktuellen pkgsrc als auch nach installation über pkg_add der Pakete aus 2006Q1 und 2005Q4 (älter pakete für i386 hab ich nicht gefunden) auf.
 
Hallo SierraX!

Die Meldung müßtest du ja eigentlich noch von deiner Ultra60 und dem sparc64 Port kennen!

Das ist halt das alte/neue Problem mit der libpthread, es gibt etliche Programme, die da (egal welcher Port!) crashen, z.B. gftp-2.0.18, lyx, auch OpenOffice-1.1.15, z.T. erst beim Beenden des Programmes!

Ich habe mal in der .profile folgendes eingetragen:

export PTHREAD_DIAGASSERT=A (siehe Manpages!)

das hilft, um die Crashs beim Beenden bestimmter Programme (OpenOffice) nicht im coredump enden zu lassen, beim Mozilla und Sparc64 Port geht's wohl nicht, ich denke das ist auch bei deiner Apache-Version ein Grund!

Ältere Version als Alternative?
Selbstbau?

Gruß Frank
 
franco98 schrieb:
Die Meldung müßtest du ja eigentlich noch von deiner Ultra60 und dem sparc64 Port kennen!

Bei meiner Ultra60 dumpt es einfach nur ohne jeden weiteren Kommentar.

franco98 schrieb:
Das ist halt das alte/neue Problem mit der libpthread, es gibt etliche Programme, die da (egal welcher Port!) crashen, z.B. gftp-2.0.18, lyx, auch OpenOffice-1.1.15, z.T. erst beim Beenden des Programmes!

das libpthread probleme macht wusste ich. Dachte aber das i386 nicht verbuggt ist.

franco98 schrieb:
Ich habe mal in der .profile folgendes eingetragen:

export PTHREAD_DIAGASSERT=A (siehe Manpages!)

Probier ich mal aus danke. Mein Englisch ist nicht gerade das beste. Da muß ich das wohl übersehen haben


franco98 schrieb:
Ältere Version als Alternative?

Ältere Version vielleicht. Wird dann aber ältere Version vom OS sein müssen.

franco98 schrieb:

Hab ich glaub ich schon was in der E-Mail dazu geschrieben. Keine Ärmchen keine Kekschen halt.
 
Ich habe erst jüngst im Web gelesen, dass das Problem mit der libpthread eigentlich kein interner bug von NetBSD sein soll, sondern die jeweiligen Programme würden mit dem internen Code nur nicht mehr klar kommen und müßten theoretisch umgeschrieben werden - alles nicht von mir, weiß nicht was wirklich damit los ist, bin aber selbst auf der Suche!

Gruß Frank!

P.S. Tut mir leid, dass ich dir nicht weiter helfen konnte!
 
SierraX schrieb:
Ich versuche schon seit Tagen Apache 1.3.34 mit ap-perl-1.29 (mod_perl) zum laufen zu bekommen.

Standardmäßig wird Perl mit threads gebaut (make show-options), damit startet Apache aber nicht. Deinstalliere Perl und alle Abhängigkeiten und reinstalliere es nach einem make clean clean-depends mit folgender Option in /etc/mk.conf:

PKG_OPTIONS.perl = -threads

Das sollte dann funktionieren.
 
SierraX schrieb:
Danke Stefan. :)

Versuche dein NAPP PDF umzusetzen.

:)

Das ist aber inzwischen auch schon wieder ein paar Tage alt. Und Mason fehlt immer noch :mad:

Naja, zumindest sollte man sich mal auf der pkgsrc-ML beschweren das Perl standardmäßig mit Threading gebaut wird und nicht mal wenigstens vor den Apache-Problemen gewarnt wird.
 
Grad das erste mal von Mason gehoert.

Klingt nicht schlecht. Kriegt man das so einigermassen brauchbar eingebaut? Oder braucht man da 2-5 Semester Informatikstudium?
 
kaishakunin schrieb:
Naja, zumindest sollte man sich mal auf der pkgsrc-ML beschweren das Perl standardmäßig mit Threading gebaut wird und nicht mal wenigstens vor den Apache-Problemen gewarnt wird.

Vermutlich, weil es nicht auf allen Ports, Portierungen zu Problemen kommt!
Ich habe auf meiner Ultra-60 und Solaris 9 den Apache mit Perl und threads problemlos am Laufen, wie immer über pkgsrc gebaut. Ich baue Perl, Python auch immer mit thread und die Programme, die unter div. NetBSD-Ports crashen, laufen hier problemlos! Normalerweise wird perl nur mit thread gebaut, wenn man die Option an gibt bzw. es native ist (stand in dem entspr. Makefile).

Gruß Frank
 
franco98 schrieb:
Vermutlich, weil es nicht auf allen Ports, Portierungen zu Problemen kommt!
Ich habe auf meiner Ultra-60 und Solaris 9 den Apache mit Perl und threads problemlos am Laufen, wie immer über pkgsrc gebaut. Ich baue Perl, Python auch immer mit thread und die Programme, die unter div. NetBSD-Ports crashen, laufen hier problemlos! Normalerweise wird perl nur mit thread gebaut, wenn man die Option an gibt bzw. es native ist (stand in dem entspr. Makefile).

Pkgsrc kann ja die Optionen problemlos nach MARCH unterscheiden.

Außerdem habe ich in den Jahren, in dem ich Apache mit mod_perl (und Mason) einsetze auf i386, sparc64 und alpha immer wieder massive Probleme gehabt - insbesondere was Threads anging. Von daher ist das Verfahren schon suboptimal.
 
SierraX schrieb:
Grad das erste mal von Mason gehoert.

Klingt nicht schlecht. Kriegt man das so einigermassen brauchbar eingebaut? Oder braucht man da 2-5 Semester Informatikstudium?


Mason ist saugeil :)

Also komplex ist es nicht, es kann aber sehr viel.

Wenn du pures Perl in mod_perl integrierst, hast du ja in der Regel Escape-Orgien, wo du jedes " als \" escapen musst und weitere Einschränkungen.

Mit Mason kannst du sehr leicht Perl und HTML kombinieren, ähnlich wie es in PHP geht, also statt:

print " <td> <input type=\"text\" size=\"25\" maxlength=\"99\" value=\"@stichworte[$i]\" name=\"sw$i\">";

kommt dann sowas:


% foreach my $entry ( @{$entries{$sidebar_topic}}) {
<TR>
<td align="<% $sidebar_align %>" valign="top"
% if ($subtopic ne '' && defined $entries{$subtopic} ){
colspan="2"
% }
% if ($subtopic eq $entry->{name} ) {
bgcolor="<% $sidebar_highlight_bg %>"
% }
>


Mason ist aber wesentlich mächtiger, man kann alles in Komponenten zerlegen und somit Perl und HTML und Inhalte komplett trennen, was ideal für Gruppen aus Programmierern und Snowboardern ist.

Außerdem hat Mason Autohandler, so das man bestimmte Aktionen und Module definieren kann. Statt ner 404-Fehlerseite kann man dann bspw. eine Suche starten. Sowas wie bswp: MySHOP.de/Artikelnummer und dann wird automatisch die Artikelseite aus der Datenbank gesucht und angezeigt.


Ich benutze Module um meine Datenbankaktionen zu kapseln und Formulare zu erstellen. Der Kopf und Fuß der Formulare ist überall der Selbe, lediglich der Body definiert die einzelnen Felder - und zwar werden die in einem Hash angelegt, der gleichzeitig die Datenbankfeldnamen enthält und so in einem Modul automatisch die INSERT-INTO-Anfrage zusammenbaut, egal wie das Formular eigentlich aussieht. Nachdem ich das erstmal ausgebrütet habe, lassen sich Formulare und Datenbankaktionen wunderbar verheiraten - ohne das man für jedes Formular eine neue FORM ACTION bräuchte.

Das ganze kann aber noch wesentlich mehr, für ein Wörterbuchprojekt habe ich Module entworfen, die den Datenbankinhalt einmal in der SGML-Variante des Verlages ausgeben und gleichzeitig LaTeX-Quellen erzeugen, damit wir was zum korrekturlesen haben.

Alles in allem ist Mason echt geil. Wenn man Perl mag, sollte man einen Blick drauf werfen, und sei es nur um die ekligen Kapselunge einzusparen :-)

Oder man baut halt komplett die Seite Modulbasiert auf - so wie Amazon, die Mason verwenden.
 
Ups. Hast mich falsch verstanden. Soweit hatte ich das schon kapiert (auch wenn ich bei Perl und Programmierung gaaaaaaaaaanz am Anfang stehe)
Ich meinte eigentlich, ob es sehr schwer zu Installieren ist. Sah mir recht kompliziert zum runterladen aus, als ob man jedes modul braucht und einzeln einbinden muesste. Wie dringend fehlt eine pkgsrc installation?
 
SierraX schrieb:
Ups. Hast mich falsch verstanden. Soweit hatte ich das schon kapiert (auch wenn ich bei Perl und Programmierung gaaaaaaaaaanz am Anfang stehe)
Ich meinte eigentlich, ob es sehr schwer zu Installieren ist. Sah mir recht kompliziert zum runterladen aus, als ob man jedes modul braucht und einzeln einbinden muesste. Wie dringend fehlt eine pkgsrc installation?


Also ohne pkgsrc würde ich das nicht installieren wollen.

Mit pkgsr geht's recht flüssig. Inzwischen sind auch einige Problemchen gefixt worden.

Die Perl-Module muss man halt bei Bedarf installieren, wenn du kein PostgreSQL verwendest, brauchst du auch kein DBDI/DBD-Module.
 
Zurück
Oben