udev initscript breaks bootlogd by leaving /dev/pts unmounted

Bug #27799 reported by Debian Bug Importer
4
Affects Status Importance Assigned to Milestone
udev (Debian)
Fix Released
Unknown
udev (Ubuntu)
Fix Released
High
Scott James Remnant (Canonical)

Bug Description

Automatically imported from Debian bug report #237056 http://bugs.debian.org/237056

Revision history for this message
In , Miquel van Smoorenburg (miquels) wrote : Re: Bug#237056: bootlogd: conflicts with udev installed

title 237056 bootlogd: should integrate better with udev ?
severity 237056 wishlist
thanks

On 2004.03.09 15:09, Max Kutny wrote:
> Package: initscripts
> Version: 2.85-9
> Severity: important
>
> Rationale: the boolog doesn't log messages thus unusable.

udev is an experimental package, and bootlogd is turned off by default.
So you have to install an experimental package and fiddle around with
bootlogd to trigger this bug.

>
> Once I have a udev package installed (a replacement of devfs) I've got
> the following botloog message during startup:
> bootlogd: ioctl(/dev/ttyzf, TIOCCONS): bad file descriptor
>
> There is no /dev/ttyzf file under udev. I'm not sure this device
> must be present on the system thus the bug is against bootlog.

Sure, bootlogd is not ready for all production systems and therefor
turned off by default. You just proved again why that is a good idea.
I'm changing the title and setting the severity to wishlist.

Mike.

> udev version is: 0.021-1
>
> -- Max
>
>
> -- System Information:
> Debian Release: testing/unstable
> APT prefers unstable
> APT policy: (500, 'unstable')
> Architecture: i386 (i686)
> Kernel: Linux 2.6.3-1-686
> Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8
>
> Versions of packages initscripts depends on:
> ii coreutils 5.0.91-2 The GNU core utilities
> ii dpkg 1.10.19 Package maintenance system for Deb
> ii e2fsprogs 1.35-2 The EXT2 file system utilities and
> ii mount 2.12-6 Tools for mounting and manipulatin
> ii util-linux 2.12-6 Miscellaneous system utilities
>
> -- no debconf information
>
>
>

Revision history for this message
In , Max Kutny (mkut) wrote :

On Wed, Mar 10, 2004 at 01:26:19PM +0100, Miquel van Smoorenburg wrote:
> > Severity: important
> >
> > Rationale: the boolog doesn't log messages thus unusable.
>
> udev is an experimental package,

I took it from the unstable yesterday :-E
But please notice, it will be used much more extensive than defvs.

> > Once I have a udev package installed (a replacement of devfs) I've got
> > the following botloog message during startup:
> > bootlogd: ioctl(/dev/ttyzf, TIOCCONS): bad file descriptor
> >
> > There is no /dev/ttyzf file under udev. I'm not sure this device
> > must be present on the system thus the bug is against bootlog.
>
> Sure, bootlogd is not ready for all production systems and therefor
> turned off by default. You just proved again why that is a good idea.
> I'm changing the title and setting the severity to wishlist.

Agree. Of cause it doesn't renders initscripts package unusable. I filed
a bug report thinking of bootlogd instead of initscripts. My bad. I'll be
more careful next time.

Thanks.

-- Max

Revision history for this message
In , Miquel van Smoorenburg (miquels) wrote : retitle

retitle 237056 bootlogd: should integrate better with udev ?
thanks

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote : Still a problem?

Submitter: Do you still have this problem with the latest udev?

I use udev and bootlogd works fine for me.
--
Thomas Hood

Revision history for this message
In , Max Kutny (mkut-umc) wrote : Re: Bug#237056: Still a problem?

On Thu, Dec 15, 2005 at 01:26:36PM +0100, Thomas Hood wrote:
> Submitter: Do you still have this problem with the latest udev?
>
> I use udev and bootlogd works fine for me.

It's fine for me too, thanks!

-- Max

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote :

Max Kutny wrote:
> It's fine for me too, thanks!

Good to hear!

--
Thomas Hood

Revision history for this message
In , Nathanael Nerode (neroden-twcny) wrote : I'm getting this bug.

