Bug 18000 - Update von 2.2 auf 2.3 führt zu runsv - fatal error
Update von 2.2 auf 2.3 führt zu runsv - fatal error
Status: CLOSED FIXED
Product: UCS manual
Classification: Unclassified
Component: Release Notes
unspecified
Other Linux
: P5 normal (vote)
: UCS 3.0-2
Assigned To: Moritz Muehlenhoff
Philipp Hahn
:
: 21833 26077 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-03-30 09:16 CEST by Roman Asendorf
Modified: 2015-04-01 13:48 CEST (History)
8 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roman Asendorf univentionstaff 2010-03-30 09:16:05 CEST
ps aux liefert folgenden Eintrag:

root      2387  0.0  0.0    124    32 ?        S    Mar12   0:01 runsvdir -P /et                                              c/service log: ion: fatal: unable to start ./run: file does not exist?runsv univ                                              ention: fatal: unable to start ./run: file does not exist?runsv univention: fata                                              l: unable to start ./run: file does not exist?runsv univention: fatal: unable to                                               start ./run: file does not exist?runsv univention: fatal: unable to start ./run                                              : file does not exist?runsv univention: fatal: unable to start ./run: file does                                               not exist?

Im Vergleich zu UCS 2.3 ist der Link /etc/service -> /etc/runit/univention nach einem Update von 2.2 weiterhin ein reales Verzeichnis.

Workaround:
Das vom Link referenzierte Verzeichnis /etc/runit/univention existiert und das Verzeichnis ist durch den Link zu ersetzen.
Comment 1 Roman Asendorf univentionstaff 2010-03-30 09:30:46 CEST
Ist in dem Verzeichnis /etc/runit/univention das Verzeichnis supervise vorhanden, sollte dieses vor dem Restart von univention-runit entfernt werden.
Comment 2 Stefan Gohmann univentionstaff 2010-04-06 09:57:53 CEST
Das Problem ist auch nach einem Reboot noch vorhanden? 

