Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-12-13 09:59:26

  irs - Użytkownik

irs
Użytkownik
Zarejestrowany: 2016-12-13

Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Witajcie

Po wykonaniu aktualizacji wydania na Stretch system w ok 80% przypadków podczas zamykania wyświetla przez 90sek komunikat: A stop job is running for... - i tutaj kolejno wymieniane są wszystkie urządzenia dyskowe a także session C2

Próbowałem debugować problem wg poradnika: https://freedesktop.org/wiki/Software/systemd/Debugging/ -ale nie ma u mnie katalogu /usr/lib/systemd/system-shutdown w którym należy umieścić skrypt debug.sh - stworzyłem ten katalog i umieściłem skrypt ale oczywiście nie zadziałało - dlatego nie mam zapisu logów :(

Kod:

Trochę informacji o systemie:
Distributor ID:    Debian
Description:    Debian GNU/Linux testing (stretch)
Release:    testing
Codename:    stretch

Kod:

Linux wostok 4.8.0-1-amd64 #1 SMP Debian 4.8.7-1 (2016-11-13) x86_64 GNU/Linux

systemd: wersja 232-7

System zaszyfrowany Luksem i na LVM. (poza partycją /boot).

Kod:

cat /etc/crypttab
sda5_crypt UUID=ca3b4860-0671-4690-b771-72cbdd6e9bc6 none luks
sdb1_crypt UUID=68af85c4-4214-43be-baa6-62b264814067 none luks

Kod:

cat /etc/fstab
dev/mapper/vol1sys-LVroot /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda2 during installation
UUID=dbc5b2e9-d9be-4c0f-a8b3-4ec0b12807b0 /boot           ext4    defaults        0       2
# /boot/efi was on /dev/sda1 during installation
UUID=CA14-B8EF  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/vol2data-LVhome /home           ext4    defaults        0       2
/dev/mapper/vol2data-LVtmp /tmp            ext4    defaults        0       2
/dev/mapper/vol2data-LVswap none            swap    sw              0       0

Problem występuje po czystej instalacji Stretch z płyty netinstall jak i po upgrade z Jessie (zaraz po świeżej instalacji)

Poradźcie proszę jak się zabrać do skutecznego wytropienia i usunięcia problemu.

Nie upieram się też przy wersji testing. Wkurzony telemetrzycznym zaglądaniem do d...y przez Microsoft postanowiłem zmienić podstawowy system operacyjny. Na służbowym PC od ok. miesiąca użytkuję Jessie i sprawuje się bardzo OK.

Na domowym w wersji Jessie spotkałem dziwny problem - w sesji graficznej (gnome) - po instalacji sterowników Nvidii (v 340) odczuwalne są "mikroprzycięcia" - delikatne lagi w reakcji na mysz i klawiaturę - najbardziej widoczne w przeglądare a także w terminalu - np mc laguje od 0.5 do 2 sek na naciśnięcia klawiszy... - ogólne wrażenie z użytkowania b. nieprzyjemne - wzrok męczy się po ok. pół godzinie pracy. W wydaniu stretch ten problem nie występuje stąd pomysł na korzystanie z tej wersji.
Pozdrawiam
Irek

Offline

 

#2  2016-12-13 12:10:42

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Ten skrypt zapisz se w /lib/systemd/system-shutdown/

Offline

 

#3  2016-12-13 13:57:35

  irs - Użytkownik

irs
Użytkownik
Zarejestrowany: 2016-12-13

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Dziękuję, zrobione - poniżej wycinek pozyskanego logu dot. zamykania systemu:

