Focal/xfstests
=====
"pre-original"/original/patched kernel versions:
$ grep -h ^PLATFORM xfstests.log.* | sort -u
PLATFORM -- Linux/s390x mfo-s390x-focal 5.4.0-52-generic
#57+test20201026b1 SMP Mon Oct 26 19:12:47 -03 2020
PLATFORM -- Linux/s390x mfo-s390x-focal 5.4.0-52-generic
#57+test20201028b1 SMP Wed Oct 28 11:21:07 -03 2020
PLATFORM -- Linux/s390x mfo-s390x-focal 5.4.0-52-generic
#57-Ubuntu SMP Thu Oct 15 10:52:40 UTC 2020
In Focal there are 8 regressions between master/bionic-updates and
master-next/not-yet-bionic-proposed (i.e., caused by other 13 btrfs
patches; _not_ this patchset.)
However, there are 0 regressions between master-next and master-next +
this patchset. So, this patchset is good.
"pre-Original" kernel (master/bionic-updates)
---
$ VERSION='5.4.0-52-generic #57-Ubuntu'
Number of runs:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep -c Failures:
9
$ RUNS=9
Consistent fail set:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep ^Failures: | cut -d' ' -f2- | tr ' ' '\n' | sort | uniq -c | sort | grep
-w $RUNS
9 btrfs/153
9 btrfs/200
9 btrfs/204
9 btrfs/205
9 btrfs/213
9 btrfs/220
9 btrfs/221
9 btrfs/222
9 btrfs/226
9 generic/260
9 generic/301
9 generic/484
9 generic/610
Flaky fail set:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep ^Failures: | cut -d' ' -f2- | tr ' ' '\n' | sort | uniq -c | sort | grep
-w -v $RUNS
1 btrfs/010
1 generic/074
1 generic/127
1 generic/142
1 generic/143
1 generic/198
1 generic/207
1 generic/208
1 generic/209
1 generic/214
1 generic/215
1 generic/240
1 generic/241
1 generic/246
1 generic/371
2 generic/286
2 generic/465
3 generic/166
3 generic/564
4 generic/133
5 generic/175
7 generic/247
7 generic/475
Original kernel (master-next)
---
$ VERSION='5.4.0-52-generic #57+test20201028b1'
Number of runs:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep -c Failures:
13
$ RUNS=13
Consistent fail set:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep ^Failures: | cut -d' ' -f2- | tr ' ' '\n' | sort | uniq -c | sort | grep
-w $RUNS
13 btrfs/153
13 btrfs/200
13 btrfs/204
13 btrfs/205
13 btrfs/213
13 btrfs/220
13 btrfs/221
13 btrfs/222
13 btrfs/226
13 generic/260
13 generic/286 << Regression; failed 2/9 in pre-original
kernel.
13 generic/301
13 generic/465 << Regression; failed 2/9 in pre-original
kernel.
13 generic/484
13 generic/610
Flaky fail set:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep ^Failures: | cut -d' ' -f2- | tr ' ' '\n' | sort | uniq -c | sort | grep
-w -v $RUNS
1 btrfs/001
1 btrfs/057
1 btrfs/058
1 btrfs/059
1 btrfs/060
1 btrfs/061
1 btrfs/062
1 btrfs/063
1 btrfs/064
1 btrfs/065
1 btrfs/066
1 btrfs/067
1 btrfs/068
1 btrfs/069
1 btrfs/070
1 btrfs/071
1 btrfs/072
1 btrfs/073
1 btrfs/074
1 btrfs/075
1 btrfs/076
1 btrfs/077
1 btrfs/078
1 btrfs/079
1 btrfs/081
1 btrfs/189
1 generic/090
1 generic/118
1 generic/119
1 generic/298
1 generic/321
1 generic/371
1 generic/483
1 generic/510
1 generic/511
1 generic/512
1 generic/517
1 generic/588
1 generic/589
1 generic/590
1 generic/592
1 generic/593
2 btrfs/037
2 btrfs/038
2 btrfs/039
2 btrfs/040
2 btrfs/041
2 btrfs/042
2 btrfs/043
2 btrfs/044
2 btrfs/045
2 btrfs/046
2 btrfs/047
2 btrfs/048
2 btrfs/049
2 btrfs/050
2 btrfs/051
2 btrfs/052
2 btrfs/053
2 btrfs/054
2 btrfs/056
2 generic/502
2 generic/509
2 generic/518
2 generic/579
2 generic/580
2 generic/582
2 generic/583
2 generic/584
2 generic/585
3 btrfs/030
3 btrfs/031
3 btrfs/032
3 btrfs/033
3 btrfs/034
3 btrfs/035
3 btrfs/036
3 btrfs/055
3 generic/520
3 generic/569
3 generic/570
3 generic/572
3 generic/573
3 generic/574
3 generic/575
3 generic/576
3 generic/577
4 btrfs/026
4 btrfs/027
4 btrfs/028
4 btrfs/029
4 btrfs/210
4 btrfs/211
4 btrfs/212
4 btrfs/214
4 btrfs/215
4 btrfs/224
4 generic/015
4 generic/018
4 generic/027
4 generic/029
4 generic/030
4 generic/032
4 generic/033
4 generic/034
4 generic/322
4 generic/563
4 generic/565
4 generic/566
4 generic/567
5 btrfs/201
5 btrfs/202
5 btrfs/203
5 btrfs/209
5 generic/501
5 generic/562
6 generic/166
10 generic/475 << Not regression; failed 7/9 in pre-original
kernel.
12 btrfs/010 << Regression; failed 1/9 in pre-original
kernel.
12 generic/074 << Regression; failed 1/9 in pre-original
kernel.
12 generic/133 << Regression; failed 4/9 in pre-original
kernel.
12 generic/142 << Regression; failed 1/9 in pre-original
kernel.
12 generic/143 << Regression; failed 1/9 in pre-original
kernel.
12 generic/175 << Regression; failed 5/9 in pre-original
kernel.
Patched kernel (master-next + patchset)
---
$ VERSION='5.4.0-52-generic #57+test20201026b1'
Number of runs:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep -c Failures:
16
$ RUNS=16
Consistent fail set:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep ^Failures: | cut -d' ' -f2- | tr ' ' '\n' | sort | uniq -c | sort | grep
-w $RUNS
16 btrfs/153
16 btrfs/200
16 btrfs/204
16 btrfs/205
16 btrfs/213
16 btrfs/220
16 btrfs/221
16 btrfs/222
16 btrfs/226
16 generic/260
16 generic/286
16 generic/301
16 generic/465
16 generic/484
16 generic/610
No regressions.
Flaky fail set:
$ grep -h -e ^Fail -e ^PLATFORM xfstests.log.* | grep -A1 "$VERSION" |
grep ^Failures: | cut -d' ' -f2- | tr ' ' '\n' | sort | uniq -c | sort | grep
-w -v $RUNS
1 btrfs/028
1 generic/119
1 generic/224
1 generic/225
1 generic/297
2 generic/371
7 generic/166
10 btrfs/010
10 generic/074
10 generic/142
10 generic/143
13 generic/133
13 generic/175
14 generic/475
No regressions.
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1902254
Title:
Bionic: btrfs: kernel BUG at /build/linux-
eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233!
Status in linux package in Ubuntu:
Fix Committed
Status in linux source package in Bionic:
In Progress
Status in linux source package in Focal:
In Progress
Status in linux source package in Groovy:
In Progress
Bug description:
[Impact]
* Users of btrfs started hitting a kernel BUG() (below)
after upgrade from 4.15.0-99.100 to 4.15.0-109.110,
which has 55 btrfs changes.
kernel BUG at /build/linux-eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233!
...
Krnl PSW : 00000000be9cb874 00000000ef3786e8
(btrfs_set_item_key_safe+0x152/0x1c0 [btrfs])
...
[...] Call Trace:
[...] btrfs_set_item_key_safe+0x11c/0x1c0 [btrfs])
[...] __btrfs_drop_extents+0xb5a/0xda8 [btrfs]
[...] btrfs_log_changed_extents+0x35c/0xaf0 [btrfs]
[...] btrfs_log_inode+0x9ee/0x1080 [btrfs]
[...] btrfs_log_inode_parent+0x224/0xa10 [btrfs]
[...] btrfs_log_dentry_safe+0x80/0xa8 [btrfs]
[...] btrfs_sync_file+0x392/0x550 [btrfs]
[...] do_fsync+0x5e/0x90
[...] SyS_fdatasync+0x32/0x48
[...] system_call+0xd8/0x2c8
$ git log --oneline Ubuntu-4.15.0-99.100..Ubuntu-4.15.0-109.110 --
fs/btrfs/ | wc -l
55
* The error happens at random moments, regardless of a
particular activity/load. Workaround is to downgrade.
[Fix]
* This BUG()/function is addressed in patch 4/4 [1] of series
'btrfs: Enhanced runtime defence against fuzzed images' [2],
after issues in the real world, not just crafted fs images:
'one internal report has hit one BUG_ON() with real world fs'
kernel BUG at fs/btrfs/ctree.c:3188!
...
RIP: 0010:btrfs_set_item_key_safe+0x16c/0x180
* The patch/set [3] is applied in v5.10-rc1 and Ubuntu Unstable:
- d16c702fe4f2 btrfs: ctree: check key order before merging tree blocks
- 07cce5cf3b48 btrfs: extent-tree: kill the BUG_ON() in
insert_inline_extent_backref()
- 1c2a07f598d5 btrfs: extent-tree: kill BUG_ON() in __btrfs_free_extent()
- f98b6215d7d1 btrfs: extent_io: do extra check for extent buffer read
write functions
[Test Case]
* There is working synthetic reproducer for this issue,
which is hard to reproduce as reported in commit [4]
that introduces debugging for the issue.
* Regression tests with xfstests and stress-ng shows
no regressions between un/patched kernels.
[Other Info]
* Trivial backports (only refreshing a few context lines)
with 3 more dependency patches on Bionic and 1 on Focal.
And Bionic needed one extra hunk to '#include' a header.
Groovy all apply cleanly.
[1] https://lore.kernel.org/linux-btrfs/[email protected]/
[2] https://lore.kernel.org/linux-btrfs/[email protected]/
[3]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d16c702fe4f274bd77b47d3ab737eadcf24e0b93
[4]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c15d41016dc886cc011e3854d855e219759ae68
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1902254/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp