Bug 1405285 - xfsrestore fails: tree.c:757: tree_begindir: Assertion `ino != persp->p_rootino || hardh == persp->p_rooth' failed.
Summary: xfsrestore fails: tree.c:757: tree_begindir: Assertion `ino != persp->p_rooti...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: xfsdump
Version: 24
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Eric Sandeen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-16 04:27 UTC by Jason Tibbitts
Modified: 2017-08-08 19:27 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-08 19:27:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jason Tibbitts 2016-12-16 04:27:20 UTC
I have a filesystem which, when dumped with xfsdump, will cause xfsrestore to abort and dump core.  This appears to be consistent between incrementals and fulls and over a significant amount of changes to the filesystem.  (It's my home directory; it changes often and it gets dumped nightly.  I'll include the xfsrestore output and a backtrace.  Note this F24, xfsdump-3.1.6-2.fc24.x86_64.  I've sent both a dump which triggers this and a metadump of the filesystem, though obviously I can't attach those here.

ἐπιθυμία:~/bu❯ xfsrestore -t -f dump
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.6 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: epithumia.math.uh.edu
xfsrestore: mount point: /home/tibbs
xfsrestore: volume: /dev/mapper/home-h--tibbs
xfsrestore: session time: Tue Dec 13 00:12:12 2016
xfsrestore: level: 1
xfsrestore: session label: ""
xfsrestore: media label: ""
xfsrestore: file system id: 39f918ac-631f-4204-aa0f-a7914d86cda9
xfsrestore: session id: e9534c33-09f3-4d14-a466-2f555087dbee
xfsrestore: media id: 69596dda-2cef-4e48-8f74-24d1fcface7d
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: tree.c:757: tree_begindir: Assertion `ino != persp->p_rootino || hardh == persp->p_rooth' failed.
[1]    9159 abort (core dumped)  xfsrestore -t -f dump


(gdb) thread apply all bt full

Thread 2 (Thread 0x7f86f8546780 (LWP 2827)):
#0  0x00007f86f758cb56 in __GI___sigsuspend (set=0x7ffe24b7be60) at ../sysdeps/unix/sysv/linux/sigsuspend.c:30
        resultvar = 18446744073709551102
        sc_cancel_oldtype = 0
#1  0x0000557d8818b561 in main (argc=<optimized out>, argv=<optimized out>) at main.c:845
        now = <optimized out>
        stop_requested = <optimized out>
        stop_timeout = <optimized out>
        empty_set = {__val = {0 <repeats 16 times>}}
        c = <optimized out>
        stix = <optimized out>
        infoonly = <optimized out>
        init_error = 0
        coredump_requested = <optimized out>
        exitcode = <optimized out>
        tmpstacksz = <optimized out>
        sa = {__sigaction_handler = {sa_handler = 0x557d8819f520 <sighandler>, sa_sigaction = 0x557d8819f520 <sighandler>}, sa_mask = {__val = {18446744067267100671, 
              18446744073709551615 <repeats 15 times>}}, sa_flags = 0, sa_restorer = 0x1}
        prbcld_xc = 0
        xc = <optimized out>
        ok = <optimized out>
        rval = <optimized out>
        __PRETTY_FUNCTION__ = "main"

Thread 1 (Thread 0x7f86f0be4700 (LWP 2828)):
#0  0x00007f86f758c765 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
        resultvar = 0
        pid = 2827
        selftid = 2828
#1  0x00007f86f758e36a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, sa_mask = {__val = {140217541338688, 93997660208907, 140217541338768, 8589934593, 
              140217667682304, 93997642881744, 757, 93997642885552, 140217541339440, 140217461786848, 140217652450316, 140217653549696, 140217653541800, 16, 
              140217653541800, 93997642881744}}, sa_flags = -129630208, sa_restorer = 0x557d881d1ad0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f86f7584f97 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x557d881d1ad0 "ino != persp->p_rootino || hardh == persp->p_rooth", 
    file=file@entry=0x557d881d21b3 "tree.c", line=line@entry=757, function=function@entry=0x557d881d29b0 <__PRETTY_FUNCTION__.7710> "tree_begindir") at assert.c:92
        str = 0x7f86ec0428d0 ""
        total = 4096
#3  0x00007f86f7585042 in __GI___assert_fail (assertion=assertion@entry=0x557d881d1ad0 "ino != persp->p_rootino || hardh == persp->p_rooth", 
    file=file@entry=0x557d881d21b3 "tree.c", line=line@entry=757, function=function@entry=0x557d881d29b0 <__PRETTY_FUNCTION__.7710> "tree_begindir") at assert.c:101
No locals.
#4  0x0000557d881bfe28 in tree_begindir (fhdrp=fhdrp@entry=0x7f86f0be2ab0, dahp=dahp@entry=0x7f86f0be2930) at tree.c:757
        hardh = 3
        ino = 100
        gen = 641334287
        dah = <optimized out>
        __PRETTY_FUNCTION__ = "tree_begindir"
#5  0x0000557d881b7735 in applydirdump (fileh=<optimized out>, fhdrp=0x7f86f0be2ab0, scrhdrp=<optimized out>, drivep=0x557d892590e0) at content.c:3086
        dirh = <optimized out>
        rv = <optimized out>
        dah = 4294967295
        _direntbuf = '\000' <repeats 12 times>, "\350\377\377\377\030", '\000' <repeats 31 times>, '%' <repeats 16 times>, '\000' <repeats 28 times>, "\003", '\000' <repeats 12 times>, "\373\244̘\340\245(\000\000\000\000\000\000\000\000\200\354=\210}U\000\000_\275\267$\376\177\000\000\000\020\000\000\000\000\000\000\000G\276\360\206\177\000\000\300I\276\360\206\177\000\000\000G\276\360\206\177\000\000T\f\032\210}U\000\000\020\000\000\000\060\000\000\000\300.\276\360\206\177\000\000\000.\276\360\206\177\000\000\000"...
        direntbuf = 0x7f86f0be2d30 ""
        direntbufsz = 288
        fhcs = 1
---Type <return> to continue, or q <return> to quit---
        dhcs = 1
        ahcs = 1
#6  content_stream_restore (thrdix=0) at content.c:2394
        fileh = 1025
        path1 = 0x7f86ec0008c0 ""
        drivep = 0x557d892590e0
        dcaps = <optimized out>
        grhdrp = 0x557d8926cbc0
        drhdrp = 0x557d8926cfc0
        mrhdrp = 0x557d8926d3c0
        crhdrp = 0x557d8926d7c0
        scrhdrp = 0x557d8926db00
        strctxp = <optimized out>
        fhdr = {fh_offset = 0, fh_flags = 2, fh_checksum = 647339865, fh_stat = {bs_ino = 100, bs_mode = 16889, bs_nlink = 206, bs_uid = 7225, bs_gid = 7225,
            bs_rdev = 0, bs_blksize = 4096, bs_size = 20480, bs_atime = {tv_sec = 1481609533, tv_nsec = 108989106}, bs_mtime = {tv_sec = 1481609532,
              tv_nsec = 299951426}, bs_ctime = {tv_sec = 1481609532, tv_nsec = 299951426}, bs_blocks = 9, bs_xflags = 2147483648, bs_extsize = 0, bs_extents = 5,
            bs_gen = 641334287, bs_projid_lo = 0, bs_forkoff = 0, bs_projid_hi = 0, bs_pad = "\000\000\000\000\000\000\000\000\000", bs_dmevmask = 0, bs_dmstate = 0,
            bs_pad1 = '\000' <repeats 17 times>}, fh_pad2 = '\000' <repeats 111 times>}
        lastdumprejectedid = '\000' <repeats 15 times>
        rv = <optimized out>
        ok = <optimized out>
        rval = 0
        __PRETTY_FUNCTION__ = "content_stream_restore"
#7  0x0000557d8819e5ae in childmain (arg1=0x0) at main.c:1448
        stix = 0
        exitcode = <optimized out>
        drivep = <optimized out>
#8  0x0000557d8818d667 in cldmgr_entry (arg1=0x557d883dec80 <cld>) at cldmgr.c:237
        __clframe = {__cancel_routine = 0x557d8818d5f0 <cldmgr_cleanup>, __cancel_arg = 0x557d883dec80 <cld>, __do_it = 1, __cancel_type = <optimized out>}
        cldp = 0x557d883dec80 <cld>
        tid = 140217541347072
#9  0x00007f86f7b385ca in start_thread (arg=0x7f86f0be4700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7f86f0be4700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140217541347072, -6918167759181411446, 140729514442079, 4096, 140217541347072, 140217541347776,
                6985182458676153226, 6985175882238561162}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#10 0x00007f86f765b0ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Comment 1 Jason Tibbitts 2017-01-03 21:20:35 UTC
Now that the holidays are over, I realized it would be super nice to be able to take a proper backup of my home directory, so I'm looking at this a bit.

One very interesting thing is that it's incredibly fast to reproduce because xfsrestore fails after reading a rather small amount of the dump.  The other thing is that I suspect that if I knew a little more about how to look things up by inode, I could figure out exactly what bit of the filesystem it doesn't like.    Given below output, there are only a handful of inode numbers I need to look at.  And for me, right now, just deleting the offending content so that the backups start working would be good enough.

ἐπιθυμία:~❯ sudo xfsdump -v trace -J -F -l 0 - /dev/mapper/home-h--tibbs | xfsrestore -v trace -t -
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.6 (dump format 3.0)
xfsrestore: searching media for dump
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.6 (dump format 3.0)
xfsdump: saving user quota information for: /home/tibbs
xfsdump: WARNING: overwriting: /home/tibbs/xfsdump_quotas
xfsdump: level 0 dump of epithumia.math.uh.edu:/home/tibbs
xfsdump: dump date: Tue Jan  3 15:16:22 2017
xfsdump: session id: 4ec935f8-74d7-401f-a6af-0d45ac3ab01f
xfsdump: session label: ""
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: failed to get valid bulkstat information for inode 3974595
xfsdump: failed to get valid bulkstat information for inode 270000756
xfsdump: failed to get valid bulkstat information for inode 332855608
xfsdump: failed to get valid bulkstat information for inode 332855611
xfsdump: failed to get valid bulkstat information for inode 539357835
xfsdump: failed to get valid bulkstat information for inode 539357838
xfsdump: failed to get valid bulkstat information for inode 539357839
xfsdump: failed to get valid bulkstat information for inode 557450043
xfsdump: failed to get valid bulkstat information for inode 557450045
xfsdump: failed to get valid bulkstat information for inode 557450097
xfsdump: failed to get valid bulkstat information for inode 557450098
xfsdump: failed to get valid bulkstat information for inode 557450099
xfsdump: failed to get valid bulkstat information for inode 557450100
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 220025287808 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsrestore: examining media file 0
xfsrestore: file 0 in object 0 of stream 0
xfsrestore: file 0 in stream, file 0 of dump 0 on object
xfsrestore: dump description: 
xfsrestore: hostname: epithumia.math.uh.edu
xfsrestore: mount point: /home/tibbs
xfsrestore: volume: /dev/mapper/home-h--tibbs
xfsrestore: session time: Tue Jan  3 15:16:22 2017
xfsrestore: level: 0
xfsrestore: session label: ""
xfsrestore: media label: ""
xfsrestore: file system id: 39f918ac-631f-4204-aa0f-a7914d86cda9
xfsrestore: session id: 4ec935f8-74d7-401f-a6af-0d45ac3ab01f
xfsrestore: media id: 7127744e-a930-4b74-8159-f752a1af0f79
xfsrestore: searching media for directory dump
xfsrestore: dump session label: ""
xfsrestore: dump session id: 4ec935f8-74d7-401f-a6af-0d45ac3ab01f
xfsrestore: stream 0, object 0, file 0
xfsrestore: initializing directory attributes registry
xfsrestore: initializing directory entry name registry
xfsrestore: initializing directory hierarchy image
xfsrestore: reading directories
xfsrestore: reading the ino map
xfsdump: dumping directories
xfsdump: dumping directory ino 96
xfsdump: dumping directory ino 100
xfsdump: dumping directory ino 111
xfsdump: dumping directory ino 112
xfsdump: dumping directory ino 113
xfsdump: dumping directory ino 114
xfsdump: dumping directory ino 115
xfsdump: dumping directory ino 116
xfsdump: dumping directory ino 117
xfsdump: dumping directory ino 118
xfsdump: dumping directory ino 119
xfsdump: dumping directory ino 120
xfsdump: dumping directory ino 121
xfsdump: dumping directory ino 122
xfsdump: dumping directory ino 123
xfsdump: dumping directory ino 124
xfsdump: dumping directory ino 125
xfsdump: dumping directory ino 126
xfsdump: dumping directory ino 127
xfsdump: dumping directory ino 128
xfsdump: dumping directory ino 129
xfsdump: dumping directory ino 130
xfsdump: dumping directory ino 131
xfsdump: dumping directory ino 132
xfsdump: dumping directory ino 133
xfsdump: dumping directory ino 134
xfsdump: dumping directory ino 135
xfsdump: dumping directory ino 136
xfsdump: dumping directory ino 137
xfsdump: dumping directory ino 138
xfsdump: dumping directory ino 139
xfsdump: dumping directory ino 140
xfsdump: dumping directory ino 141
xfsdump: dumping directory ino 142
xfsdump: dumping directory ino 143
xfsdump: dumping directory ino 144
xfsdump: dumping directory ino 145
xfsdump: dumping directory ino 146
xfsdump: dumping directory ino 147
xfsdump: dumping directory ino 148
xfsdump: dumping directory ino 149
xfsdump: dumping directory ino 150
xfsdump: dumping directory ino 151
xfsdump: dumping directory ino 152
xfsdump: dumping directory ino 153
xfsdump: dumping directory ino 154
xfsdump: dumping directory ino 155
xfsdump: dumping directory ino 156
xfsdump: dumping directory ino 157
xfsdump: dumping directory ino 158
xfsdump: dumping directory ino 159
xfsdump: dumping directory ino 160
xfsdump: dumping directory ino 161
xfsdump: dumping directory ino 162
xfsdump: dumping directory ino 163
xfsdump: dumping directory ino 164
xfsdump: dumping directory ino 165
xfsdump: dumping directory ino 166
xfsdump: dumping directory ino 167
xfsdump: dumping directory ino 168
xfsdump: dumping directory ino 169
xfsdump: dumping directory ino 170
xfsdump: dumping directory ino 171
xfsdump: dumping directory ino 172
xfsdump: dumping directory ino 173
xfsdump: dumping directory ino 174
xfsdump: dumping directory ino 175
xfsdump: dumping directory ino 176
xfsdump: dumping directory ino 177
xfsdump: dumping directory ino 178
xfsdump: dumping directory ino 179
xfsdump: dumping directory ino 180
xfsdump: dumping directory ino 184
xfsdump: dumping directory ino 186
xfsdump: dumping directory ino 191
xfsdump: dumping directory ino 193
xfsdump: dumping directory ino 197
xfsdump: dumping directory ino 199
xfsdump: dumping directory ino 203
xfsdump: dumping directory ino 207
xfsdump: dumping directory ino 209
xfsdump: dumping directory ino 211
xfsdump: dumping directory ino 215
xfsdump: dumping directory ino 217
xfsdump: dumping directory ino 220
xfsdump: dumping directory ino 223
xfsdump: dumping directory ino 322
xfsdump: dumping directory ino 326
xfsdump: dumping directory ino 329
xfsdump: dumping directory ino 334
xfsdump: dumping directory ino 337
xfsdump: dumping directory ino 339
xfsdump: dumping directory ino 341
xfsdump: dumping directory ino 346
xfsdump: dumping directory ino 351
xfsdump: dumping directory ino 353
xfsdump: dumping directory ino 359
xfsdump: dumping directory ino 361
xfsdump: dumping directory ino 363
xfsdump: dumping directory ino 368
xfsdump: dumping directory ino 372
xfsdump: dumping directory ino 376
xfsdump: dumping directory ino 379
xfsdump: dumping directory ino 383
xfsdump: dumping directory ino 417
xfsdump: dumping directory ino 419
xfsdump: dumping directory ino 421
xfsdump: dumping directory ino 424
xfsdump: dumping directory ino 427
xfsdump: dumping directory ino 429
xfsdump: dumping directory ino 431
xfsdump: dumping directory ino 433
xfsdump: dumping directory ino 443
xfsdump: dumping directory ino 467
xfsdump: dumping directory ino 567
xfsdump: dumping directory ino 597
xfsdump: dumping directory ino 778
xfsdump: dumping directory ino 792
xfsdump: dumping directory ino 799
xfsdump: dumping directory ino 803
xfsdump: dumping directory ino 804
xfsdump: dumping directory ino 819
xfsdump: dumping directory ino 825
xfsdump: dumping directory ino 826
xfsdump: dumping directory ino 1368
xfsdump: dumping directory ino 1373
xfsdump: dumping directory ino 172306
xfsdump: dumping directory ino 172307
xfsdump: dumping directory ino 172308
xfsdump: dumping directory ino 172310
xfsdump: dumping directory ino 172311
xfsdump: dumping directory ino 173096
xfsdump: dumping directory ino 173113
xfsdump: dumping directory ino 173146
xfsdump: dumping directory ino 175997
xfsdump: dumping directory ino 175999
xfsdump: dumping directory ino 176004
xfsdump: dumping directory ino 176019
xfsdump: dumping directory ino 207977
xfsdump: dumping directory ino 207979
xfsdump: dumping directory ino 207984
xfsdump: dumping directory ino 207987
xfsrestore: reading the directories 
xfsrestore: directory 96 0 (0): new
xfsdump: dumping directory ino 208013
xfsrestore: tree.c:757: tree_begindir: Assertion `ino != persp->p_rootino || hardh == persp->p_rooth' failed.
xfsdump: dumping directory ino 209349
xfsdump: dumping directory ino 209370
xfsdump: dumping directory ino 209387
xfsdump: dumping directory ino 209404
xfsdump: dumping directory ino 210960
xfsdump: dumping directory ino 210963
xfsdump: dumping directory ino 210968
xfsdump: dumping directory ino 211206
xfsdump: dumping directory ino 211213
xfsdump: dumping directory ino 211214
xfsdump: dumping directory ino 211215
xfsdump: dumping directory ino 211221
xfsdump: dumping directory ino 211225
xfsdump: dumping directory ino 244899
xfsdump: dumping directory ino 244901
xfsdump: dumping directory ino 244902
xfsdump: dumping directory ino 244952
xfsdump: dumping directory ino 266978
xfsdump: dumping directory ino 266980
xfsdump: dumping directory ino 266981
xfsdump: dumping directory ino 266984
xfsdump: dumping directory ino 266988
xfsdump: dumping directory ino 266989
xfsdump: dumping directory ino 266990
xfsdump: dumping directory ino 266991
xfsdump: dumping directory ino 266992
xfsdump: dumping directory ino 266993
xfsdump: dumping directory ino 266994
xfsdump: dumping directory ino 266996
xfsdump: dumping directory ino 266997
xfsdump: dumping directory ino 267003
xfsdump: dumping directory ino 267004
xfsdump: dumping directory ino 267005
xfsdump: dumping directory ino 267006
xfsdump: dumping directory ino 267034
xfsdump: dumping directory ino 279055
xfsdump: dumping directory ino 279056
xfsdump: dumping directory ino 279063
xfsdump: dumping directory ino 279064
xfsdump: dumping directory ino 279067
xfsdump: dumping directory ino 279072
xfsdump: dumping directory ino 284136
xfsdump: dumping directory ino 284137
xfsdump: dumping directory ino 284138
xfsdump: dumping directory ino 284139
xfsdump: dumping directory ino 284140
xfsdump: dumping directory ino 284141
xfsdump: dumping directory ino 284142
xfsdump: dumping directory ino 284143
xfsdump: dumping directory ino 284144
xfsdump: dumping directory ino 284145
xfsdump: dumping directory ino 284146
xfsdump: dumping directory ino 284147
xfsdump: dumping directory ino 284148
xfsdump: dumping directory ino 284149
xfsdump: dumping directory ino 284150
xfsdump: dumping directory ino 284151
xfsdump: dumping directory ino 284152
xfsdump: dumping directory ino 284153
xfsdump: dumping directory ino 284154
xfsdump: dumping directory ino 284155
xfsdump: dumping directory ino 284156
xfsdump: dumping directory ino 284157
xfsdump: dumping directory ino 284158
xfsdump: dumping directory ino 284159
xfsdump: dumping directory ino 1656907
xfsdump: dumping directory ino 1656929
xfsdump: dumping directory ino 1656932
xfsdump: dumping directory ino 1656992
xfsdump: dumping directory ino 1656994
xfsdump: dumping directory ino 1656996
xfsdump: dumping directory ino 1656998
xfsdump: dumping directory ino 1657000
xfsdump: dumping directory ino 1657003
xfsdump: dumping directory ino 1657005
xfsdump: dumping directory ino 1657007
xfsdump: dumping directory ino 1657010
xfsdump: dumping directory ino 1657012
xfsdump: dumping directory ino 1657055
xfsdump: dumping directory ino 1657099
xfsdump: dumping directory ino 1657106
xfsdump: dumping directory ino 1657138
xfsdump: dumping directory ino 1657148
xfsdump: dumping directory ino 1657151
xfsdump: dumping directory ino 1657188
xfsdump: dumping directory ino 1657193
xfsdump: dumping directory ino 1657201
xfsdump: dumping directory ino 1657203
xfsdump: dumping directory ino 1657208
xfsdump: dumping directory ino 1657224
xfsdump: dumping directory ino 1657225
xfsdump: dumping directory ino 1657241
xfsdump: dumping directory ino 1657245
xfsdump: dumping directory ino 1657286
xfsdump: dumping directory ino 1657289
xfsdump: dumping directory ino 1657293
xfsdump: dumping directory ino 1657299
xfsdump: dumping directory ino 1657315
xfsdump: dumping directory ino 1657373
xfsdump: dumping directory ino 1657380
xfsdump: dumping directory ino 1657385
xfsdump: dumping directory ino 1657396
xfsdump: dumping directory ino 1657445
xfsdump: dumping directory ino 1657459
xfsdump: dumping directory ino 1657476
xfsdump: dumping directory ino 1657546
xfsdump: dumping directory ino 1657556
xfsdump: dumping directory ino 1657561
xfsdump: dumping directory ino 1657575
xfsdump: dumping directory ino 1657578
xfsdump: dumping directory ino 1657634
xfsdump: dumping directory ino 1657635
xfsdump: dumping directory ino 1657637
xfsdump: dumping directory ino 1657639
xfsdump: dumping directory ino 1657641
xfsdump: dumping directory ino 1657651
xfsdump: dumping directory ino 1657653
xfsdump: dumping directory ino 1657663
xfsdump: dumping directory ino 1657668
xfsdump: dumping directory ino 1657676
xfsdump: dumping directory ino 1657684
xfsdump: dumping directory ino 1657694
xfsdump: dumping directory ino 1657758
xfsdump: dumping directory ino 1657792
xfsdump: dumping directory ino 1657799
xfsdump: dumping directory ino 1657806
xfsdump: dumping directory ino 1657813
xfsdump: dumping directory ino 1657819
xfsdump: dumping directory ino 1657820
xfsdump: dumping directory ino 1657894
xfsdump: dumping directory ino 1657898
xfsdump: dumping directory ino 1657905
xfsdump: dumping directory ino 1657950
xfsdump: dumping directory ino 1657997
xfsdump: dumping directory ino 1657998
xfsdump: dumping directory ino 1658002
xfsdump: dumping directory ino 1658004
xfsdump: dumping directory ino 1658006
xfsdump: dumping directory ino 1658020
xfsdump: dumping directory ino 1658024
xfsdump: dumping directory ino 1658059
xfsdump: dumping directory ino 1658061
xfsdump: dumping directory ino 1658075
xfsdump: dumping directory ino 1658086
xfsdump: dumping directory ino 1658088
xfsdump: dumping directory ino 1658091
xfsdump: dumping directory ino 1658178
xfsdump: dumping directory ino 1658184
xfsdump: dumping directory ino 1658187
xfsdump: dumping directory ino 1658204
xfsdump: dumping directory ino 1658280
xfsdump: dumping directory ino 1658289
xfsdump: dumping directory ino 1658318
xfsdump: dumping directory ino 1658322
xfsdump: dumping directory ino 1658324
xfsdump: dumping directory ino 1658326
xfsdump: dumping directory ino 1658385
xfsdump: dumping directory ino 1658391
xfsdump: dumping directory ino 1658392
xfsdump: dumping directory ino 1658394
xfsdump: dumping directory ino 1658396
xfsdump: dumping directory ino 1658409
xfsdump: dumping directory ino 1658410
xfsdump: dumping directory ino 1658412
xfsdump: dumping directory ino 1658416
xfsdump: dumping directory ino 1658417
xfsdump: dumping directory ino 1658422
xfsdump: dumping directory ino 1658427
xfsdump: dumping directory ino 1681724
xfsdump: dumping directory ino 1681725
xfsdump: dumping directory ino 1681953
xfsdump: dumping directory ino 1681962
xfsdump: dumping directory ino 1681986
xfsdump: dumping directory ino 1681993
xfsdump: dumping directory ino 1682014
xfsdump: dumping directory ino 1682049
xfsdump: dumping directory ino 1682057
xfsdump: dumping directory ino 1682060
xfsdump: dumping directory ino 1682084
xfsdump: dumping directory ino 1682089
xfsdump: dumping directory ino 1682091
xfsdump: dumping directory ino 1682092
xfsdump: dumping directory ino 1682153
xfsdump: dumping directory ino 1682162
xfsdump: dumping directory ino 1682170
xfsdump: dumping directory ino 1682173
xfsdump: dumping directory ino 1682175
xfsdump: dumping directory ino 1682177
xfsdump: dumping directory ino 1682179
xfsdump: dumping directory ino 1682246
xfsdump: dumping directory ino 1682256
xfsdump: dumping directory ino 1682258
xfsdump: dumping directory ino 1682305
xfsdump: dumping directory ino 1682313
xfsdump: dumping directory ino 1682323
xfsdump: dumping directory ino 1682360
xfsdump: dumping directory ino 1682385
xfsdump: dumping directory ino 1682386
xfsdump: dumping directory ino 1682389
xfsdump: dumping directory ino 1682398
xfsdump: ending media file
xfsdump: media file size 851968 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: NOTE: dump interrupted: 0 seconds elapsed
xfsdump: Dump Status: INTERRUPT
[1]    23899 done                 sudo xfsdump -v trace -J -F -l 0 - /dev/mapper/home-h--tibbs |
       23900 abort (core dumped)  xfsrestore -v trace -t -

Comment 2 Eric Sandeen 2017-01-04 00:29:02 UTC
Ok, thank you for the excellent debugging info on IRC!

Here's a simple reproducer:

# mkfs.xfs -dfile,name=fsfile,size=16g
# mkdir mnt
# mount -o loop fsfile mnt
# mkdir -p mnt/dir
# mkdir -p mnt2/dir
# mount -o bind mnt/dir mnt2/dir
# xfsdump -v trace -J -F -l 0 -  `pwd`/mnt2/dir | xfsdump/restore/xfsrestore -v trace -t - 
...
xfsrestore: tree.c:759: tree_begindir: Assertion `ino != persp->p_rootino || hardh == persp->p_rooth' failed.
#

Comment 3 Eric Sandeen 2017-01-04 00:30:24 UTC
IOWs, the critical condition is to be dumping a mountpoint which is a bind mount of a subdir of another filesystem...

Comment 4 Jason Tibbitts 2017-01-04 01:14:24 UTC
For the record, one interesting bit is that it doesn't matter which path you give to xfsdump.  Both fail in the same way:

xfsdump -J -l 0 - /tmp/mnt/dir | xfsrestore -t -
xfsdump -J -l 0 - /tmp/mnt2/dir | xfsrestore -t -

So the mere presence of a bind mount can mess up an attempt to back up a filesystem, even if you're not referencing the bind mount in any way.

Comment 5 Eric Sandeen 2017-01-04 16:48:24 UTC
Jason, when you are logged in and /export/h-tibbs is bind-mounted onto /home/tibbs, and your xfsdump | xfsrestore test is failing, can you provide the /proc/mounts at that point (and /etc/mtab if it is different?)

Thanks,
-Eric

Comment 6 Jason Tibbitts 2017-01-04 19:20:12 UTC
Right now, for whatever reason, my machine is in a state where it now won't exhibit this problem.  Probably because of all of the mounting and unmounting and filesystem renaming and such I've done, some table or hash chain in the kernel is organized such that bind mounts I make show up later in the mount list than the "real" mount.  The other, problematic behavior has been the usual for me since I installed this system originally, through reboots and an OS version upgrade, so I expect it will come back when I next reboot.  I'm going to hold off on that until I can verify that I get one good backup of this machine, which unfortunately didn't happen last night because I screwed something up during testing.  Hopefully tonight, and then I can reboot and test more tomorrow.

Comment 7 Fedora End Of Life 2017-07-26 00:05:40 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 8 Fedora End Of Life 2017-08-08 19:27:23 UTC
Fedora 24 changed to end-of-life (EOL) status on 2017-08-08. Fedora 24 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.