Oneiric Installer crashes "OSError: [Errno 21]"

Bug #810700 reported by Kent Baxley
34
This bug affects 4 people
Affects Status Importance Assigned to Milestone
partman-target (Ubuntu)
Fix Released
Medium
Colin Watson
ubiquity (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

While installing today's build of Oneiric amd64 desktop, the installer crashes near the end of the "Copying Files" phase.

$ apt-cache policy ubiquity
ubiquity:
  Installed: 2.7.12
  Candidate: 2.7.12
  Version table:
 *** 2.7.12 0
        500 http://archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages
        100 /var/lib/dpkg/status

$ lsb_release -rd
Description: Ubuntu oneiric (development branch)
Release: 11.10

How reproducible: Always

Steps to reproduce:
1) Downloaded amd64 desktop iso from: http://cdimage.ubuntu.com/daily-live/20110714.1/
2) Proceeded with installation.

Actual Results: Installer crashes with the desktop error message attached. The error logged in /var/log/syslog is the same every time.

Expected results: Installer runs to completion.

Revision history for this message
Kent Baxley (kentb) wrote :
Revision history for this message
Kent Baxley (kentb) wrote :

/var/log/syslog from time of crash

Revision history for this message
Kent Baxley (kentb) wrote :

partman logs from time of crash

Kent Baxley (kentb)
description: updated
summary: - Oneiric Installer crashes during file copy phase
+ Oneiric Installer crashes "OSError: [Errno 21]"
Revision history for this message
Mario Limonciello (superm1) wrote :

This happened because of the /var/run -> /run transition in progress. /var/run used to be a directory and is now a symlink.

Partman creates /target/var/lock and /target/var/run as soon as the disks are formatted. When the file copy routine gets around to these directories, it assumes they were files or symlinks and tries to unlink them, but fails because they're directories.

I've committed a fix to trunk to rmdir the directories when this happens, but another way to fix it would be to remove the code in partman from creating /target/var/lock and /target/var/run in the first place.

Changed in ubiquity (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.7.13

---------------
ubiquity (2.7.13) oneiric; urgency=low

  [ Evan Dandrea ]
  * Change the forward button text to Continue. Thanks to Matthew Paul
    Thomas for the suggestion.

  [ Mario Limonciello ]
  * Don't try to unlink directories during file copy routine that were
    created by partman (/var/lock, /var/run), rmdir them instead.
    (LP: #810700)
  * Don't assume that gsettings is on PATH just because gconftool-2 is.
    They come from separate packages.
  * Automatic update of included source packages: flash-kernel
    2.28ubuntu27.
 -- Mario Limonciello <email address hidden> Fri, 15 Jul 2011 00:14:00 -0500

Changed in ubiquity (Ubuntu):
status: Fix Committed → Fix Released
Colin Watson (cjwatson)
Changed in partman-target (Ubuntu):
status: New → Fix Committed
assignee: nobody → Colin Watson (cjwatson)
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package partman-target - 73ubuntu1

---------------
partman-target (73ubuntu1) oneiric; urgency=low

  * Resynchronise with Debian. Remaining changes:
    - Disable automatic mounting of USB removable devices.
    - Mount floppies with 'exec' and 'utf8'.
    - Use the path of the file associated with a loop device in /etc/fstab,
      rather than the filesystem's UUID or the loop device path.
    - Always set the loop option for loop devices.
    - Remove critical system files from the existing filesystem before
      installing.
    - Preserve the UID and GID of the initial user, if possible. Requires a
      patch to user-setup.
    - Check that all system partitions are formatted.
    - Stop adding removable devices to /etc/fstab, now that apt knows how to
      find CD-ROM devices using libudev.
    - Mount /proc with nodev,noexec,nosuid.
    - Notify user-setup if there is an encrypted home partition present.
  * Stop creating /var/run and /var/lock on the root filesystem, now that
    Oneiric has migrated these to being symlinks into /run (LP: #810700).

partman-target (73) unstable; urgency=low

  [ Updated translations ]
  * Bulgarian (bg.po) by Damyan Ivanov
  * Czech (cs.po) by Miroslav Kure
  * Esperanto (eo.po) by Felipe Castro
  * Spanish (es.po) by Javier Fernández-Sanguino
  * Estonian (et.po) by Mattias Põldaru
  * Korean (ko.po) by Changwoo Ryu
  * Romanian (ro.po) by Eddy Petrișor
  * Slovak (sk.po) by Ivan Masár
  * Swedish (sv.po) by Daniel Nylander
  * Thai (th.po) by Theppitak Karoonboonyanan
  * Uyghur (ug.po) by Sahran

partman-target (72) unstable; urgency=medium

  [ Christian Perrier ]
  * Point users to blkid instead of non-existing vol_id (on the
    installed system) in /etc/fstab file header
    Closes: #608996

  [ Joey Hess ]
  * On kFreeBSD, mount does not follow symlinks in the mountpoint, so
    the way mount points were set up for removable media caused problems.
    So on that OS only, rather than making /media/cdrom -> /media/cdrom0,
    and putting /media/cdrom0 in /etc/fstab, instead make /media/cdrom
    a directory, and put /media/cdrom in /etc/fstab. This way¸
    "mount /media/cdrom", "mount /media/usb" etc all work, and so does
    apt-cdrom add. Closes: #611569
    (Note that additional CD devices will be set up as /media/cdrom1, etc,
    same as before. This leads to the minor inconsistency on kFreeBSD that
    "mount /media/cdrom1" is needed for the second CD, while
    "mount /media/cdrom0" won't work for the first, but I don't
    see a way to avoid that.)
 -- Colin Watson <email address hidden> Fri, 15 Jul 2011 10:58:09 +0100

Changed in partman-target (Ubuntu):
status: Fix Committed → Fix Released
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.