glibc error during resize2fs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
e2fsprogs (Fedora) |
Fix Released
|
High
|
|||
glibc (Ubuntu) |
Fix Released
|
Medium
|
Jeff Bailey |
Bug Description
After trying to resize a filesystem with resize2fs an error pops up, although
the filesystem was resized the error seemed to abort the procedure. The command
was done in slax 5.0.6 to be done on an ext3 partition hosting Ubuntu Breezy.
[code]
Filesystem Size Used Avail Use% Mounted on
tmpfs 371M 177M 194M 48% /
/dev/hda1 40G 4.8G 36G 12% /mnt/hda1
/dev/hda2 6.1G 2.3G 3.5G 40% /mnt/hda2
/dev/hda4 94G 33G 61G 36% /mnt/hda4
root@slax:~# resize2fs /dev/hda2
resize2fs 1.35 (28-Feb-2004)
/dev/hda2 is mounted; can't resize a mounted filesystem!
root@slax:~# umount /dev/hda2
root@slax:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 371M 177M 194M 48% /
/dev/hda1 40G 4.8G 36G 12% /mnt/hda1
/dev/hda4 94G 33G 61G 36% /mnt/hda4
root@slax:~# resize2fs /dev/hda2
resize2fs 1.35 (28-Feb-2004)
Please run 'e2fsck -f /dev/hda2' first.
root@slax:~# e2fsck -f /dev/hda2
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
UBUNTU: 95608/1636352 files (2.8% non-contiguous), 2606973/6538455 blocks
root@slax:~# resize2fs /dev/hda2
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/hda2 to 15759764 (1k) blocks.
*** glibc detected *** double free or corruption (!prev): 0x080526a0 ***
Aborted
root@slax:~# mount /dev/hda2
root@slax:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 371M 177M 194M 48% /
/dev/hda1 40G 4.8G 36G 12% /mnt/hda1
/dev/hda4 94G 33G 61G 36% /mnt/hda4
/dev/hda2 15G 2.3G 12G 17% /mnt/hda2
root@slax:~# e2fsck -f /dev/hda2
e2fsck 1.35 (28-Feb-2004)
/dev/hda2 is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.
Do you really want to continue (y/n)? no
check aborted.
root@slax:~# umount /dev/hda2
root@slax:~# e2fsck -f /dev/hda2
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
UBUNTU: 95608/3940352 files (2.8% non-contiguous), 2995737/15759764 blocks
root@slax:~#
[/code]
Changed in e2fsprogs: | |
status: | Unknown → Rejected |
Changed in e2fsprogs: | |
status: | Rejected → Fix Released |
Changed in e2fsprogs (Fedora): | |
importance: | Unknown → High |
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2)
Gecko/20040809
Description of problem:
Taking a 98176-blocks long ext3 filesystem formatted to hold the /boot
device of an FC3-re0915.1 install, after a clean fsck, and attempting
to resize it to 50M, causes glibc to print a double-free error message
and abort the resize. The filesystem may be corrupted after this, but
fsck can easily fix it. No file corruption was detected. Growing the
filesystem to the original size produces the same problem.
I've experienced this with the old /boot filesystem of an FC2 install
as well, so I don't think it's extremely sensitive to filesystem
contents. I haven't had the guts to try it on bigger filesystems.
Version-Release number of selected component (if applicable):
e2fsprogs-1.35-9.5 glibc-2.3.3-53
How reproducible:
Always
Steps to Reproduce: holding/ boot of=/tmp/boot.img
1.umount /boot
2.dd if=/dev/
3.mount /boot
4.e2fsck -f /tmp/boot.img
5.resize2fs /tmp/boot.img 50M
Actual Results: resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /tmp/boot.img to 51200 (1k) blocks.
*** glibc detected *** double free or corruption: 0x08218d68 ***
Aborted
Expected Results: It used to work
Additional info:
After resize2fs crashes, here's what I get:
# e2fsck -f /tmp/boot.img
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: -(6294--6549) -(6744--6999)
Fix<y>? yes
Free blocks count wrong for group #0 (431, counted=943).
Fix<y>? yes
Free blocks count wrong (40637, counted=41149).
Fix<y>? yes
/tmp/boot.img: ***** FILE SYSTEM WAS MODIFIED *****
/tmp/boot.img: 36/14336 files (5.6% non-contiguous), 10051/51200 blocks
[root@fri ~]# resize2fs /tmp/boot.img
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /tmp/boot.img to 98176 (1k) blocks.
*** glibc detected *** double free or corruption: 0x094c3d68 ***
Aborted
[root@fri ~]# e2fsck -f /tmp/boot.img
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Group 7's inode table at 57349 conflicts with some other fs block.
Relocate<y>? yes
Group 7's inode table at 57350 conflicts with some other fs block.
Relocate<y>? yes
Group 7's inode table at 57351 conflicts with some other fs block.
Relocate<y>?
[...]