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

Bug#255128: marked as done (cdrom-detect: Bad handling of mount error)



Your message dated Wed, 30 Jun 2004 14:47:46 -0400
with message-id <20040630184746.GD6271@kitenet.net>
and subject line FWD: Fixed in NMU of cdrom-detect 0.59
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 18 Jun 2004 22:20:23 +0000
>From osamu@aokiconsulting.com Fri Jun 18 15:20:23 2004
Return-path: <osamu@aokiconsulting.com>
Received: from outmx005.isp.belgacom.be [195.238.2.102] 
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1BbRig-0004qw-00; Fri, 18 Jun 2004 15:20:23 -0700
Received: from outmx005.isp.belgacom.be (localhost [127.0.0.1])
        by outmx005.isp.belgacom.be (8.12.11/8.12.11/Skynet-OUT-2.22) with ESMTP id i5IMKKtl002993
        for <submit@bugs.debian.org>; Sat, 19 Jun 2004 00:20:20 +0200
        (envelope-from <osamu@aokiconsulting.com>)
Received: from dambo.lan.aokiconsulting.com (92.231-201-80.adsl.skynet.be [80.201.231.92])
        by outmx005.isp.belgacom.be (8.12.11/8.12.11/Skynet-OUT-2.22) with ESMTP id i5IMKDJh002946;
	Sat, 19 Jun 2004 00:20:13 +0200
        (envelope-from <osamu@aokiconsulting.com>)
Received: from osamu by dambo.lan.aokiconsulting.com with local (Exim 4.34)
	id 1BbRmn-0006c1-GB; Sat, 19 Jun 2004 00:24:37 +0200
Date: Sat, 19 Jun 2004 00:24:37 +0200
From: Osamu Aoki <osamu@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: cdrom-detect: Bad handling of mount error
Message-ID: <[🔎] 20040618222437.GA24655@aokiconsulting.com>
Reply-To: Osamu Aoki <osamu@debian.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Reportbug-Version: 2.61
X-GPG-Fingerprint: 253A 4076 6A3B CCE2 A426  DEF5 E80F C4C1 A806 1F32
User-Agent: Mutt/1.5.6+20040523i
Sender: Osamu Aoki <osamu@aokiconsulting.com>
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
	autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 

Package: cdrom-detect
Version: CVS:20040616
Severity: important
Tags: patch

Summary:
This bug does not affect normal HW.  But current error handling makes
it impossible to recover from CD mount error just by using installer menu.

Details and patch:
As reported in Bug#254764: sarge-i386-netinst (20040616) fails:
  http://lists.debian.org/debian-boot/2004/06/msg01323.html
  http://lists.debian.org/debian-boot/2004/06/msg01417.html

Old Dell Latitude CPi with P2 and extremely slow and buggy CDROM drive
had mounting problem.  Current cdrom-detect.postinst is not robust
enough to let user recover with minimal efforts.

Basically, the CDROM drive on machine machine can not mount cleanly
first time.  This is my problem but installer should not be self-defeating
either.  (Otherwise, why offer to try again!)

As I see the key part of cdrom-detect.postinst:
----
        if mount -t iso9660 -o ro,exec $device /cdrom >/target/buglog.txt 2&>1
        then
            mounted=1
            db_set cdrom-detect/cdrom_device $device
            break
        fi
----
If mount lead to some error code while making CD mounted on /cdrom, this
script eventually run function fail later and exit with message.

But since /cdrom is mounted (I checked it on installer shell), second
run of this script after CD stabilizes will not try to mount CD due to
self-defeating code. (Actually existance of mounted CD is checked twice
as below at the top of cdrom-detect.postinst)
----
# Is a cdrom already mounted?  If so, assume it's the right one..
mount | grep -q ^/dev/cdroms/ && exit 0
if [ -e /cdrom/.disk/info ] ; then
   CDNAME=`cat /cdrom/.disk/info`
   log "Detected CD '$CDNAME'"
   exit 0
fi
-------
(I guess this is to allow alternative mounting methods.)

Since it is freezed package I propose the following least intrusive
patch which should not affect anyone who did not experience mount error
but ensures unmounted /cdrom for the second run.  (I did check that this
type of action worked to install on my system from the shell but I have
not tested this by making iso image yet.  I will test it if someone
makes ISO for me or I finish understanding how to build it my self.
Any simple guide just to build i386 netinst only?)

--- cdrom-detect.postinst.org   2004-06-18 00:27:01.000000000 +0200
+++ cdrom-detect.postinst       2004-06-19 00:00:00.000000000 +0200
@@ -45,6 +45,9 @@
             mounted=1
            db_set cdrom-detect/cdrom_device $device
             break
+        else
+            # Ensure nothing mounted on /cdrom
+            umount /cdrom >/dev/null 2>&1 || true
         fi
     done
------------------------------------------------------------

This is needed because error code 64 etc may result partial mount.
    mount RETURN CODES
        mount has the following return codes (the bits can be ORed):
        0      success
        1      incorrect invocation or permissions
        2      system error (out of memory, cannot fork, no more loop devices)
        4      internal mount bug or missing nfs support in mount
        8      user interrupt
        16     problems writing or locking /etc/mtab
        32     mount failure
        64     some mount succeeded

FYI: Here is example of my buggy CDROM HW response to mount:
........... as system booted ................
tintin:~# mount
/dev/hda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
............  try mounting CD while noisy ...........
tintin:~# mount /dev/cdrom /cdrom
mount: you must specify the filesystem type
tintin:~# mount
/dev/hda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
............  reinsert and try mounting CD while noisy ...........
tintin:~# mount -t iso9660 /dev/cdrom /cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
mount: No medium found
tintin:~# echo $?
32
............  eject and re-insert CD, wait to be quiet
tintin:~# mount -t iso9660 /dev/cdrom /cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
tintin:~# echo $?
0
>>>> Finally mounted.


-- 
~\^o^/~~~ ~\^.^/~~~ ~\^*^/~~~ ~\^_^/~~~ ~\^+^/~~~ ~\^:^/~~~ ~\^v^/~~~ +++++
        Osamu Aoki <osamu@debian.org>  Brussels Belgium, GPG-key: A8061F32
 .''`.  Debian Reference: post-installation user's guide for non-developers
 : :' : http://qref.sf.net and http://people.debian.org/~osamu
 `. `'  "Our Priorities are Our Users and Free Software" --- Social Contract


---------------------------------------
Received: (at 255128-done) by bugs.debian.org; 30 Jun 2004 18:47:47 +0000
>From joey@kitenet.net Wed Jun 30 11:47:47 2004
Return-path: <joey@kitenet.net>
Received: from kitenet.net [64.62.161.42] (postfix)
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1Bfk7X-00016E-00; Wed, 30 Jun 2004 11:47:47 -0700
Received: from dragon.kitenet.net (unknown [66.168.94.147])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "Joey Hess", Issuer "Joey Hess" (verified OK))
	by kitenet.net (Postfix) with ESMTP id 7B06617EB5
	for <255128-done@bugs.debian.org>; Wed, 30 Jun 2004 18:47:55 +0000 (GMT)
Received: by dragon.kitenet.net (Postfix, from userid 1000)
	id 002B16E0C1; Wed, 30 Jun 2004 14:47:46 -0400 (EDT)
Date: Wed, 30 Jun 2004 14:47:46 -0400
From: Joey Hess <joeyh@debian.org>
To: 255128-done@bugs.debian.org
Subject: FWD: Fixed in NMU of cdrom-detect 0.59
Message-ID: <20040630184746.GD6271@kitenet.net>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="/unnNtmY43mpUSKx"
Content-Disposition: inline
User-Agent: Mutt/1.5.6+20040523i
Delivered-To: 255128-done@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-5.0 required=4.0 tests=BAYES_00,VALID_BTS_CONTROL 
	autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 


--/unnNtmY43mpUSKx
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

NAN

----- Forwarded message from Joey Hess <joeyh@debian.org> -----

=46rom: Joey Hess <joeyh@debian.org>
Date: Wed, 30 Jun 2004 14:02:06 -0400
To: control@bugs.debian.org
Cc: Joey Hess <joeyh@debian.org>,
	Debian Install System Team <debian-boot@lists.debian.org>
Subject: Fixed in NMU of cdrom-detect 0.59

tag 255128 + fixed

quit

This message was generated automatically in response to a
non-maintainer upload.  The .changes file follows.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Mon, 28 Jun 2004 14:56:58 -0400
Source: cdrom-detect
Binary: cdrom-detect
Architecture: source all
Version: 0.59
Distribution: unstable
Urgency: low
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Changed-By: Joey Hess <joeyh@debian.org>
Description:=20
 cdrom-detect - Detect CDROM devices and mount the CD (udeb)
Closes: 255128
Changes:=20
 cdrom-detect (0.59) unstable; urgency=3Dlow
 .
   * Osamu Aoki
     - When CD mount fails, unmount it and try again, to work around DMA
       issues. Closes: #255128
     - Add logging around CD mounting.
Files:=20
 7449b22aba718fdd09be2fb862124bbc 601 debian-installer optional cdrom-detec=
t_0.59.dsc
 9a739bdd8342224694d2788a08b0018e 70253 debian-installer optional cdrom-det=
ect_0.59.tar.gz
 73ae7dea50b90cc7dcf8f9d468f0d7f6 50226 debian-installer optional cdrom-det=
ect_0.59_all.udeb
package-type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFA4v1T2tp5zXiKP0wRAvrzAKDMBHR3ZcBd1FgrpVjMhD3GPonq6QCfdBCz
9KGiVI3x+NhGsZFpK1X/6pw=3D
=3DU/Bm
-----END PGP SIGNATURE-----


----- End forwarded message -----

--=20
see shy jo

--/unnNtmY43mpUSKx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFA4wrSd8HHehbQuO8RAvqWAJ0T5Za0LW68XmbpZOBMcxZFVuhCNwCdH1Pb
KOc+dEpKv0TCYb9FiMJpTe8=
=yPiQ
-----END PGP SIGNATURE-----

--/unnNtmY43mpUSKx--



Reply to: