Systemd-swap: erros swapon "arquivo de troca tem buracos"

Criado em 7 jul. 2020  ·  16Comentários  ·  Fonte: Nefelim4ag/systemd-swap

Na última versão do systemd-swap on (teste de manjaro), só consigo fazer zram funcionar, o outro swapfc zswap não funciona. Na versão 4.0.1-2 tudo funciona bem. (Eu não testei outras versões anteriores)

bug

Todos 16 comentários

Configuração de hardware:

System:
  Host: Workstation Kernel: 5.7.6-1-MANJARO x86_64 bits: 64 compiler: gcc 
  v: 10.1.0 Desktop: Xfce 4.14.2 tk: Gtk 3.24.20 info: xfce4-panel wm: xfwm4 
  dm: LightDM 1.30.0 Distro: Manjaro Linux 
Machine:
  Type: Desktop Mobo: Gigabyte model: GA-78LMT-S2P v: x.x serial: <filter> 
  BIOS: Award v: F3 date: 10/18/2012 
CPU:
  Topology: Dual Core model: AMD Athlon II X2 250 bits: 64 type: MCP 
  arch: K10 rev: 3 L2 cache: 2048 KiB 
  flags: lm nx pae sse sse2 sse3 sse4a svm bogomips: 12057 
  Speed: 800 MHz min/max: 800/3000 MHz Core speeds (MHz): 1: 1800 2: 800 
Graphics:
  Device-1: AMD RV730 PRO [Radeon HD 4650] 
  vendor: Hightech Information System driver: radeon v: kernel 
  bus ID: 01:00.0 chip ID: 1002:9498 
  Display: x11 server: X.Org 1.20.8 driver: ati,radeon unloaded: modesetting 
  alternate: fbdev,vesa resolution: 1920x1080~60Hz 
  OpenGL: renderer: AMD RV730 (DRM 2.50.0 / 5.7.6-1-MANJARO LLVM 10.0.0) 
  v: 3.3 Mesa 20.1.2 compat-v: 3.0 direct render: Yes 
Audio:
  Device-1: AMD SBx00 Azalia vendor: Gigabyte driver: snd_hda_intel 
  v: kernel bus ID: 00:14.2 chip ID: 1002:4383 
  Device-2: AMD RV710/730 HDMI Audio [Radeon HD 4000 series] 
  vendor: Hightech Information System driver: snd_hda_intel v: kernel 
  bus ID: 01:00.1 chip ID: 1002:aa38 
  Sound Server: ALSA v: k5.7.6-1-MANJARO 
Network:
  Device-1: Qualcomm Atheros AR8161 Gigabit Ethernet vendor: Gigabyte 
  driver: alx v: kernel port: df00 bus ID: 02:00.0 chip ID: 1969:1091 
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  IF-ID-1: vmnet1 state: unknown speed: N/A duplex: N/A mac: <filter> 
  IF-ID-2: vmnet8 state: unknown speed: N/A duplex: N/A mac: <filter> 
Drives:
  Local Storage: total: 223.58 GiB used: 29.45 GiB (13.2%) 
  ID-1: /dev/sda vendor: SanDisk model: SDSSDA120G size: 111.79 GiB 
  speed: 3.0 Gb/s serial: <filter> rev: 00RL scheme: MBR 
  ID-2: /dev/sdb vendor: Samsung model: SSD 840 EVO 120GB size: 111.79 GiB 
  speed: 3.0 Gb/s serial: <filter> rev: DB6Q scheme: GPT 
Partition:
  ID-1: / size: 111.79 GiB used: 28.70 GiB (25.7%) fs: btrfs dev: /dev/sda2 
  ID-2: /home size: 111.79 GiB used: 28.70 GiB (25.7%) fs: btrfs 
  dev: /dev/sda2 
Sensors:
  System Temperatures: cpu: 26.0 C mobo: N/A gpu: radeon temp: 62 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 228 Uptime: 31m Memory: 3.84 GiB used: 2.17 GiB (56.4%) 
  Init: systemd v: 245 Compilers: gcc: 10.1.0 Shell: zsh v: 5.8 
  running in: xfce4-terminal inxi: 3.0.37

Eu uso o btrfs, se isso puder ajudar, para solucionar problemas