Ich habe das in noch keiner aktualisierten UCS 2.3-Umgebung gesehen.
Comment 3 Moritz Muehlenhoff univentionstaff 2010-04-06 10:05:18 CEST
(In reply to comment #2)
> Das Problem ist auch nach einem Reboot noch vorhanden? 
> 
> Ich habe das in noch keiner aktualisierten UCS 2.3-Umgebung gesehen.

Bei Kunde 06190 ist das auch aufgetreten: Roman hatte mich auf das Problem hingewiesen, nachdem er es dort festgestellt hatte.
Comment 4 Michael Basse univentionstaff 2010-10-05 14:48:25 CEST
Ebenfalls bei einer anderen Kundenumgebung beim Update aufgetreten, siehe Ticket 2010100510002209
Comment 5 Stefan Gohmann univentionstaff 2010-10-05 15:36:45 CEST
Ist das Problem nach dem Reboot (nach dem Update auf UCS 2.3) noch vorhanden? 

Welche runsv-Dienste sind auf dem System vorhanden?

Wie äußert sich das Problem, ausser der Anzeige in der ps-Ausgabe?
Comment 6 Roman Asendorf univentionstaff 2010-10-07 15:20:11 CEST
In einer weiteren Kundenumgebung aufgetreten, Sie Ticket: 2010100610001324
Comment 7 Roman Asendorf univentionstaff 2010-10-07 15:24:05 CEST
(In reply to comment #6)
> In einer weiteren Kundenumgebung aufgetreten, Sie Ticket: 2010100610001324

Ergänzung: Ja, (In reply to comment #5)
> Ist das Problem nach dem Reboot (nach dem Update auf UCS 2.3) noch vorhanden? 
> 
> Welche runsv-Dienste sind auf dem System vorhanden?
> 
> Wie äußert sich das Problem, ausser der Anzeige in der ps-Ausgabe?

Ja, das Problem besteht auch nach dem Reboot.

Als Fehler tritt, wie in der ps-Ausgabe zu sehen ist, der Versuch auch, im Verzeichnis 'univention' das run-File auszuführen. Das ganze wirkt sich ja rekursiv aus. Welche Auswirkungen das bspw. auf die anderen Services hat, sollte dann vielleicht nochmal untersucht werden.
Comment 8 Roman Asendorf univentionstaff 2010-10-07 15:32:23 CEST
(In reply to comment #7)
> (In reply to comment #6)
> > In einer weiteren Kundenumgebung aufgetreten, Sie Ticket: 2010100610001324
> 
> Ergänzung: Ja, (In reply to comment #5)
> > Ist das Problem nach dem Reboot (nach dem Update auf UCS 2.3) noch vorhanden? 
> > 
> > Welche runsv-Dienste sind auf dem System vorhanden?
> > 
> > Wie äußert sich das Problem, ausser der Anzeige in der ps-Ausgabe?
> 
> Ja, das Problem besteht auch nach dem Reboot.
> 
> Als Fehler tritt, wie in der ps-Ausgabe zu sehen ist, der Versuch auch, im
> Verzeichnis 'univention' das run-File auszuführen. Das ganze wirkt sich ja
> rekursiv aus. Welche Auswirkungen das bspw. auf die anderen Services hat,
> sollte dann vielleicht nochmal untersucht werden.

Auch nochmal getestet: Die anderen Dienste werden weiter neugestartet, wenn man sie bswp. durch kill -9 abschießt. Funktional sind also keine Einschränkungen erkennbar, unschön also vor allem die ps-Ausgabe.
Comment 9 Tobias Scherer univentionstaff 2011-03-09 12:57:08 CET
An Ticket#: 2011030910000135 nach dem Update auf 2.4-1-2 aufgetreten. Workaround

 mv /etc/service /etc/service.BAK
 ln -s /etc/runit/univention /etc/service

Das System konnte aufgrund dieses Verhaltens nicht erneut joinen.
Comment 10 Jan Christoph Ebersbach univentionstaff 2011-03-15 10:54:14 CET
*** Bug 21833 has been marked as a duplicate of this bug. ***
Comment 11 Timo Denissen univentionstaff 2011-03-28 14:52:51 CEST
Vorhin aufgetreten wenn das Verzeichnis "supervise" nicht entfernt wird:

Network not reachable.

Nachdem das Verzeichnis entfernt wurde war nach einem Neustart der Rechner wieder pingbar und per ssh erreichbar.
Comment 12 Tobias Scherer univentionstaff 2011-09-02 15:17:03 CEST
ebenfalls aufgefallen an Ticket#: 2011081710001548

root      5225  0.0  0.0    124    32 ?        S    Aug31   0:09 runsvdir 
   -P /etc/service log: ion: fatal: unable to start ./run: file does not 
   exist?runsv univention: fatal: unable to start ./run: file does not 
   exist?runsv univention: fatal: unable to start ./run: file does not 
   exist?runsv univention: fatal: unable to start ./run: file does not 
   exist?runsv univention: fatal: unable to start ./run: file does not 
   exist?runsv univention: fatal: unable to start ./run: file does not 
   exist?
Comment 13 Janis Meybohm univentionstaff 2011-11-02 10:59:10 CET
Erneut aufgetreten an 2011110121002791, hier hat sich das bis in ein 2.4-3 System gezogen, ein nachträglich installierter UVMMd lies sich aufgrund dieses Problems nicht starten.

Ist es evtl. möglich auf dieses Problem während eines Updates zu prüfen und das ggf. direkt zu fixen? Der Workaround hat auch in diesem Fall das Problem direkt behoben.
Comment 14 Roman Asendorf univentionstaff 2011-12-09 17:01:59 CET
Wiederholt aufgetreten an Ticket: #2011091210001564

Fehlermeldung im update.log:
rmdir: failed to remove `/etc/service': Directory not empty
   ...fail!
Comment 15 Roman Asendorf univentionstaff 2012-01-17 11:23:02 CET
Quickfix:

1. mv /etc/service /etc/service.old; rm -r /etc/runit/univention/supervise; ln -s /etc/runit/univention /etc/service
2. Reboot
Comment 16 Philipp Hahn univentionstaff 2012-04-10 13:27:39 CEST
*** Bug 26077 has been marked as a duplicate of this bug. ***
Comment 17 Philipp Hahn univentionstaff 2012-04-10 13:46:58 CEST
Wie an Bug #26077 comment 8 beschrieben tritt beim Aktualisieren eines UCS-Systems auf UCS-2.3 ein Bug auf, der dazu führt, das /etc/service dann kein Symlink auf /etc/runit/univention ist. Spätestens mit UCS-3.0 führt das dann dazu, daß z.B. Samba-4 nicht gestartet wird.

Ein automatisches Mergen der Verzeichnisse ist nur schwer möglich, von daher sollte in den Release-Nodes zu UCS-3.0 (bzw. auch UCS-2.x) folgendes aufgenommen werden:

Wegen \ucsBug{18000} kommt es beim Update von UCS-2.2 auf UCS-2.3 zu einem Fehler, der dazu führt, daß später bei einer Aktualisierung auf UCS-3.0 verschiedene Dienste (u.a. Samba 4) nicht gestartet werden. Um diesen Fehler zu korrigieren muß sichergestellt werden, das \ucsFile{/etc/service} ein symbolischer Link auf das Verzeichnis \ucsFile{/etc/runit/univention} ist. Ist \ucsFile{/etc/service} ein Verzeichnis, so sollte dieses per \ucsCommand{mv /etc/service /etc/service.old} umbenannt werden. Anschließend kann per \ucsCommand{ln -s /etc/runit/univention /etc/service} der symbolische Link erzeugt werden.
Anschließend sollte die beiden Verzeichnisse verglichen werden und ggf. fehlende Einträge nach \ucsFile{/etc/service} von Hand übernommen werden.

\textbf{Beachte}: Verwechseln Sie die Pfadangabe nicht mit der Datei \ucsFile{/etc/services}!
Comment 18 Moritz Muehlenhoff univentionstaff 2012-06-05 14:30:34 CEST
In Kapitel 3.1 der UCS 3.0 Release Notes wurde ein entsprechender Hinweis aufgenommen.
Comment 19 Philipp Hahn univentionstaff 2012-06-05 15:24:34 CEST
OK: svn13349
Comment 20 Moritz Muehlenhoff univentionstaff 2012-06-05 16:10:35 CEST
Die deutschsprachigen 3.0-Release Notes auf dem Mirror wurden ersetzt (die englischen folgen, sobald übersetzt)