bug-parted
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Verbatim USB $GB drive crashes libparted


From: Fred Finster
Subject: Re: Verbatim USB $GB drive crashes libparted
Date: Fri, 4 Mar 2011 23:38:47 -0800 (PST)

My letter  March 4, 2011

Mr.  Brian Lane, thanks for your efforts in updating "parted" to deal with
these new Bone Headed USB Flash disks with the "different" FAT32 tables.
Yes, I can overwrite present fat32 table with zeros and then create a new FAT32 partition table as detailed in a past email message.
http://www.mail-archive.com/address@hidden/msg03310.html


Quote "
re-formatting the device will solve this. The problem is that you cannot
have > 63 heads, but some flash drives appear to have factory formats
that break this rule.
End Quote"

When this brand new 4GB Verbatim USB Flash disk, error out from using gparted version 1.8 on the recent 5.20 puppylinux http://www.puppylinux.org , I wanted to compile the latest version of parted 2.3 to see if it the coding that you added could deal with the broken/bad/boneheaded FAT32 partition table and at least print out the CHS figures,  then be able to delete that partition, and create a new replacement partition that was more sane.   Basically test "parted" on some Bad Fat Table Data.

I pass on my test answers to you directly,  I will also work at posting them to the mailing list too.    Yes,  I realize that I might have compiled the wrong source files or made some other simple linking wrong library mistake, such that my compiled "parted" is broken and not working but that your testing "parted" works correctly as you wish it to, with a BAD FAT32 partition table.

So below find my results.   Read them with a grain of salt.  I might have created the erroneous results.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kliktel-Mint parted # ./parted
GNU Parted 2.3.85-dff6
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) version                                                         

GNU Parted 2.3.85-dff6

Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

(parted) select /dev/sda                                                 
Using /dev/sda
(parted) print                                                           
Model: ATA ST340014A (scsi)
Disk /dev/sda: 40.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  15.7GB  15.7GB  primary   ext3
 3      15.7GB  19.2GB  3488MB  primary   ext3            boot
 2      19.2GB  40.0GB  20.8GB  extended
 6      19.2GB  37.6GB  18.4GB  logical   ext4            boot
 7      37.6GB  38.5GB  847MB   logical   linux-swap(v1)
 5      38.5GB  40.0GB  1530MB  logical   linux-swap(v1)

(parted) select /dev/sdc
Using /dev/sdc
(parted) print                                                           
Model:   (scsi)
Disk /dev/sdc: 128MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      16.4kB  128MB  128MB  primary  fat16        boot

(parted) select /dev/sdb                                                 
Using /dev/sdb
(parted) print                                                           
Backtrace has 14 calls on stack:
  14: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0(ped_assert+0x2a) [0xabf88a]
  13: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xaf57a7]
  12: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xaf65d7]
  11: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xaf787c]
  10: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xac4171]
  9: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0(ped_disk_add_partition+0x292) [0xac7a32]
  8: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xaf92c5]
  7: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xaf94cf]
  6: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0(ped_disk_new+0x75) [0xac87e5]
  5: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted [0x804e3f8]
  4: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted(interactive_mode+0x11a) [0x80560ea]
  3: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted(main+0x9c) [0x805308c]
  2: /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x531b56]
  1: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted [0x804c441]
                                                                         

You found a bug in GNU Parted! Here's what you have to do:

Don't panic! The bug has most likely not affected any of your data.
Help us to fix this bug by doing the following:

Check whether the bug has already been fixed by checking
the last version of GNU Parted that you can find at:

    http://ftp.gnu.org/gnu/parted/

Please check this version prior to bug reporting.

If this has not been fixed yet or if you don't know how to check,
please visit the GNU Parted website:

    http://www.gnu.org/software/parted

for further information.

Your report should contain the version of this release (2.3.85-dff6)
along with the error message below, the output of

    parted DEVICE unit co print unit s print

and the following history of commands you entered.
Also include any additional information about your setup you
consider important.

Assertion (head_size <= 63) at dos.c:736 in function probe_partition_for_geom()
failed.

Aborted
Kliktel-Mint parted #
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I attached the dd created file of the partition table.

dd if=/dev/sdb  of=bad_gparted_16  bs=512  count=16

Yes,  I know that count only needed to be 1 (one)  512 byte block of binary data,  yet  maybe there is more to see if write 16  (sixteen) 512 byte blocks of binary data?    I felt/thought you could write this 16 block binary data to the beginning of your test device partition table.   Then run your version of "parted" to see if parted works on this /bad/boneheaded  data.

Yes,  I realize that I could zero out the first 512 bytes of the flash partition table and then go on about my business of creating a new partition.
Right now I just wanted to test and see that the latest version of "parted" could work with the BAD data through print statements, then DELETE the BAD partition table,  last create a new partition table.