Houve um PR malsucedido (https://github.com/Nefelim4ag/systemd-swap/pull/140) modificando o caminho do código do btrfs, com a possível correção ainda em andamento (https://github.com/Nefelim4ag/systemd -swap / pull / 144) como parece.

Já que o # 144 não viu uma atualização por um tempo pelo remetente, eu poderia consertar e mesclar.

Ups, não pretendia fechar isto ainda.
C8431ddbd728e7da14eaa69362a2ef0becf6074d corrigiu para você?

@ Jarel1337 Darei feedback quando voltar para casa. Devo usar a versão no arch repo ou clone git aqui?

@ Jarel1337 Darei feedback quando voltar para casa. Devo usar a versão no arch repo ou clone git aqui?

Por favor, use o master ( pacote aur aqui ou apenas make install)

Não parece estar funcionando para mim. Tentei deletar a antiga pasta systemd-swap e reinicializar o sistema e continua errando para mim.

Estou usando o pacote aur btw

systemctl status systemd-swap

● systemd-swap.service - Manage swap spaces on zram, files and partitions.
     Loaded: loaded (/usr/lib/systemd/system/systemd-swap.service; disabled; vendor preset: disabled)
     Active: active (running) since Wed 2020-07-08 22:29:05 +08; 2s ago
   Main PID: 2168 (bash)
     Status: "Monitoring memory status..."
      Tasks: 1 (limit: 19132)
     Memory: 8.7M
     CGroup: /system.slice/systemd-swap.service
             └─2168 bash /usr/bin/systemd-swap start

Jul 08 22:29:05 ryzen-linux systemd-swap[2168]: INFO: swapD: searching swap devices
Jul 08 22:29:05 ryzen-linux systemd-swap[2168]: INFO: swapFC: allocate chunk:  1
Jul 08 22:29:05 ryzen-linux systemd-swap[2254]: Job failed. See "journalctl -xe" for details.
Jul 08 22:29:05 ryzen-linux systemd[1]: systemd-swap.service: Got notification message from PID 2254, but reception only permitted for main PID 2168
Jul 08 22:29:06 ryzen-linux systemd-swap[2168]: INFO: swapFC: free swap: 0 < 15 - allocate chunk:  2
Jul 08 22:29:06 ryzen-linux systemd-swap[2288]: Job failed. See "journalctl -xe" for details.
Jul 08 22:29:06 ryzen-linux systemd[1]: systemd-swap.service: Got notification message from PID 2288, but reception only permitted for main PID 2168
Jul 08 22:29:07 ryzen-linux systemd-swap[2168]: INFO: swapFC: free swap: 0 < 15 - allocate chunk:  3
Jul 08 22:29:07 ryzen-linux systemd-swap[2324]: Job failed. See "journalctl -xe" for details.
Jul 08 22:29:07 ryzen-linux systemd[1]: systemd-swap.service: Got notification message from PID 2324, but reception only permitted for main PID 2168

parte relevante do journalctl -xe:

Jul 08 22:29:41 ryzen-linux systemd[1]: Activating swap Swap File...
-- Subject: A start job for unit var-lib-systemd\x2dswap-swapfc-32.swap has begun execution
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- A start job for unit var-lib-systemd\x2dswap-swapfc-32.swap has begun execution.
-- 
-- The job identifier is 1414.
Jul 08 22:29:41 ryzen-linux swapon[3377]: swapon: /var/lib/systemd-swap/swapfc/32: skipping - it appears to have holes.
Jul 08 22:29:41 ryzen-linux systemd[1]: var-lib-systemd\x2dswap-swapfc-32.swap: Swap process exited, code=exited, status=255/EXCEPTION
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- An n/a= process belonging to unit var-lib-systemd\x2dswap-swapfc-32.swap has exited.
-- 
-- The process' exit code is 'exited' and its exit status is 255.
Jul 08 22:29:41 ryzen-linux systemd[1]: var-lib-systemd\x2dswap-swapfc-32.swap: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The unit var-lib-systemd\x2dswap-swapfc-32.swap has entered the 'failed' state with result 'exit-code'.
Jul 08 22:29:41 ryzen-linux systemd[1]: Failed to activate swap Swap File.
-- Subject: A start job for unit var-lib-systemd\x2dswap-swapfc-32.swap has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- A start job for unit var-lib-systemd\x2dswap-swapfc-32.swap has finished with a failure.
-- 
-- The job identifier is 1414 and the job result is failed.
Jul 08 22:29:41 ryzen-linux systemd-swap[3376]: Job failed. See "journalctl -xe" for details.
Jul 08 22:29:41 ryzen-linux systemd[1]: Cannot find unit for notify message of PID 3376, ignoring.

@ Jarel1337 mesmo para mim (como @nathanielcwm) instalado via make install

versão mais recente> journalctl -p err -b swap File failed to activate

@nathanielcwm Você também está usando o btrfs?

Para contornar isso até que uma correção seja mesclada, você pode definir swapfc_force_use_loop=true

EDITAR: aparentemente os dispositivos de loop não eram permitidos pela unidade systemd-swap.service , a correção é simples e está no mestre atual.

Deve ser corrigido usando dd vez de fallocate (até esqueci que dd não era usado para alguns sistemas de arquivos, isso deveria ter acontecido há muito tempo)

Espero que isso resolva, a solução alternativa: swapfc_force_use_loop=true mostre-me o argumento inválido em systemctl status systemd-swap.service

Também pode estar relacionado ao hardware?

Espero que isso resolva, a solução alternativa: swapfc_force_use_loop=true mostre-me o argumento inválido em systemctl status systemd-swap.service

Também pode estar relacionado ao hardware?

Você precisará fazer backport manualmente de ambos os commits para que funcione, eu recomendaria apenas usar o master por enquanto

Finalmente faça a instalação do master e o problema será resolvido. Muito obrigado @ Jarel1337 !
Vou esperar até que esteja nos repositórios upstream do Arch Linux.

Esta página foi útil?
0 / 5 - 0 avaliações