Portál AbcLinuxu, 5. května 2025 09:40

Dotaz: BTRFS critical corrupt leaf

Petr Tomášek avatar 14.6.2020 19:05 Petr Tomášek | skóre: 39 | blog: Vejšplechty
BTRFS critical corrupt leaf
Přečteno: 1360×
Odpovědět | Admin
Zdar!

BTRFS (jádro 5.6.0-2-amd64 #1 SMP Debian 5.6.14-1 (2020-05-23) x86_64 GNU/Linux) mi řve:
BTRFS critical (device md127): corrupt leaf: root=1 block=8212462***** slot=45, invalid root item size, have 239 expect 439
btrfsck ani btrfs scrub žádnou chybu nenašel. Lze to nějak jednoduše opravit?
multicult.fm | monokultura je zlo | welcome refugees!

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.6.2020 19:21 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Odpovědět | | Sbalit | Link | Blokovat | Admin

Má ten stroj ECC? Jak na něm dopadne memtest? Je kernel tainted (bloby všeho druhu, experimentální driver od USB síťovky)?

Btrfs Wiki o tomhle v podstatě tvrdí, byť zoufale lámanou angličtinou, že nanejvýš pravděpodobnou příčinou bude problém/bitflip v RAM nebo nelegitimní zápis do RAM, při troše smůly tam, kde má Btrfs data.

vandrovnik avatar 15.6.2020 17:33 vandrovnik | skóre: 21
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
"have 239 expect 439"

Na tohle přehození jednoho bitu nestačí... Jestli je ten původní výpis v desítkové soustavě:
239 = 0000 1110 1111
439 = 0001 1011 0111
Petr Tomášek avatar 22.6.2020 11:22 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Spíš jde o to, že k tomu poškození došlo zřejmě někdy v historii (buď starou verzí BTRFS v jádře nebo kernel-panic). Na tom PC běžely různé testovací distra. Jak to vypadá, tak teprve novější verze BTRFS na problém upozorňuje.
multicult.fm | monokultura je zlo | welcome refugees!
Jendа avatar 15.6.2020 01:19 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Odpovědět | | Sbalit | Link | Blokovat | Admin
btrfs scrub
Ano, protože scrub jenom přepočítává checksumy, ale nekontroluje, že strom je furt strom.
btrfsck žádnou chybu nenašel
Tak to máš dobré, protože já když jsem měl tenhle problém (dvakrát, pak jsem btrfs přestal na notebooku používat), tak chybu našel a opravil ji tak, že smazal všechno okolo.
Lze to nějak jednoduše opravit?
Můžeš se ponořit do binárního formátu a zkusit to fixnout. A nebo to smazat a vytvořit znova. Jak jsem psal, mně se to opakovalo -- takže můžeš prohlásit, že tento stroj není hoden btrfs, a přejít na FS s fungujícím fsck.
15.6.2020 18:37 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
takže můžeš prohlásit, že tento stroj není hoden btrfs, a přejít na FS s fungujícím fsck

Uf. A co takhle raději přejít na stroj s fungující RAM? Nebylo by to lepší?

Navrhuješ tedy přejít na nefunkční FS ve stylu 90. let (zato však s (údajně) funkčním fsck) a namlouvat si, že se mě silent data corruption netýká a že mi moje data mizí jenom pomalu a jenom postupně, takže to snad není tak hrozné…? To jako fakt? Opravdu? To zní jako velmi špatný vtip.

15.6.2020 20:10 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf

To je veľmi pokrokové zveriť súborovému systému, ktorý pri rozpade urobí z dát len náhodne data. Z iných aspoň niečo dostaneš.

Root v linuxe : "Root povedal, linux vykona."
Jendа avatar 15.6.2020 21:15 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Uf. A co takhle raději přejít na stroj s fungující RAM? Nebylo by to lepší?
Jak si mohu být jist, že jde o chybu RAM, a ne o například race condition v btrfs? (memtest86+ proběhl bez chyb a žádné jiné záhady se v systému nějak neděly)
15.6.2020 21:47 samalama
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
teba sa ale urcite tyka silent brain corruption, a to minimalne v oblasti distribucie a filesystemu. inac si tvoju j.ebnutu posadnutost neviem vysvetlit...
Řešení 1× (Petr Tomášek (tazatel))
15.6.2020 19:17 MadCatX
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejde, protože tenhle typ rozpadu FS by u Btrfs neměl nikdy nastat; že se to děje je věc druhá. Stalo se mi totéž a jedinou cestou ven bylo zazálohovat data a disk znovu naformátovat. Jen pro úplnost, stalo se mi to (několikrát) na desktopu s Fedorou bez jakýchkoliv blobů a memtest, Prime95 apod. jsem na tom stroji pouštěl několikrát, aniž by cokoliv odhalily...
16.6.2020 09:57 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
To je zajímavé. Používám Btrfs už řadu let, všude možně na fyzických strojích, virtuálech, nad md raidem, v raid1, s hromadou snapshotů a nikdy se mi nic takového nestalo. Prakticky pokaždé, když se začaly objevovat nějaké chyby ve spojitosti s Btrfs, se ukázalo, že jejich příčinou byl odcházející HW. Ale souborový systém jako takový se tím nerozbil.
Petr Tomášek avatar 22.6.2020 17:22 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
No, ale co tedy dělat, když to nastane? IMO všechno jde opravit, tak proč by nemělo jít tohle? :-).
multicult.fm | monokultura je zlo | welcome refugees!
22.6.2020 18:49 R
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Keby bol funkcny fsck, tak to opravi... Inak ti ostava akurat tak hex editor.
22.6.2020 21:59 MadCatX
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Zazálohovat data, znovu naformátovat a obnovit ze zálohy. Nic jiného mi nikdy nepomohlo...
Řešení 3× (Andrej, lertimir, a1bert)
26.11.2022 11:35 LarryL | skóre: 27
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Odpovědět | | Sbalit | Link | Blokovat | Admin
BTRFS critical (device md127): corrupt leaf: root=1 block=8212462***** slot=45, invalid root item size, have 239 expect 439
Problém popisuje tento mailing list. V závěru mailing listu se můžeš dočíst, že se nejedná o chybu v datové struktuře btrfs, ale pouze o falešnou chybovou hlášku. Po aktualizaci na kernel 5.9 se falešná chybová hláška již neobjevuje. Cituji poslední komunikaci mezi reportérem chyby a Qu Wenruo, vývojářem btrfs, který věc vysvětluje:
> I'm very sorry, but I didn't have the time to do the btrfs-image dump.

