Processed: Re: Bug#971019: accidental chaining of debconf commands

2021-02-12 Thread Debian Bug Tracking System
Processing control commands:

> severity -1 important
Bug #971019 [cdebconf] accidental chaining of debconf commands
Severity set to 'important' from 'critical'

-- 
971019: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971019
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#971019: accidental chaining of debconf commands

2021-02-12 Thread Cyril Brulebois
Control: severity -1 important

(cc-ing Paul for information, due to interest in RC bugs)

Hello Wilco,

Wilco Baan Hofman  (2020-09-26):
> Package: cdebconf
> Version: 0.249
> Severity: critical
> 
> I have a problem with the debian installer, at the finish-install
> stage in the udeb clock-setup.

I can't replicate it with a current-ish installation image
(debian-10.7.0-amd64-netinst.iso)

> The interaction in the syslog during install (manually copied from screen):
> finish-install: info: Running /usr/lib/finish-install.d/10clock-setup
> debconf: --> FGET clock-setup/utc seen
> debconf: <-- 0 true
> debconf: --> SET clock-setup/utc true INPUT low clock-setup/utc
> debconf: <-- 0 value set
> debconf: --> GO
> debconf: <-- 0 ok
> debconf: --> GET clock/setup/utc
> debconf: <-- 0 true INPUT low clock-setup/utc
> debconf: --> GET clock-setup/system-time-changed
> debconf: <-- 0 false
> finish-install: /usr/lib/finish-install.d/10clock-setup: return: line
> 46: illegal number: INPUT
> finish-install: warning: /usr/lib/finish-install.d/10clock-setup
> returned error code 2

> For reproducing the error if that's required:
> This is a preseeded Debian Buster install on VMWare ESXi, relevant
> preseed config:

I don't have VMWare ESXi, but I couldn't replicate this on bullseye's
QEMU.

> ### Clock and timezone setup
> # Controls whether or not the hardware clock is set to UTC.
> d-i clock-setup/utc boolean true
> 
> # You may set this to any valid setting for $TZ; see the contents of
> # /usr/share/zoneinfo/ for valid values.
> d-i time/zone string Europe/Amsterdam
> 
> # Controls whether to use NTP to set the clock during the install
> d-i clock-setup/ntp boolean true
> # NTP server to use. The default is almost always fine here.
> #d-i clock-setup/ntp-server string ntp.example.org

I've added a few variables on my own, just to make sure I wouldn't have
to answer too many questions. The full file is attached for reference.

d-i started from the “Automated Graphical Install” menu with the
following additions on the kernel command line:

url=https://mraw.org/~kibi/preseed.cfg DEBCONF_DEBUG=developer

with a 5G qemu-img-created as hda disk, and the iso as a cdrom.

> I can't really see why this path would be hit, "db_fget
> clock-setup/utc seen" should return true and this whole thing should
> be skipped, but somehow that is not how it works out.. and the debconf
> confmodule just chains 2 commands together without any separation or
> wait time, causing an error during finish-install, effectively halting
> all installs.
> 
> seems like either a clear separator is missing (newline?) or a buffer
> must be flushed after every SET..

That's quite surprising, given that's not exactly a new feature, or a
fast-paced changing codebase…

I'm lowering severity for the time being, I think we'd need a way to
reproduce this before proceeding any further (that wouldn't involve a
proprietary hypervisor as far as I'm concerned).


Cheers,
-- 
Cyril Brulebois (k...@debian.org)
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


Bug#971019: accidental chaining of debconf commands

2021-02-12 Thread Paul Gevers
Hi,

Excuse me if I totally got this wrong, but to an outsider this looks
like a typo...

On Sat, 26 Sep 2020 12:17:13 +0200 Wilco Baan Hofman
 wrote:
> debconf: --> FGET clock-setup/utc seen ^ hyphen
> debconf: <-- 0 true
> debconf: --> SET clock-setup/utc true INPUT low clock-setup/utc   
>  ^ hyphen   ^ hyphen
> debconf: <-- 0 value set
> debconf: --> GO
> debconf: <-- 0 ok
> debconf: --> GET clock/setup/utc
^ slash
> debconf: <-- 0 true INPUT low clock-setup/utc
 ^ hyphen
> debconf: --> GET clock-setup/system-time-changed
> debconf: <-- 0 false

> For reproducing the error if that's required:
> This is a preseeded Debian Buster install on VMWare ESXi, relevant
> preseed config:
> 
> ### Clock and timezone setup
> # Controls whether or not the hardware clock is set to UTC.
> d-i clock-setup/utc boolean true
   ^ hyphen
Paul



OpenPGP_signature
Description: OpenPGP digital signature


Bug#971019: accidental chaining of debconf commands

2020-09-26 Thread Wilco Baan Hofman
Package: cdebconf
Version: 0.249
Severity: critical

I have a problem with the debian installer, at the finish-install stage
in the udeb clock-setup.

The following code path produces a strange protocol interaction:


if db_fget clock-setup/utc seen && [ "$RET" = true ]; then
# keep preseeded value
:
else
probed=""

if arch_has_os_needing_local_clock; then
# os-prober may not yet be installed...
anna-install os-prober-udeb || true

probed=$(os-prober) || true

if [ -z "$probed" ]; then
# installing the only OS, so use UTC
db_set clock-setup/utc true
pri=low
fi
fi

db_input $pri clock-setup/utc || true
if ! db_go; then
|   exit 10 # back to main menu
fi

The interaction in the syslog during install (manually copied from screen):
finish-install: info: Running /usr/lib/finish-install.d/10clock-setup
debconf: --> FGET clock-setup/utc seen
debconf: <-- 0 true
debconf: --> SET clock-setup/utc true INPUT low clock-setup/utc
debconf: <-- 0 value set
debconf: --> GO
debconf: <-- 0 ok
debconf: --> GET clock/setup/utc
debconf: <-- 0 true INPUT low clock-setup/utc
debconf: --> GET clock-setup/system-time-changed
debconf: <-- 0 false
finish-install: /usr/lib/finish-install.d/10clock-setup: return: line
46: illegal number: INPUT
finish-install: warning: /usr/lib/finish-install.d/10clock-setup
returned error code 2


For reproducing the error if that's required:
This is a preseeded Debian Buster install on VMWare ESXi, relevant
preseed config:

### Clock and timezone setup
# Controls whether or not the hardware clock is set to UTC.
d-i clock-setup/utc boolean true

# You may set this to any valid setting for $TZ; see the contents of
# /usr/share/zoneinfo/ for valid values.
d-i time/zone string Europe/Amsterdam

# Controls whether to use NTP to set the clock during the install
d-i clock-setup/ntp boolean true
# NTP server to use. The default is almost always fine here.
#d-i clock-setup/ntp-server string ntp.example.org


I can't really see why this path would be hit, "db_fget clock-setup/utc
seen" should return true and this whole thing should be skipped, but
somehow that is not how it works out.. and the debconf confmodule just
chains 2 commands together without any separation or wait time, causing
an error during finish-install, effectively halting all installs.

seems like either a clear separator is missing (newline?) or a buffer
must be flushed after every SET..

Kind regards,

Wilco Baan Hofman