Bug 265849 - makefs regression test triggers ZFS assertion failure
Summary: makefs regression test triggers ZFS assertion failure
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Some People
Assignee: Mark Johnston
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-15 01:36 UTC by Mark Johnston
Modified: 2022-08-16 15:04 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Johnston freebsd_committer freebsd_triage 2022-08-15 01:36:00 UTC
When running tests on the latest main, I get:

makefs_zfs_tests:autoexpand  ->  passed  [0.924s]                                                                                                                              
makefs_zfs_tests:basic  ->  passed  [0.199s]                                                                                                  
makefs_zfs_tests:dataset_removal  ->  passed  [0.147s]                                                                                        
makefs_zfs_tests:empty_dir  ->  passed  [0.117s]                                                                                              
makefs_zfs_tests:empty_fs  ->  passed  [0.113s]                                                           
makefs_zfs_tests:file_sizes  ->  passed  [0.164s]                                                                                             
makefs_zfs_tests:hard_links  ->  passed  [0.176s]                                                                                             
makefs_zfs_tests:indirect_dnode_array  ->  passed  [0.260s]                                                                                   
makefs_zfs_tests:long_file_name  ->  passed  [0.272s]                                                                                         
makefs_zfs_tests:multi_dataset_1  ->  passed  [0.158s]                                                                                        
makefs_zfs_tests:multi_dataset_2  ->  passed  [0.121s]                                                                                        
makefs_zfs_tests:multi_dataset_3  ->  passed  [0.136s]                                                                                        
makefs_zfs_tests:multi_dataset_4  ->  passed  [0.159s]                                                                                        
makefs_zfs_tests:reproducible  ->  passed  [2.149s]                                                                                           
makefs_zfs_tests:root_props  ->  passed  [0.221s]                                                                                             
makefs_zfs_tests:snapshot  ->  panic: VERIFY(compressed >= 0 || ddp->dd_compressed_bytes >= -compressed) failed                               
                                                                                                                                              
cpuid = 1                                                                                                                                     
time = 1660527088                                                                                                                             
KDB: stack backtrace:                                                                                                                         
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0063bc99b0                                                                
vpanic() at vpanic+0x151/frame 0xfffffe0063bc9a00                                                                                             
spl_panic() at spl_panic+0x3a/frame 0xfffffe0063bc9a60                                                                                        
dsl_dir_diduse_transfer_space() at dsl_dir_diduse_transfer_space+0x351/frame 0xfffffe0063bc9ae0                                               
dsl_dir_diduse_space() at dsl_dir_diduse_space+0x1b7/frame 0xfffffe0063bc9b70                                                                 
dsl_pool_sync() at dsl_pool_sync+0x464/frame 0xfffffe0063bc9bf0                                                                               
spa_sync() at spa_sync+0xfe1/frame 0xfffffe0063bc9e20                                                                                         
txg_sync_thread() at txg_sync_thread+0x35b/frame 0xfffffe0063bc9ef0                                                                           
fork_exit() at fork_exit+0x80/frame 0xfffffe0063bc9f30                                                                                        
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0063bc9f30                                                                             
--- trap 0xc, rip = 0x2b61e877bca, rsp = 0x2b6311c3f48, rbp = 0x2b6311c3f60 ---                                                               
KDB: enter: panic                                                                                                                             
[ thread pid 3152 tid 102127 ]                                                                                                                
Stopped at      kdb_enter+0x32: movq    $0,0x127a023(%rip)

This seems to have started after the latest OpenZFS import.
Comment 1 commit-hook freebsd_committer freebsd_triage 2022-08-15 01:38:43 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=35b587464afce15ff62600c3499d38cbb5b9f3d5

commit 35b587464afce15ff62600c3499d38cbb5b9f3d5
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-08-15 01:37:41 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2022-08-15 01:37:41 +0000

    makefs tests: Skip a ZFS regression test in CI

    It triggers panics after the latest OpenZFS import.

    PR:             265849

 usr.sbin/makefs/tests/makefs_zfs_tests.sh | 4 ++++
 1 file changed, 4 insertions(+)
Comment 2 Mark Johnston freebsd_committer freebsd_triage 2022-08-15 21:44:17 UTC
Seems to be triggered by this OpenZFS commit, not sure why yet: https://github.com/openzfs/zfs/commit/9681de4657686d0ed19ca18d578513e74395f00f
Comment 3 commit-hook freebsd_committer freebsd_triage 2022-08-16 15:04:19 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=4f816f5b11ca7a5db965455d11d1db19162cfca6

commit 4f816f5b11ca7a5db965455d11d1db19162cfca6
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-08-16 14:15:53 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2022-08-16 15:02:51 +0000

    makefs: Fix space accounting for the root DSL directory

    Space used by the MOS is summed after all on-disk data structures are
    finalized, so the MOS DSL directory represents a special case when
    counting bytes used for each directory.  The DSL layer failed to update
    the MOS DSL directory's parent, the root directory, accordingly, so the
    root directory reported less space used than was used in reality.  Be
    careful to update the root directory after the MOS is finalized.

    PR:             265849
    Sponsored by:   The FreeBSD Foundation

 usr.sbin/makefs/zfs/dsl.c    | 21 +++++++++++++++------
 usr.sbin/makefs/zfs/objset.c |  6 ++++--
 usr.sbin/makefs/zfs/zfs.h    |  2 +-
 3 files changed, 20 insertions(+), 9 deletions(-)
Comment 4 commit-hook freebsd_committer freebsd_triage 2022-08-16 15:04:20 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=0726cde8ea6b8bf185e664dfa7a699e7f74a2251

commit 0726cde8ea6b8bf185e664dfa7a699e7f74a2251
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-08-16 14:35:51 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2022-08-16 15:02:52 +0000

    makefs tests: Re-enable the ZFS snapshot test

    This reverts commit 35b587464afce15ff62600c3499d38cbb5b9f3d5.

    PR:             265849
    Sponsored by:   The FreeBSD Foundation

 usr.sbin/makefs/tests/makefs_zfs_tests.sh | 4 ----
 1 file changed, 4 deletions(-)