Bug 2348433 - Either dump is corrupting its output file, or restore is having trouble reading it
Summary: Either dump is corrupting its output file, or restore is having trouble readi...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dump
Version: 41
Hardware: Unspecified
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Jeff Makey
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-02-26 19:29 UTC by Michael Carney
Modified: 2025-05-24 21:25 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-05-24 21:25:56 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michael Carney 2025-02-26 19:29:42 UTC
I tried to use restore (dump-0.4-0.57.b47.fc41) to recover from a data loss and encountered a failure:

restore > add .thunderbird
restore > extract
You have not read any volumes yet.
Unless you know which volume your file(s) are on you should start
with the last volume and work towards the first.
Specify next volume # (none if no more volumes): 1
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Invalid argument
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
restore: <name unknown>: ftruncate: Bad file descriptor
set owner/mode for '.'? [yn] y

In this instance, thunderbird was unable to recover the data. Either dump is silently corrupting its output data files, or restore is failing to properly restore the data. Both cases are serious problems. Every partition that I attempted to recover using restore had some number of these ftruncate errors.

Reproducible: Always

Steps to Reproduce:
1. Dump a partition
2. Try to restore files from dump file.
3. Observe error messages and lost data
Actual Results:  
Failure to restore files "successfully" dumped by dump-0.4-0.57.b47.fc41. Numerous ftruncate errors; a mixture of "Invalid argument" and "Bad file descriptor". Restored data was actually corrupted.

Expected Results:  
ext4 file system dumps created successfully by dump-0.4-0.57.b47.fc4 should likewise be successfully restored by same.

Comment 1 Jeff Makey 2025-05-24 21:25:56 UTC
https://bodhi.fedoraproject.org/updates/FEDORA-2025-fdb62495b9 has been pushed to the Fedora 41 stable repository.
If the problem still persists, please make note of it in this bug report.


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