I hope this was not too wordy,  Brian.

Fred Finster   WB7ODYfred
~~~~~~~~~~~~~~~~~~~~~~~
Here was my  git command and the following build commands
git clone git://git.debian.org/git/parted/parted.git
./bootstrap
./configure       --disable-device-mapper          selected  from message http://osdir.com/ml/bug-parted-gnu/2010-03/msg00003.html
make
make check  ( I forgot to run as 'root',  so only 14 of the 30 tests passed ).
cd parted/parted
./parted

~~~~~~~~~~~~~~~~~~~~~~
A webpage describing creating GPT partitions using parted.
Included as notes for a future need.

I will test more this weekend.   Whatever information you need send me an email  to  address@hidden    I probably forgot to include some detail.

Thanks again for your efforts,  Brian

Fred Finster  WB7ODY

~~~~~~~~~~~~~~~~~~~~~~ RE-RUN of parted tests on 3 different devices.
address@hidden ~/Downloads/gparted/parted/parted $ su root
Password:
 ________________________________________
/ Your lucky number is 3552664958674928. \
\ Watch for it everywhere.               /
 ----------------------------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/

Kliktel-Mint parted # ./parted /dev/sdb unit co print unit s print
Backtrace has 14 calls on stack:
  14: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0(ped_assert+0x2a) [0xedf88a]
  13: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xf157a7]
  12: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xf165d7]
  11: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xf1787c]
  10: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xee4171]
  9: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0(ped_disk_add_partition+0x292) [0xee7a32]
  8: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xf192c5]
  7: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0 [0xf194cf]
  6: /home/fredf/Downloads/gparted/parted/libparted/.libs/libparted.so.0(ped_disk_new+0x75) [0xee87e5]
  5: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted [0x804e3f8]
  4: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted(non_interactive_mode+0x85) [0x8054c85]
  3: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted(main+0x6d) [0x805305d]
  2: /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x690b56]
  1: /home/fredf/Downloads/gparted/parted/parted/.libs/lt-parted [0x804c441]
                                                                         

You found a bug in GNU Parted! Here's what you have to do:

Don't panic! The bug has most likely not affected any of your data.
Help us to fix this bug by doing the following:

Check whether the bug has already been fixed by checking
the last version of GNU Parted that you can find at:

    http://ftp.gnu.org/gnu/parted/

Please check this version prior to bug reporting.

If this has not been fixed yet or if you don't know how to check,
please visit the GNU Parted website:

    http://www.gnu.org/software/parted

for further information.

Your report should contain the version of this release (2.3.85-dff6)
along with the error message below, the output of

    parted DEVICE unit co print unit s print

and the following history of commands you entered.
Also include any additional information about your setup you
consider important.

Assertion (head_size <= 63) at dos.c:736 in function probe_partition_for_geom()
failed.

Aborted
Kliktel-Mint parted #

Kliktel-Mint parted # ./parted /dev/sdc unit co print unit s print
Model:   (scsi)
Disk /dev/sdc: 128MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      16.4kB  128MB  128MB  primary  fat16        boot

Model:   (scsi)
Disk /dev/sdc: 250880s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End      Size     Type     File system  Flags
 1      32s    250879s  250848s  primary  fat16        boot

Kliktel-Mint parted #
Kliktel-Mint parted # ./parted /dev/sda unit co print unit s print
Model: ATA ST340014A (scsi)
Disk /dev/sda: 40.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  15.7GB  15.7GB  primary   ext3
 3      15.7GB  19.2GB  3488MB  primary   ext3            boot
 2      19.2GB  40.0GB  20.8GB  extended
 6      19.2GB  37.6GB  18.4GB  logical   ext4            boot
 7      37.6GB  38.5GB  847MB   logical   linux-swap(v1)
 5      38.5GB  40.0GB  1530MB  logical   linux-swap(v1)

Model: ATA ST340014A (scsi)
Disk /dev/sda: 78125000s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start      End        Size       Type      File system     Flags
 1      63s        30716279s  30716217s  primary   ext3
 3      30716280s  37527839s  6811560s   primary   ext3            boot
 2      37527840s  78124094s  40596255s  extended
 6      37527966s  73481309s  35953344s  logical   ext4            boot
 7      73481373s  75136004s  1654632s   logical   linux-swap(v1)
 5      75136068s  78124094s  2988027s   logical   linux-swap(v1)

Kliktel-Mint parted #

Kliktel-Mint parted # fdisk -l -u /dev/sdb

Disk /dev/sdb: 3918 MB, 3918495744 bytes
10 heads, 10 sectors/track, 76533 cylinders, total 7653312 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xc3072e18

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            8064     7653311     3822624    c  W95 FAT32 (LBA)
Kliktel-Mint parted #













Attachment: bad_gparted_16
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]