> I was just about to go back to work on the problem, but first I've

> updated my system and now the problem is gone.

> My system (Debian testing) is running with the latest available kernel

> 5.9.0-2 and btrfs-progs 5.9.

> The last time I updated my system was 60 days ago and at this point

> the problem still existed.

> So, for now, no more corrupt leaf; invalid root item size erros.

Oh, that's because we have located the cause and fixed the false alert.

The fix is this one: 1465af12e254 ("btrfs: tree-checker: fix false alert caused by legacy btrfs root item")

Some legacy root item can have smaller size than what we have now. Thanks for another reporter's dump, we fixed it and existing kernels should receive the backport already.

Thanks, Qu
Řešení 1× (Petr Tomášek (tazatel))
Petr Tomášek avatar 29.11.2022 11:56 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
LOL a proto mě to tenkrát nedovolilo FS namountovat a musel jsem ho vytvořit znova (což znamenalo ztrátu několika hodin?). Opravdu kvalitní matroš...
multicult.fm | monokultura je zlo | welcome refugees!
Max avatar 29.11.2022 12:28 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
No, když se přihlásíš do týmu testerů, tak se pak nesmíš divit, že narazíš na nějakou chybu :).
Nevím ani, co jsi všechno zkoušel. Že to nejde připojit, jsi sem do poradny nenapsal. Celkem po chudu informací. Taktéž nevidím žádný smysl v označování vlastních komentářů jako řešení.
Zdar Max
Měl jsem sen ... :(
Petr Tomášek avatar 29.11.2022 13:20 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Tywoe, to byl Debian (nebo už Devuan) stable...
aktéž nevidím žádný smysl v označování vlastních komentářů jako řešení.
To je jen reakce na ty fanatické propagátory BTRFS. Bohužel, abclinuxu neumí, aby a) nějaké "řešení" bylo označeno za "ne-řešení", b) aby se bral v potaz původní tazatel. Takhle kdokoliv může označit za řešení jakoukoliv pitomost, i když to nikomu nepomůže...
multicult.fm | monokultura je zlo | welcome refugees!
Řešení 1× (Andrej)
Max avatar 29.11.2022 15:51 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
Aha, takže ta zmínka, že jsi tam na tom PC testoval různé distribuce, to má v překladu znamenat Debian stable? A že jsi tam měl kernel 5.6 z backports, to má také znamenat Debian stable?
Snažíš se lhát jen nám, nebo i sobě? :)
Zdar Max
Měl jsem sen ... :(
Řešení 1× (Andrej)
29.11.2022 13:25 LarryL | skóre: 27
Rozbalit Rozbalit vše Re: BTRFS critical corrupt leaf
proto mě to tenkrát nedovolilo FS namountovat
Jen jestli to není výmluva, abys neprohrál slovní bitvu ve vedlejším vlákně ;-). Ve tvém úvodním dotazu, ani v komentářích, jsi nic o nemožnosti namountovat nepsal. A teď po dvou letech si vzpomeneš, že to nešlo namountovat? Výše v komentáři jsi psal "Jak to vypadá, tak teprve novější verze BTRFS na problém upozorňuje." Z toho vyplývá, že btrfs ti normálně fungovalo a tvůj problém byl skutečně jen falešné upozornění v dmesg. To že bylo vše v pořádku potvrzuje i tvá věta "btrfsck ani btrfs scrub žádnou chybu nenašel."

Je klidně možné, že jsi kvůli falešné chybové hlášce dělal s btrfs nějaké alotrie, tím sis ho rozmrdal a pak ti nešel namountovat. To klidně možné je.

Abych tě potěšil ve tvém hejtu proti btrfs, tak souhlasím, že i taková chybová hláška je nepříjemná chyba (obzvlášť když je označena jako critical) a vývojáři btrfs by za ni zasloužili za uši.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.