But only on some machines.
Any ideas? :-P

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote : Re: [Pkg-sysvinit-devel] Bug#237056: I'm getting this bug.

reopen 237056
stop

Nathanael Nerode wrote:
> But only on some machines.
> Any ideas? :-P

Not without some clues.

--
Thomas

Revision history for this message
In , Nathanael Nerode (neroden-twcny) wrote : udev breaks bootlogd
Download full text (3.1 KiB)

reassign 237056 udev
severity 237056 grave
retitle 237056 udev initscript breaks bootlogd by leaving /dev/pts unmounted
found 237056 0.076-6
thanks

I've found the source of bug 237056. I think it's udev's responsibility,
but you can discuss that amongst yourselves.

bootlogd calls a routine in glibc which tries to get a UNIX98 PTY. If that
fails, it looks for a BSD (legacy) PTY. If that fails (perhaps because
they're not compiled into the kernel, because nothing much uses them), it
gives up and dies.

The problem lies in the rcS.d init scripts. On my system we have:
S01glibc.sh
S02mountvirtfs
S04udev
S05bootlogd
...
S36mountvirtfs
..

/dev/pts is mounted in mountvirtfs.
S05bootlogd runs as early as possible, but after mountvirtfs, because it
wants /dev/pts (and also /proc).

However, S04udev *unmounts* /dev/pts. And it's not remounted until S36.

Now, bootlogd runs after S04udev, presumably to guarantee that the console
device is available. But this means that /dev/pts isn't available.

As it says in S04udev:
# we need to unmount /dev/pts/ and remount it later over the tmpfs

Except it isn't remounted later, until S36. This is really bad because
it could easily break other programs launched in the initscripts in between,
as well. This is why I assigned this bug to udev at grave severity: it
breaks arbitrary other packages.

The bug might be solved in one of the following ways:
* have udev actually remount /dev/pts (and /dev/shm) at the end of its script
  The natural solution. Creates code duplication, though. Unless udev
  invokes /etc/mountvirtfs directly, in which case it has to watch out
  and make sure that 'set -e' is disabled for the invocation.
* drop yet another invocation of mountvirtfs, between udev and bootlogd
  Requires moving udev's script up to S03 to make room. Ugh.
* split mountvirtfs into multiple scripts, one for /proc and /sys which
  runs before udev, and one for /dev/pts and /dev/shm which runs after.
* move bootlogd before udev
  Requires more static devices, *and* might cause other problems (because
  /dev would vanish under the running bootlogd and reappear); but has the
  advantage of logging udev events. Probably the best long term solution,
  but it's unlikely that it will work right now (anyone want to test it?)

As an aside, none of these solutions are robust to parallelized initscripts
-- but then neither are udev or bootlogd, period. Essentially
nothing can safely run at the same time as udev. Essentially all
initscripts should run after bootlogd for bootlogd to make sense -- but only
if bootlogd is present. And these aren't because the later scripts in any
sense 'require' them.

These two scripts fit very poorly into the parallelized initscripts
concept, and probably deserve special treatment for that reason; worth
thinking about. Perhaps every other initscript should be required to
depend on both udev and bootlogd, and dummy implementations should be
Provided for when the relevant program isn't installed. Or perhaps they
even deserve custom treatment by 'init', though I doubt it.

--
Nathanael Nerode <email address hidden>

Make sure your vote will count.
http://www.verifiedvoting.org...

Read more...

Revision history for this message
In , Marco d'Itri (md) wrote :

found 237056 0.050-1 # this means I can ignore this bug forever
thanks

On Dec 31, Nathanael Nerode <email address hidden> wrote:

> Except it isn't remounted later, until S36. This is really bad because
By design, because it was hard to do it reliably and Miquel assured me
that this would cause no problems (and indeed it did no, except for
bootlogd).

> * have udev actually remount /dev/pts (and /dev/shm) at the end of its script
> The natural solution. Creates code duplication, though. Unless udev
> invokes /etc/mountvirtfs directly, in which case it has to watch out
> and make sure that 'set -e' is disabled for the invocation.
See above. I am not inclined to do this again (it adds complexity to
work around a misfeature in a different package).

> * split mountvirtfs into multiple scripts, one for /proc and /sys which
> runs before udev, and one for /dev/pts and /dev/shm which runs after.
This is what me and Miquel agreed to do, but when I tried discussing it
with the current maintainer he was not very interested.

> * move bootlogd before udev
This is what I do on my system and it works fine, but I'd rather split
mountvirtfs which is the correct solution.

> As an aside, none of these solutions are robust to parallelized initscripts
> -- but then neither are udev or bootlogd, period. Essentially
> nothing can safely run at the same time as udev. Essentially all
> initscripts should run after bootlogd for bootlogd to make sense -- but only
> if bootlogd is present. And these aren't because the later scripts in any
> sense 'require' them.
I have been saying this for a while, now you only need to persuade the
initscripts maintainer.

--
ciao,
Marco

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Automatically imported from Debian bug report #237056 http://bugs.debian.org/237056

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-Id: <E1B0hv8-0000Xl-Q7@localhost>
Date: Tue, 09 Mar 2004 16:09:22 +0200
From: Max Kutny <email address hidden>
To: Debian Bug Tracking System <email address hidden>
Subject: bootlogd: conflicts with udev installed

Package: initscripts
Version: 2.85-9
Severity: important

Rationale: the boolog doesn't log messages thus unusable.

Once I have a udev package installed (a replacement of devfs) I've got
the following botloog message during startup:
bootlogd: ioctl(/dev/ttyzf, TIOCCONS): bad file descriptor

There is no /dev/ttyzf file under udev. I'm not sure this device
must be present on the system thus the bug is against bootlog.

udev version is: 0.021-1

-- Max

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.3-1-686
Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8

Versions of packages initscripts depends on:
ii coreutils 5.0.91-2 The GNU core utilities
ii dpkg 1.10.19 Package maintenance system for Deb
ii e2fsprogs 1.35-2 The EXT2 file system utilities and
ii mount 2.12-6 Tools for mounting and manipulatin
ii util-linux 2.12-6 Miscellaneous system utilities

-- no debconf information

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Wed, 10 Mar 2004 13:26:19 +0100
From: Miquel van Smoorenburg <email address hidden>
To: Max Kutny <email address hidden>
Cc: <email address hidden>, <email address hidden>
Subject: Re: Bug#237056: bootlogd: conflicts with udev installed

title 237056 bootlogd: should integrate better with udev ?
severity 237056 wishlist
thanks

On 2004.03.09 15:09, Max Kutny wrote:
> Package: initscripts
> Version: 2.85-9
> Severity: important
>
> Rationale: the boolog doesn't log messages thus unusable.

udev is an experimental package, and bootlogd is turned off by default.
So you have to install an experimental package and fiddle around with
bootlogd to trigger this bug.

>
> Once I have a udev package installed (a replacement of devfs) I've got
> the following botloog message during startup:
> bootlogd: ioctl(/dev/ttyzf, TIOCCONS): bad file descriptor
>
> There is no /dev/ttyzf file under udev. I'm not sure this device
> must be present on the system thus the bug is against bootlog.

Sure, bootlogd is not ready for all production systems and therefor
turned off by default. You just proved again why that is a good idea.
I'm changing the title and setting the severity to wishlist.

Mike.

> udev version is: 0.021-1
>
> -- Max
>
>
> -- System Information:
> Debian Release: testing/unstable
> APT prefers unstable
> APT policy: (500, 'unstable')
> Architecture: i386 (i686)
> Kernel: Linux 2.6.3-1-686
> Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8
>
> Versions of packages initscripts depends on:
> ii coreutils 5.0.91-2 The GNU core utilities
> ii dpkg 1.10.19 Package maintenance system for Deb
> ii e2fsprogs 1.35-2 The EXT2 file system utilities and
> ii mount 2.12-6 Tools for mounting and manipulatin
> ii util-linux 2.12-6 Miscellaneous system utilities
>
> -- no debconf information
>
>
>

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Wed, 10 Mar 2004 14:46:51 +0200
From: Max Kutny <email address hidden>
To: Miquel van Smoorenburg <email address hidden>
Cc: <email address hidden>
Subject: Re: Bug#237056: bootlogd: conflicts with udev installed

On Wed, Mar 10, 2004 at 01:26:19PM +0100, Miquel van Smoorenburg wrote:
> > Severity: important
> >
> > Rationale: the boolog doesn't log messages thus unusable.
>
> udev is an experimental package,

I took it from the unstable yesterday :-E
But please notice, it will be used much more extensive than defvs.

> > Once I have a udev package installed (a replacement of devfs) I've got
> > the following botloog message during startup:
> > bootlogd: ioctl(/dev/ttyzf, TIOCCONS): bad file descriptor
> >
> > There is no /dev/ttyzf file under udev. I'm not sure this device
> > must be present on the system thus the bug is against bootlog.
>
> Sure, bootlogd is not ready for all production systems and therefor
> turned off by default. You just proved again why that is a good idea.
> I'm changing the title and setting the severity to wishlist.

Agree. Of cause it doesn't renders initscripts package unusable. I filed
a bug report thinking of bootlogd instead of initscripts. My bad. I'll be
more careful next time.

Thanks.

-- Max

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Wed, 10 Mar 2004 15:59:36 +0100
From: Miquel van Smoorenburg <email address hidden>
To: <email address hidden>
Subject: retitle

retitle 237056 bootlogd: should integrate better with udev ?
thanks

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Thu, 15 Dec 2005 13:26:36 +0100
From: Thomas Hood <email address hidden>
To: <email address hidden>
Subject: Still a problem?

Submitter: Do you still have this problem with the latest udev?

I use udev and bootlogd works fine for me.
--
Thomas Hood

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sat, 17 Dec 2005 21:58:10 +0200
From: Max Kutny <email address hidden>
To: Thomas Hood <email address hidden>, <email address hidden>
Subject: Re: Bug#237056: Still a problem?

On Thu, Dec 15, 2005 at 01:26:36PM +0100, Thomas Hood wrote:
> Submitter: Do you still have this problem with the latest udev?
>
> I use udev and bootlogd works fine for me.

It's fine for me too, thanks!

-- Max

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sat, 17 Dec 2005 21:39:46 +0100
From: Thomas Hood <email address hidden>
To: <email address hidden>
Subject: Re: Bug#237056: Still a problem?

Max Kutny wrote:
> It's fine for me too, thanks!

Good to hear!

--
Thomas Hood

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-Id: <email address hidden>
Date: Sat, 24 Dec 2005 15:33:25 -0500
From: Nathanael Nerode <email address hidden>
To: <email address hidden>
Subject: I'm getting this bug.

But only on some machines.
Any ideas? :-P

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Mon, 26 Dec 2005 19:44:30 +0100
From: Thomas Hood <email address hidden>
To: Nathanael Nerode <email address hidden>, <email address hidden>,
 Debian Bug Tracking System <email address hidden>
Subject: Re: [Pkg-sysvinit-devel] Bug#237056: I'm getting this bug.

reopen 237056
stop

Nathanael Nerode wrote:
> But only on some machines.
> Any ideas? :-P

Not without some clues.

--
Thomas

Revision history for this message
Debian Bug Importer (debzilla) wrote :
Download full text (3.4 KiB)

Message-ID: <email address hidden>
Date: Sat, 31 Dec 2005 05:47:21 -0500
From: Nathanael Nerode <email address hidden>
To: <email address hidden>, <email address hidden>,
 <email address hidden>, <email address hidden>, <email address hidden>
Subject: udev breaks bootlogd

reassign 237056 udev
severity 237056 grave
retitle 237056 udev initscript breaks bootlogd by leaving /dev/pts unmounted
found 237056 0.076-6
thanks

I've found the source of bug 237056. I think it's udev's responsibility,
but you can discuss that amongst yourselves.

bootlogd calls a routine in glibc which tries to get a UNIX98 PTY. If that
fails, it looks for a BSD (legacy) PTY. If that fails (perhaps because
they're not compiled into the kernel, because nothing much uses them), it
gives up and dies.

The problem lies in the rcS.d init scripts. On my system we have:
S01glibc.sh
S02mountvirtfs
S04udev
S05bootlogd
...
S36mountvirtfs
...

/dev/pts is mounted in mountvirtfs.
S05bootlogd runs as early as possible, but after mountvirtfs, because it
wants /dev/pts (and also /proc).

However, S04udev *unmounts* /dev/pts. And it's not remounted until S36.

Now, bootlogd runs after S04udev, presumably to guarantee that the console
device is available. But this means that /dev/pts isn't available.

As it says in S04udev:
# we need to unmount /dev/pts/ and remount it later over the tmpfs

Except it isn't remounted later, until S36. This is really bad because
it could easily break other programs launched in the initscripts in between,
as well. This is why I assigned this bug to udev at grave severity: it
breaks arbitrary other packages.

The bug might be solved in one of the following ways:
* have udev actually remount /dev/pts (and /dev/shm) at the end of its script
  The natural solution. Creates code duplication, though. Unless udev
  invokes /etc/mountvirtfs directly, in which case it has to watch out
  and make sure that 'set -e' is disabled for the invocation.
* drop yet another invocation of mountvirtfs, between udev and bootlogd
  Requires moving udev's script up to S03 to make room. Ugh.
* split mountvirtfs into multiple scripts, one for /proc and /sys which
  runs before udev, and one for /dev/pts and /dev/shm which runs after.
* move bootlogd before udev
  Requires more static devices, *and* might cause other problems (because
  /dev would vanish under the running bootlogd and reappear); but has the
  advantage of logging udev events. Probably the best long term solution,
  but it's unlikely that it will work right now (anyone want to test it?)

As an aside, none of these solutions are robust to parallelized initscripts
-- but then neither are udev or bootlogd, period. Essentially
nothing can safely run at the same time as udev. Essentially all
initscripts should run after bootlogd for bootlogd to make sense -- but only
if bootlogd is present. And these aren't because the later scripts in any
sense 'require' them.

These two scripts fit very poorly into the parallelized initscripts
concept, and probably deserve special treatment for that reason; worth
thinking about. Perhaps every other initscript should be required to
depend on both ude...

Read more...

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sat, 31 Dec 2005 12:04:02 +0100
From: <email address hidden> (Marco d'Itri)
To: Nathanael Nerode <email address hidden>
Cc: <email address hidden>, <email address hidden>,
 <email address hidden>, <email address hidden>
Subject: Re: udev breaks bootlogd

--4Ckj6UjgE2iN1+kY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

found 237056 0.050-1 # this means I can ignore this bug forever
thanks

On Dec 31, Nathanael Nerode <email address hidden> wrote:

> Except it isn't remounted later, until S36. This is really bad because
By design, because it was hard to do it reliably and Miquel assured me
that this would cause no problems (and indeed it did no, except for
bootlogd).

> * have udev actually remount /dev/pts (and /dev/shm) at the end of its sc=
ript
> The natural solution. Creates code duplication, though. Unless udev
> invokes /etc/mountvirtfs directly, in which case it has to watch out
> and make sure that 'set -e' is disabled for the invocation.
See above. I am not inclined to do this again (it adds complexity to
work around a misfeature in a different package).

> * split mountvirtfs into multiple scripts, one for /proc and /sys which
> runs before udev, and one for /dev/pts and /dev/shm which runs after.
This is what me and Miquel agreed to do, but when I tried discussing it
with the current maintainer he was not very interested.

> * move bootlogd before udev
This is what I do on my system and it works fine, but I'd rather split
mountvirtfs which is the correct solution.

> As an aside, none of these solutions are robust to parallelized initscrip=
ts
> -- but then neither are udev or bootlogd, period. Essentially
> nothing can safely run at the same time as udev. Essentially all
> initscripts should run after bootlogd for bootlogd to make sense -- but o=
nly
> if bootlogd is present. And these aren't because the later scripts in any
> sense 'require' them.
I have been saying this for a while, now you only need to persuade the
initscripts maintainer.

--=20
ciao,
Marco

--4Ckj6UjgE2iN1+kY
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

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

iD8DBQFDtmWiFGfw2OHuP7ERAtPKAJwN/aPFd08j3Fs2pl4SFU1DrGY1rQCcD1hm
aI86Q6B8ALg3jpTiz3mBo8w=
=zo1+
-----END PGP SIGNATURE-----

--4Ckj6UjgE2iN1+kY--

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sat, 31 Dec 2005 15:35:27 +0100
From: Thomas Hood <email address hidden>
To: Marco d'Itri <email address hidden>
CC: Nathanael Nerode <email address hidden>, <email address hidden>,
 <email address hidden>
Subject: Re: udev breaks bootlogd

Marco d'Itri wrote:
> This is what I do on my system and it works fine, but I'd rather split
> mountvirtfs which is the correct solution.

OK, what if I split "mountdevsubfs" out of mountvirtfs and run it at
S04 and S37. Then udev can move its script to S03 so that it mounts
/dev between S02mountvirtfs and S04mountdevsubfs.

--
Thomas Hood

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote :

Marco d'Itri wrote:
> This is what I do on my system and it works fine, but I'd rather split
> mountvirtfs which is the correct solution.

OK, what if I split "mountdevsubfs" out of mountvirtfs and run it at
S04 and S37. Then udev can move its script to S03 so that it mounts
/dev between S02mountvirtfs and S04mountdevsubfs.

--
Thomas Hood

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sun, 01 Jan 2006 02:32:11 +0100
From: Thomas Hood <email address hidden>
To: <email address hidden>
Subject: severity not grave

severity 237056 important
stop

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote : severity not grave

severity 237056 important
stop

Revision history for this message
In , Marco d'Itri (md) wrote : Re: Bug#237056: udev breaks bootlogd

On Dec 31, Thomas Hood <email address hidden> wrote:

> OK, what if I split "mountdevsubfs" out of mountvirtfs and run it at
> S04 and S37. Then udev can move its script to S03 so that it mounts
> /dev between S02mountvirtfs and S04mountdevsubfs.
Yes. Long time, the udev init script should probably mount /proc and
/sys by itself like other distributions do and then the S02 script
would not be needed anymore.

--
ciao,
Marco

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote :

Marco d'Itri wrote:
> On Dec 31, Thomas Hood <email address hidden> wrote:
>
>> OK, what if I split "mountdevsubfs" out of mountvirtfs and run it at
>> S04 and S37. Then udev can move its script to S03 so that it mounts
>> /dev between S02mountvirtfs and S04mountdevsubfs.
>
> Yes.

OK, I have made the necessary changes in svn. mountvirtfs will run at S02 and S36;
mountdevsubfs will run at S04 and S37. Note that S04mountdevsubfs will still run
_before_ S04udev so the net behavior will remain unchanged. (Also, I am not sure
that mountdevsubfs needs to run at S37 but I think it's best to make changes in
small steps.) The next step would be for the udev initscript to be moved back to S03.
--
Thomas Hood

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sun, 1 Jan 2006 21:04:15 +0100
From: <email address hidden> (Marco d'Itri)
To: Thomas Hood <email address hidden>, <email address hidden>
Cc: Nathanael Nerode <email address hidden>,
 <email address hidden>
Subject: Re: Bug#237056: udev breaks bootlogd

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

On Dec 31, Thomas Hood <email address hidden> wrote:

> OK, what if I split "mountdevsubfs" out of mountvirtfs and run it at
> S04 and S37. Then udev can move its script to S03 so that it mounts
> /dev between S02mountvirtfs and S04mountdevsubfs.
Yes. Long time, the udev init script should probably mount /proc and
/sys by itself like other distributions do and then the S02 script
would not be needed anymore.

--=20
ciao,
Marco

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

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

iD8DBQFDuDW/FGfw2OHuP7ERAozeAJ9IK2otMZE7XrxW772hA+meJ+1ahwCeIBdf
miVTgX8kvA6vig0Si6b1upk=
=V6fu
-----END PGP SIGNATURE-----

--Kj7319i9nmIyA2yE--

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sun, 01 Jan 2006 21:17:38 +0100
From: Thomas Hood <email address hidden>
To: Marco d'Itri <email address hidden>
CC: <email address hidden>, Nathanael Nerode <email address hidden>,
 <email address hidden>
Subject: Re: Bug#237056: udev breaks bootlogd

Marco d'Itri wrote:
> On Dec 31, Thomas Hood <email address hidden> wrote:
>
>> OK, what if I split "mountdevsubfs" out of mountvirtfs and run it at
>> S04 and S37. Then udev can move its script to S03 so that it mounts
>> /dev between S02mountvirtfs and S04mountdevsubfs.
>
> Yes.

OK, I have made the necessary changes in svn. mountvirtfs will run at S02 and S36;
mountdevsubfs will run at S04 and S37. Note that S04mountdevsubfs will still run
_before_ S04udev so the net behavior will remain unchanged. (Also, I am not sure
that mountdevsubfs needs to run at S37 but I think it's best to make changes in
small steps.) The next step would be for the udev initscript to be moved back to S03.
--
Thomas Hood

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Made similar split to Debian (for future compatibility)

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Fixed in sysvinit_2.86.ds1-6ubuntu1

Revision history for this message
In , Marco d'Itri (md) wrote : Bug#237056: fixed in udev 0.080-1

Source: udev
Source-Version: 0.080-1

We believe that the bug you reported is fixed in the latest version of
udev, which is due to be installed in the Debian FTP archive:

udev-udeb_0.080-1_i386.udeb
  to pool/main/u/udev/udev-udeb_0.080-1_i386.udeb
udev_0.080-1.diff.gz
  to pool/main/u/udev/udev_0.080-1.diff.gz
udev_0.080-1.dsc
  to pool/main/u/udev/udev_0.080-1.dsc
udev_0.080-1_i386.deb
  to pool/main/u/udev/udev_0.080-1_i386.deb
udev_0.080.orig.tar.gz
  to pool/main/u/udev/udev_0.080.orig.tar.gz

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to <email address hidden>,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Marco d'Itri <email address hidden> (supplier of updated udev package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing <email address hidden>)

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

Format: 1.7
Date: Thu, 12 Jan 2006 18:24:29 +0100
Source: udev
Binary: udev udev-udeb
Architecture: source i386
Version: 0.080-1
Distribution: unstable
Urgency: medium
Maintainer: Marco d'Itri <email address hidden>
Changed-By: Marco d'Itri <email address hidden>
Description:
 udev - /dev/ and hotplug management daemon
 udev-udeb - /dev/ and hotplug management daemon (udeb)
Closes: 237056
Changes:
 udev (0.080-1) unstable; urgency=medium
 .
   * New upstream release.
   * Moved S04udev to S03udev. (Closes: #237056)
Files:
 f81e869feefb3681052319754861b61b 590 admin optional udev_0.080-1.dsc
 7043a9a551e29af3ed1f64a4c7d1f3d4 194388 admin optional udev_0.080.orig.tar.gz
 4cbd50aaec132460d45713287639c93d 46062 admin optional udev_0.080-1.diff.gz
 20c6f61d25ebe79929a5f65e635c8e07 261750 admin optional udev_0.080-1_i386.deb
 7bad4ae21e4b2723288b4841a5f6d996 43246 debian-installer optional udev-udeb_0.080-1_i386.udeb
Package-Type: udeb

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

iD8DBQFDx4pbFGfw2OHuP7ERApRGAJ9ouslGXx9zHZcYeW9mklyEe7nfyQCeLhmA
LzEytEuhp/7Omnz11LfU9Hc=
=WCjn
-----END PGP SIGNATURE-----

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-Id: <email address hidden>
Date: Fri, 13 Jan 2006 03:17:17 -0800
From: Marco d'Itri <email address hidden>
To: <email address hidden>
Subject: Bug#237056: fixed in udev 0.080-1

Source: udev
Source-Version: 0.080-1

We believe that the bug you reported is fixed in the latest version of
udev, which is due to be installed in the Debian FTP archive:

udev-udeb_0.080-1_i386.udeb
  to pool/main/u/udev/udev-udeb_0.080-1_i386.udeb
udev_0.080-1.diff.gz
  to pool/main/u/udev/udev_0.080-1.diff.gz
udev_0.080-1.dsc
  to pool/main/u/udev/udev_0.080-1.dsc
udev_0.080-1_i386.deb
  to pool/main/u/udev/udev_0.080-1_i386.deb
udev_0.080.orig.tar.gz
  to pool/main/u/udev/udev_0.080.orig.tar.gz

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to <email address hidden>,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Marco d'Itri <email address hidden> (supplier of updated udev package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing <email address hidden>)

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

Format: 1.7
Date: Thu, 12 Jan 2006 18:24:29 +0100
Source: udev
Binary: udev udev-udeb
Architecture: source i386
Version: 0.080-1
Distribution: unstable
Urgency: medium
Maintainer: Marco d'Itri <email address hidden>
Changed-By: Marco d'Itri <email address hidden>
Description:
 udev - /dev/ and hotplug management daemon
 udev-udeb - /dev/ and hotplug management daemon (udeb)
Closes: 237056
Changes:
 udev (0.080-1) unstable; urgency=medium
 .
   * New upstream release.
   * Moved S04udev to S03udev. (Closes: #237056)
Files:
 f81e869feefb3681052319754861b61b 590 admin optional udev_0.080-1.dsc
 7043a9a551e29af3ed1f64a4c7d1f3d4 194388 admin optional udev_0.080.orig.tar.gz
 4cbd50aaec132460d45713287639c93d 46062 admin optional udev_0.080-1.diff.gz
 20c6f61d25ebe79929a5f65e635c8e07 261750 admin optional udev_0.080-1_i386.deb
 7bad4ae21e4b2723288b4841a5f6d996 43246 debian-installer optional udev-udeb_0.080-1_i386.udeb
Package-Type: udeb

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

iD8DBQFDx4pbFGfw2OHuP7ERApRGAJ9ouslGXx9zHZcYeW9mklyEe7nfyQCeLhmA
LzEytEuhp/7Omnz11LfU9Hc=
=WCjn
-----END PGP SIGNATURE-----

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote : Update

This report (#237056) has been closed by the latest udev upload. The full solution
requires installing both this udev version (0.080-1) and the upcoming initscripts
version (2.86.ds1-10) which does what Nathanael Nerode suggested:

> * split mountvirtfs into multiple scripts, one for /proc and /sys which
> runs before udev, and one for /dev/pts and /dev/shm which runs after.

The two scripts are called (in initscripts 2.86.ds1-10) 'mountkernfs.sh' and
'mountdevsubfs.sh'.
--
Thomas Hood

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote : bootlogd

Nathanael Nerode wrote:
> I've found the source of bug 237056. I think it's udev's responsibility,
> but you can discuss that amongst yourselves.
>
> bootlogd calls a routine in glibc which tries to get a UNIX98 PTY. If that
> fails, it looks for a BSD (legacy) PTY. If that fails (perhaps because
> they're not compiled into the kernel, because nothing much uses them), it
> gives up and dies.

I just checked the code and I see no where where bootlogd attempts to open a
UNIX98 PTY. So why do you claim that it does?
--
Thomas Hood

Revision history for this message
In , Thomas Hood (jdthood-yahoo) wrote :

Nathanael Nerode wrote:
> I've found the source of bug 237056. I think it's udev's responsibility,
> but you can discuss that amongst yourselves.
>
> bootlogd calls a routine in glibc which tries to get a UNIX98 PTY. If that
> fails, it looks for a BSD (legacy) PTY. If that fails (perhaps because
> they're not compiled into the kernel, because nothing much uses them), it
> gives up and dies.

I wrote:
> I just checked the code and I see no where where bootlogd attempts to open a
> UNIX98 PTY. So why do you claim that it does?

(bootlogd uses openpty(3).)

OK, contrary to what the man page says, openpty() _does_ attempt to open unix98
PTYs before it looks at the legacy PTY device nodes. I just checked this using
a little test program and strace (libc6 2.3.5-11). Sorry for the noise.
--
Thomas Hood

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

Other bug subscribers

Remote bug watches

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