ciach....
[  845.664006] systemd-logind[711]: System is powering down.
[  845.673462] systemd[1]: Stopping User Manager for UID 118...
[  845.673602] systemd[1]: Stopping PackageKit Daemon...
[  845.673698] systemd[1]: Stopping Authorization Manager...
[  845.673769] systemd[1]: Stopping ACPI event daemon...
[  845.673789] systemd[1]: Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
[  845.673820] systemd[1]: Stopped target RPC Port Mapper.
[  845.673970] systemd[1]: Removed slice system-getty.slice.
[  845.673991] systemd[1]: Stopped target Graphical Interface.
[  845.674066] systemd[1]: Stopping GNOME Display Manager...
[  845.674166] systemd[1]: Stopping Accounts Service...
[  845.702003] gnome-session-f[2427]: segfault at 0 ip 00007f391ecf0a29 sp 00007ffff2e8b660 error 4 in libgtk-3.so.0.2200.4[7f391ea0e000+6f7000]
[  846.014180] systemd-logind[711]: Removed session 3.
[  935.836164] systemd[1]: dev-dm\x2d0.device: Job dev-dm\x2d0.device/stop timed out.
[  935.836179] systemd[1]: Timed out stopping /dev/dm-0.
[  935.836733] systemd[1]: dev-dm\x2d0.device: Job dev-dm\x2d0.device/stop failed with result 'timeout'.
[  935.836751] systemd[1]: session-c2.scope: Stopping timed out. Killing.
[  935.836857] systemd[1]: session-c2.scope: Killing process 1199 (Xorg) with signal SIGKILL.
[  935.837060] systemd[1]: dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device: Job dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device/stop timed out.
[  935.837072] systemd[1]: Timed out stopping /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-ca3b486006714690b77172cbdd6e9bc6-sda5_crypt.
[  935.837618] systemd[1]: dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device: Job dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device/stop failed with result 'timeout'.
[  935.837631] systemd[1]: dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dMQsHwx\x2de5OK\x2dYfId\x2d92tm\x2d2S0K\x2dfUyt\x2dWWBI6n.device: Job dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dMQsHwx\x2de5OK\x2dYfId\x2d92tm\x2d2S0K\x2dfUyt\x2dWWBI6n.device/stop timed out.
[  935.837639] systemd[1]: Timed out stopping /dev/disk/by-id/lvm-pv-uuid-MQsHwx-e5OK-YfId-92tm-2S0K-fUyt-WWBI6n.
[  935.844134] nvidia-modeset: Freed GPU:0 (GPU-42faeec1-6cc5-722a-dacc-46d27ae63f20) @ PCI:0000:01:00.0
[  940.974095] systemd-cryptsetup[2602]: Failed to deactivate: Device or resource busy
[  940.984290] systemd[1]: systemd-cryptsetup@sda5_crypt.service: Control process exited, code=exited status=1
[  940.984674] systemd[1]: Stopped Cryptography Setup for sda5_crypt.
[  940.989390] systemd[1]: systemd-cryptsetup@sda5_crypt.service: Unit entered failed state.
[  940.989422] systemd[1]: systemd-cryptsetup@sda5_crypt.service: Failed with result 'exit-code'.
[  940.996617] systemd-cryptsetup[2604]: Failed to deactivate: Device or resource busy
[  941.001842] systemd[1]: systemd-cryptsetup@sdb1_crypt.service: Control process exited, code=exited status=1
[  941.002187] systemd[1]: Stopped Cryptography Setup for sdb1_crypt.
[  941.007069] systemd[1]: systemd-cryptsetup@sdb1_crypt.service: Unit entered failed state.
[  941.007099] systemd[1]: systemd-cryptsetup@sdb1_crypt.service: Failed with result 'exit-code'.

[  941.007304] systemd[1]: Reached target Unmount All Filesystems.
[  941.012343] systemd[1]: Removed slice system-systemd\x2dcryptsetup.slice.
[  941.076541] systemd-shutdow: 373 output lines suppressed due to ratelimiting
[  941.088207] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[  941.092611] systemd-journald[390]: Received SIGTERM from PID 1 (systemd-shutdow).
[  941.139041] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[  941.142554] systemd-shutdown[1]: Unmounting file systems.
[  941.142752] systemd-shutdown[1]: Remounting '/' read-only with options 'errors=remount-ro,data=ordered'.
[  941.161057] EXT4-fs (dm-1): re-mounted. Opts: errors=remount-ro,data=ordered
[  941.169245] systemd-shutdown[1]: Remounting '/' read-only with options 'errors=remount-ro,data=ordered'.
[  941.169271] EXT4-fs (dm-1): re-mounted. Opts: errors=remount-ro,data=ordered
[  941.169275] systemd-shutdown[1]: All filesystems unmounted.
[  941.169278] systemd-shutdown[1]: Deactivating swaps.
[  941.169326] systemd-shutdown[1]: All swaps deactivated.
[  941.169328] systemd-shutdown[1]: Detaching loop devices.
[  941.170249] systemd-shutdown[1]: All loop devices detached.
[  941.321139] EXT4-fs (dm-1): re-mounted. Opts: errors=remount-ro
EOF

Na ekranie podczas wyłączania wyświetlane są komunikaty:

[....*...] (n of 13) A stop job is running for /dev/dm-2 (n sec of 1min 30 sec)
[....*...] (m of 13) A stop job is running for /dev/disk/by-id/dm_name_sdb1_crypt (n sec of 1min 30 sec)

itd.. wymienia kolejne urządzenia blokowe oraz session c2 - po zakończeniu wpisy w logu jak wyżej

Ostatnio edytowany przez irs (2016-12-13 14:01:06)

Offline

 

#4  2016-12-13 18:48:52

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

No on ma problemy z odmontowaniem systemu plików, co często ma miejsce w przypadku zaszyfrowanych systemów. U mnie też takie problemy były i musiałem ręcznie napisać usługi dla zaszyfrowanych dysków i określić im wyraźnie po czym mają się montować i przed czym odmontować. Jeśli montujesz sda5_crypt wewnątrz sda1_crypt , to musisz ręcznie określić zależności, by system pierw wyłączył sda5_crypt , a dopiero potem sda1_crypt . W przeciwnym wypadku będzie losowa kolejność i w przypadku tej złej system będzie próbował odmontować system plików, który jest w użyciu, czego nie zrobi do momentu timeout'a usługi.

Ostatnio edytowany przez morfik (2016-12-13 18:50:40)

Offline

 

#5  2016-12-13 20:22:25

  irs - Użytkownik

irs
Użytkownik
Zarejestrowany: 2016-12-13

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Jeśli montujesz sda5_crypt wewnątrz sda1_crypt , to musisz ręcznie określić zależności, by system pierw wyłączył sda5_crypt , a dopiero potem sda1_crypt .

No nie przeceniaj mnie - żebym bawił się w zagnieżdżone szyfrowanie...

Kontenery szyfrowane są "obok" siebie. Partycjonowanie wygląda jak na rysunku:
https://drive.google.com/file/d/0B8e6XL6CllmPWW1USm … w?usp=sharing

Jessie radził sobie z identyczną konfiguracją bezproblemowo bez konieczności dodatkowego skryptowania - testowałem go ok. 2 tygodni.

Na obecnym etapie znajomości systemu nie potrafiłbym zrobić tak zaawansowanej modyfikacji jak porządkowanie co i kiedy ma się odmontować.
Zarejestrowałem jako bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848044

Dzięki
Pozdrawiam

Offline

 

#6  2016-12-13 20:41:46

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

W sumie z tego co tam widzę na logu, to ci się procesy nie zamykają poprawnie i pewnie dlatego ma problemy z odmontowaniem systemu plików. Więc musisz ustalić czemu ci się te procesy wieszają albo ubić je przy kończeniu sesji, co ma swoje wady i zalety. Zaleta taka, że system ci się zamknie bez problemu, wada, że bez sesji wszystkie procesy użytkownika zostaną zatrzymane. xD

Przetestuj sobie ten sposób dodając/zmieniając poniższe wpisy w /etc/systemd/logind.conf :

Kod:

KillUserProcesses=yes
KillOnlyUsers=morfik
KillExcludeUsers=root

Morfika se zmień na użytkownika swojego.

Offline

 

#7  2016-12-13 22:45:23

  irs - Użytkownik

irs
Użytkownik
Zarejestrowany: 2016-12-13

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Racja - z tego co jest w logu to problem z odmontowaniem może być skutkiem a nie przyczyną timeoutów.

W logu są 2 podejrzane wpisy dotyczące składników gnome lub X a mogące stanowić przyczynę:

[  455.373836] gnome-session-f[4038]: segfault at 0 ip 00007fd5993d0a29 sp 00007ffcf4e854b0 error 4 in libgtk-3.so.0.2200.4[7fd5990ee000+6f7000]


[  545.551752] systemd[1]: session-c2.scope: Killing process 1282 (Xorg) with signal SIGKILL.

Obejście zastosowałem, zrobiłem parę restartów - bez komunikatów o błędach ale jeden raz zamarudził coś dłużej - będę to jeszcze sprawdzał.

Możesz doradzić - tropić to dalej - czy zostawić z obecnym obejściem? Nie znam niestety na tyle dobrze metodyki i narzędzi do debugowania żeby to ogarnąć samodzielnie :( - potrzebowałbym pokierowania przez kogoś bardziej zaawansowanego.
Wolałbym mieć pewność że system jest stabilny i wolny od poukrywanych problemów - z drugiej strony być może sprawa nie jest na tyle istotna by ją tropić - a szanuję też czas własny i ludzi z których wsparcia korzystam.
Cholera - po tylu przetestowanych dystrybucjach Debian mnie skusił ale mnie nie chce :/

pozdr.
Irek

Offline

 

#8  2016-12-13 23:02:33

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Segfault powoduje, że program zdycha automatycznie i się zamyka, także w  zamykanie systemu nie powinno to przeszkadzać.

Chociaż Gnome-session łapiący segfaulta ze strony biblioteki gtk3, to widok bezcenny, biorąc pod uwagę autorów Gtk3 i Gnome.

Zawsze możesz dać jako ostatniego skrypta, polecenie, które odpali w powłoce systemowej

Kod:

pkill -9 -u USER

albo nawet SYSRQ+E, 
te na pewno ubiją wszystko bardzo dokładnie.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2016-12-14 06:33:18

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Ten mechanizm w systemd ładnie ubija procesy. Mi się jeszcze nie zdarzyło, by jakiś przeżył po wylogowaniu się zwykłego użytkownika. Jadę na tym sposobie od samego początku, bo w sumie lubię, gdy te procesy są czyszczone przy resecie sesji Openboxa. To mi fixnęło bardzo wiele problemów. xD

Offline

 

#10  2016-12-14 06:55:27

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

morfik napisał(-a):

Ten mechanizm w systemd ładnie ubija procesy. ...xD

Dzięki za informacje, zawsze mi się zdawało, że kill, killall czy pkill  idealnie ubiją procesy, ale skoro SystemD robi to "lepiej", to ja ciekaw jestem,
jak taki cud w SystemD osiągnęli. xD

Masz może w SystemD system nagłego, awaryjnego zamykania kompa w razie np burzy z piorunami?

Bo w OpenRC nic takiego nie ma, i musiałem takiego skrypcia naskrobać:

Kod:

cat /usr/local/sbin/burza

Kod:

#!/bin/bash

echo s >>/proc/sysrq-trigger
echo u >>/proc/sysrq-trigger
sleep 1
echo o >>/proc/sysrq-trigger

Nawet działa... :P


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#11  2016-12-14 07:34:44

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

A jak ci się zawieszą jakoś te procesy? xD Mi się już wielokrotnie zdarzyło, że kill i killall nie potrafiły zabić procesu. A systemd nigdy takiego procesu nie oszczędził. Wszystko co jest w sesji użytkownika zginie po zakończeniu sesji:

Kod:

$ loginctl session-status 2
2 - morfik (1000)
           Since: Tue 2016-12-13 12:16:42 CET; 19h ago
          Leader: 2336 (lightdm)
            Seat: seat0; vc7
         Display: :0
         Service: lightdm; type x11; class user
         Desktop: lightdm-xsession
           State: active
            Unit: session-2.scope
                  ├─ 2336 lightdm --session-child 12 19
                  ├─ 2350 /usr/bin/gnome-keyring-daemon --daemonize --login
                  ├─ 2352 /usr/bin/openbox --startup /usr/lib/x86_64-linux-gnu/openbox-autostart OPENBOX
...

Masz może w SystemD system nagłego, awaryjnego zamykania kompa w razie np burzy z piorunami?

Tego nie wiem ale nie zdziwiłbym się gdyby był. xD

Offline

 

#12  2016-12-14 11:37:33

  irs - Użytkownik

irs
Użytkownik
Zarejestrowany: 2016-12-13

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Morfik trochę pomogło ale nie w 100% - dalej tak w 2/10 przypadków było 90sek opóźnienie - z tą różnicą że systemd nie wyświetlał żadnego komunikatu - za to w logach to samo - timeouty przy zamykaniu dysków.

Wywaliłem Stretch-a, wrzuciłem Jessie + sterowniki Nvidii z backportów - w tej kombinacji nie ma żadnych lagów.
Ze stretch wstrzymam się na oficjalne wydanie stabilne, ewentualnie na maszynie wirtualnej będę sobie tropił ten temat.

Dzięki za pomoc.

Offline

 

#13  2016-12-14 18:31:57

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

A jak ci się zawieszą jakoś te procesy? xD Mi się już wielokrotnie zdarzyło, że kill i killall nie potrafiły zabić procesu. A systemd nigdy takiego procesu nie oszczędził. Wszystko co jest w sesji użytkownika zginie po zakończeniu sesji:

Kod:

pkill -9  -u {pacjent}

żaden proces pacjenta nie ma prawa tego przeżyć, chyba że zombie.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2016-12-14 18:46:26

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stretch - problem z zamykaniem systemu - "A stop job is runnig for.."

Czemu sobie tych usług nie napiszesz? xD Przykład:

/etc/systemd/system/systemd-cryptsetup@kabi.service

Kod:

[Unit]
Description=Cryptography Setup for %I
Documentation=man:cryptdisks_start man:cryptdisks_stop man:systemd-cryptsetup@.service(8)
IgnoreOnIsolate=true
DefaultDependencies=no
After=dev-disk-by\x2duuid-f3c10054\x2d0583\x2d4e10\x2d937b\x2ddcdc9a05a25c.device
After=cryptsetup-pre.target
After=systemd-fsck-root.service
Before=systemd-fsck@dev-mapper-kabi.service media-Kabi.mount
Before=cryptsetup.target
Before=umount.target shutdown.target
Conflicts=umount.target shutdown.target
BindsTo=dev-mapper-%i.device
BindsTo=dev-disk-by\x2duuid-f3c10054\x2d0583\x2d4e10\x2d937b\x2ddcdc9a05a25c.device

[Service]
Type=oneshot
RemainAfterExit=yes
TimeoutSec=30
#ExecStart=/usr/sbin/cryptdisks_start %i
#ExecStop=/usr/sbin/cryptdisks_stop %i
ExecStart=/lib/systemd/systemd-cryptsetup attach 'kabi' '/dev/disk/by-uuid/f3c10054-0583-4e10-937b-dcdc9a05a25c' 'none' 'luks,key-slot=0'
ExecStop=/lib/systemd/systemd-cryptsetup detach 'kabi'

[Install]
WantedBy=cryptsetup.target

/etc/systemd/system/media-Kabi.mount

Kod:

[Unit]
Documentation=man:fstab(5)
Requires=systemd-fsck@dev-mapper-kabi.service
Requires=systemd-cryptsetup@kabi.service
After=systemd-fsck@dev-mapper-kabi.service
After=systemd-cryptsetup@kabi.service
Before=cloud_storage-mega.encrypted.service
Before=qbittorrent-nox.service
Before=local-fs.target

[Mount]
What=/dev/disk/by-uuid/b47e6dcd-924e-40fa-a8b1-7593419f86d7
Where=/media/Kabi
Type=ext4
Options=defaults,errors=remount-ro,commit=10

Większość z tego co tam wyżej jest to wypisały generatory na podstawie plików /etc/crypttab i /etc/fstab . U ciebie też są takie pliki generowane pod /run/systemd/generator*/ . Wystarczy skopiować sobie te wygenerowane pliki do /etc/systemd/system/ i przerobić, wyżej masz kluczowe zależności. Jak chcesz z tych usług korzystać, to jeszcze musisz stosowne wpisy w /etc/fstab i /etc/crypttab zahashować i nie może nie działać. xD

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)