Bug oder Feature?

Post Reply
Message
Author
bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Bug oder Feature?

#1 Post by bakunin »

Hi!

Wenn man ein Shellscript verändert (z.B. eine Zeile hinzufügt), wärend es mit der Bash ausgeführt wird (keine Ahnung, wie es bei anderen Shells aussieht), kommt die Bash unter Umständen durcheinander. Wenn dabei "nur" ein Parse Error auftritt und abgebrochen wird, kann ich damit leben, aber es wurde nun bei mir auch mal ein Kommando ausgeführt, das nicht ausgeführt werden sollte. Das war in dem Fall nicht schlimm, aber sowas kann natürlich auch sehr unangenehm enden.

Meines Wissens ist das ein wohldefiniertes Verhalten seitens des Kernels und hat wohl die gleiche Ursache, wegen der auch ein Prozess, der schnell eine Datei einliest, "zu früh" ans Dateiende kommt (d.h. eine unfertige Datei einliest), wenn wärenddessen ein anderer Prozess an diese Datei langsam Daten anhängt.

Nun sagte /dev/null zu mir (Ja, der spricht mit mir; mit euch etwa nicht? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">), dass dies den Userspace-Programmen eben die Freiheit ließe, auf eine solche Situation angemessen zu reagieren und eine Reaktion darauf eben je nach Programm ganz verschieden aussehen könne. Aber wenn offenbar nicht einmal ein Programm wie die Bash darauf _überhaupt_ reagiert, sondern durcheinander kommt, dann frage ich mich eben doch, ob man das von Programmen erwarten kann.

Was meint ihr, an welcher Stelle man dieses Problem angehen sollte? Sollte man das einfach ignorieren? Im Kernel korrigieren? Oder in den Userspace-Applikationen? Und wenn, wie sollte man es tun? Die Datei ganz einlesen (hoher Speicherverbrauch; denkt nur an ./configure-Scripts, die auch bei ganz simplen Programmen schon über 100 kB groß sein können) oder ständig die Timestamp überprüfen und gegebenenfalls abbrechen (das kostet wohl eine Menge Zeit)?

Cheers,
Wolfgang

ratte

Re: Bug oder Feature?

#2 Post by ratte »

wenig praxisnah, und deswegen verstehe ich dein problem irgendwie nicht und was das an dieser stelle zu suchen hat, frage ich mich auch.

da es aber zum thema passt:

wenn man ein laufendes programm updatet, sollte man den laufenden prozess des veralteten proggies vor 'make install' abbrechen, ansonsten kann u.U. das binary-in-use nicht ueberschrieben werden.

ist mir schon bei apache-updates bzw. neukompilierung passiert und ich hab' mich gewundert, warum das neue feature nicht funktionieren will.

ratte

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Bug oder Feature?

#3 Post by bakunin »

Hi!

Ich habe es hier gepostet, weil es in andere Foren noch weniger passt. <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> Es ist ja kein Problem, das durch irgendeinen Trick lösbar wäre, sondern ein systemimmanentes Problem. Mich interessiert, wie andere darüber denken, denn in meinen Augen ist das ein unlogisches und gefährliches Verhalten, also im Prinzip ein Bug.

Tja, würdest du auch alle geöffneten Browser-Fenster schließen, um deine Bookmarks um einen Eintrag zu erweitern? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> Sicherlich nicht. Ich eben auch nicht. Meine Bookmarks sind eben ein Shellscript, aus dem heraus der Browser aufgerufen wird (jeweils derjenige, der für die jeweilige Seiten am besten geeignet ist).

Cheers,
Wolfgang

Post Reply