Ubiquity partitioning: default gives: "Invalid Size" [OK] button; requires xkill!
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
partman-partitioning (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Hardy |
Fix Released
|
Undecided
|
Unassigned | ||
ubiquity (Ubuntu) |
Fix Released
|
High
|
Evan | ||
Hardy |
Fix Released
|
High
|
Evan |
Bug Description
Binary package hint: ubiquity
Starting installer (ubiquity) from Hardy Heron Alpha5 (AMD64) on an Opteron system with 2 SATA disks
(320GiB each). Selecting defaults for all screens up to the partitioning step and selecting the default
on that screen: "Guided - resize SCSI1 (0,0,0), partition #1 (sda) and use freed space" (followed by a line
reading: "New partition size: /dev/sd... 12% (8...| Ubuntu 8.04 88% 6.6GB)"(*)
* (Note: resizing that window shows the first part of the "termometer graph" to read: /dev/sda1 12% 90x.xMB"
where the x.x varies as you resize, from ~903.? up to about 909.9MB; that's a bug in its own right, the
size of the proposed partition can't reasonably be related to the size of the dialog box describing it!)
Selecting [Forward] from this point results in an error dialog with title: "Invalid size" and contents reading: "Invalid size" and an [OK] button. (No, it's not "Okay"). Choosing [OK] or the title bar [X] buttons simply
redraws a new, identical window (recentered and resized if you moved the error dialog around).
You are now in an endless loop. (I used xkill from a terminal window to kill and restart ubiquity).
Presumably this happens because of something odd in my existing partitions. I'm guessing it's
trying to move (and preserve the contents of) one partition. Here's fdisk -l output:
root@ubuntu:~# fdisk -l
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x83491957
Device Boot Start End Blocks Id System
/dev/sda1 1 974 7823623+ 83 Linux
Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
The one partition, /dev/sda1, actually is just a temporary partition I used to download the alpha5 ISO image before transferring it to a USB thumb drive ... to burn on another machine and complete the install (Yay for more bandwidth at work than at home. NOT!)
Other bugs:
* xkill ubquity leaves a number of partman processes still running. I had to separately use the following command to clean up the mess: ps wax | grep pa[r]t | while read p x; do kill "$p"; done
7151 ? S 0:00 /bin/sh /lib/partman/
7154 ? S 0:00 /bin/sh /lib/partman/
7156 ? S 0:00 /bin/sh /lib/partman/
7159 ? S 0:00 /bin/sh /lib/partman/
7161 ? R 0:00 /bin/sh /lib/partman/
16144 ? S 0:00 log-output -t ubiquity --pass-stdout /bin/partman
16145 ? S 0:00 /bin/sh /bin/partman
16244 ? S 0:01 parted_server
I then did an aptitude update, removed and re-installed ubiquity (on the off chance that a new version
might have already been released to fix the issue). I get identical behavior from version 1.7.14
/var/log/partman was 600K lines long after several iterations of duplicating this (while writing up this bug
report). Even moving it aside and doing just one test results in 895 lines (attached)
A relevant excerpt might be:
parted_server: Closing infifo and outfifo
parted_server: main_loop: iteration 4
parted_server: Opening infifo
Device: yes
Model: ATA MAXTOR STM332062
Path: /dev/sda
Sector size: 512
Sectors: 625142448
Sectors/track: 63
Heads: 255
Cylinders: 38913
Partition table: yes
Type: msdos
Partitions: # id length type fs path name
(0,0,0) (0,0,62) -1 0-32255 32256 primary label /dev/sda-1
(0,1,0) (973,254,62) 1 32256-8011422719 8011390464 primary ext2 /dev/sda1
(974,0,0) (38912,254,62) -1 8011422720-
(38913,0,0) (38913,80,62) -1 320070320640-
Dump finished.
/lib/partman/
parted_server: Read command: DUMP
parted_server: command_dump()
parted_server: Opening outfifo
parted_server: OUT: OK
parted_server: Closing infifo and outfifo
parted_server: main_loop: iteration 5
parted_server: Opening infifo
Device: yes
Model: ATA MAXTOR STM332062
Path: /dev/sdb
Sector size: 512
Sectors: 625142448
Sectors/track: 63
Heads: 255
Cylinders: 38913
Partition table: no
/lib/partman/
/lib/partman/
parted_server: Read command: PARTITIONS
parted_server: command_
parted_server: Opening outfifo
parted_server: OUT: OK
Removing the one partition (which was not bootable, nor active; simply a ext2/ext3 filesystem created
by Hardy alpha4 LiveCD for transporting an ISO image around) ... works around the bug. (Installation
proceeds normally after this point.
Suggestions:
I haven't looked at the code to these Ubiquity partman scripts ... but it's clear that they are complex and
have many possible corner cases. Ubiquity should NEVER just get into an endless [OK] Error dialog loop
like this. That dialog is modal and it leaves the inexperienced user no recourse other than a reboot (which
is likely to entirely lose them as a prospective Ubuntu user).
Ubiquity should detect when any of the partman automatically_
strategy, or fall back to manual partitioning. If all else fails ask the user (with vociferous warnings) if they
want to wipe the disks and start from a fresh slate.
Related branches
Changed in ubiquity: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in ubiquity: | |
assignee: | nobody → evand |
milestone: | none → ubuntu-8.04 |
Changed in partman-partitioning: | |
status: | New → Confirmed |
Changed in ubiquity: | |
status: | Confirmed → Fix Committed |
"* (Note: resizing that window shows the first part of the "termometer graph" to read: /dev/sda1 12% 90x.xMB"
where the x.x varies as you resize, from ~903.? up to about 909.9MB; that's a bug in its own right, the
size of the proposed partition can't reasonably be related to the size of the dialog box describing it!)"
I'm not sure I understand what you mean by this. The size of each box is proportional to the size of the partition it represents. This is intentional and meant to give the user a visual representation of the layout of that portion of their disk after resizing.
Also, can you please run the installer in debug mode (`ubiquity -d` in a terminal window) and attach /var/log/syslog, /var/log/partman, and /var/log/ installer/ debug when the invalid size dialog appears?
Thanks!