partitioner fails if partially preseeded due to seen flag madness

Bug #182004 reported by Colin Watson
18
Affects Status Importance Assigned to Milestone
ubiquity (Ubuntu)
Fix Released
Medium
Colin Watson
Intrepid
Fix Released
Medium
Colin Watson

Bug Description

Binary package hint: ubiquity

This bug was reported by gandalf-le-vert on IRC; I analysed it and am submitting this bug on his behalf.

If you're running ubiquity in automatic mode but have not preseeded any partitioning questions, then the partitioner fails as follows:

Jan 11 14:51:57 ubuntu ubiquity[8135]: Exception in GTK frontend (invoking crash handler):
Jan 11 14:51:57 ubuntu ubiquity[8135]: Traceback (most recent call last):
Jan 11 14:51:57 ubuntu ubiquity[8135]: File "/usr/lib/ubiquity/ubiquity/frontend/gtk_ui.py", line 1122, in watch_debconf_fd_helper
Jan 11 14:51:57 ubuntu ubiquity[8135]: return callback(source, debconf_condition)
Jan 11 14:51:57 ubuntu ubiquity[8135]: File "/usr/lib/ubiquity/ubiquity/filteredcommand.py", line 179, in process_input
Jan 11 14:51:57 ubuntu ubiquity[8135]: if not self.process_line():
Jan 11 14:51:57 ubuntu ubiquity[8135]: File "/usr/lib/ubiquity/ubiquity/filteredcommand.py", line 112, in process_line
Jan 11 14:51:57 ubuntu ubiquity[8135]: return self.dbfilter.process_line()
Jan 11 14:51:57 ubuntu ubiquity[8135]: File "/usr/lib/ubiquity/ubiquity/debconffilter.py", line 236, in process_line
Jan 11 14:51:57 ubuntu ubiquity[8135]: if not input_widgets[0].run(priority, question):
Jan 11 14:51:57 ubuntu ubiquity[8135]: File "/usr/lib/ubiquity/ubiquity/components/partman.py", line 360, in run
Jan 11 14:51:57 ubuntu ubiquity[8135]: assert self.extra_choice is not None
Jan 11 14:51:57 ubuntu ubiquity[8135]: AssertionError

This is because partman-auto/init_automatically_partition is asked internally more than once in the process of setting up the partitioner. The second time it's asked, it's marked as seen and so ubiquity --automatic skips it.

Either ubiquity's partman integration needs to work around this by doing something with the seen flag of that particular question (and won't partman-auto/init_automatically_partition be pretty hard to preseed due to the way it's used internally, anyway?), or else we need a general approach to avoiding setting the seen flag on questions that are "asked" but never actually shown to the user. Conceptually, such questions shouldn't have their seen flag set.

Revision history for this message
Colin Watson (cjwatson) wrote :
Revision history for this message
Colin Watson (cjwatson) wrote :
Revision history for this message
Colin Watson (cjwatson) wrote :
Changed in ubiquity:
assignee: nobody → evand
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Evan (ev) wrote :

Adam,

The following patch will fix the bug using the first approach that Colin mentioned. If you're limited on time, I suggest using that.

I'm looking at how to solve this correctly, but it will require more time for me to figure out how to define whether or not a question is going to be shown to the user without manually specifying the set of questions that will be ahead of time or assuming only questions handled in ok_handler should be marked as seen, which fails for partman.

Thanks for bringing this to our attention.

Changed in ubiquity:
status: Triaged → In Progress
Colin Watson (cjwatson)
Changed in ubiquity:
milestone: none → ubuntu-8.10-beta
Colin Watson (cjwatson)
Changed in ubiquity:
assignee: evand → kamion
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 1.10.0

---------------
ubiquity (1.10.0) intrepid; urgency=low

  [ Evan Dandrea ]
  * Use a normal color for the partition bar when use entire disk is
    selected (LP: #273271).
  * Automatic update of included source packages: debian-installer-utils
    1.59ubuntu3, grub-installer 1.32ubuntu6, hw-detect 1.63ubuntu3,
    user-setup 1.20ubuntu7.

  [ Colin Watson ]
  * Don't mark partman questions as seen when we expect them to be asked
    again (LP: #182004).
  * Set GtkAdjustment page_size to zero in Glade files too.

  [ Emmet Hikory ]
  * install.py: use grub-installer as the boot loader for lpia (LP: #274785)

 -- Evan Dandrea <email address hidden> Sat, 27 Sep 2008 00:43:05 -0400

Changed in ubiquity:
status: Fix Committed → Fix Released
Revision history for this message
Saivann Carignan (oxmosys) wrote :

Indeed, the bug is gone. Thanks for your work!

Revision history for this message
gdupasqu (guillaume-dupasquier) wrote :

Hello,

I have still the bug using hardy 8.04.
I have the modification in partman.py but the bug still exists.

I cannot update to 1.10.0 since I use hardy.

Do you have any idea ?

Thanks a lot,

Guillaume

Revision history for this message
Saivann Carignan (oxmosys) wrote :

gdupasqu : This bug is fixed starting with 8.10 and won't be fixed in hardy (as you can notice by the bug status) as hardy CD has been already released. I don't really know what you can do if you try to preseed your own 8.04 iso unless trying to find all necessary changes and customize your iso, but I think that using 8.10 or 9.04 or 9.10 (in a few months) would be far more easier, and keep your computer all up to date.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.