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

Bug#407577: cdebconf: frontend crashes on GoBack from user-setup



reassign 407577 cdebconf
retitle 407577 cdebconf: frontend crashes on GoBack from user-setup
thanks

(Please keep the title of the bug in the subject of mails; that helps
to recognize what they are about!)

On Wednesday 24 January 2007 18:16, Attilio Fiandrotti wrote:
> I noticed that this bug can be reproduced the way frans suggested iff
> the installer is run at priorities high or critical (low or med don't
> do).
>
> Another way to reproduce this bug is entering disagreeing passwords,
> pressing <Ok> and then <Back>.

I have just tested how the newt frontend behaves in this case, and that
can be made to crash too, with basically the same behavior.
Note that in the newt frontend the password and confirmation questions
(and the error) are displayed as separate dialogs.

- First time, I enter nothing in the password and the confirmation
  dialogs, after which the "empty password" error is shown
- If I choose <Go back> _at that error dialog_, the frontend crashes

So, I'm now guessing this is a general debconf issue, and not a gtk
frontend issue.

The log for user-setup with "DEBCONF_DEBUG=." shows:
<snip>
Jan 25 03:28:00 main-menu[1079]: INFO: Menu item 'user-setup-udeb' selected
Jan 25 03:28:00 debconf: --> SETTITLE debian-installer/user-setup-udeb/title
Jan 25 03:28:00 debconf: <-- 0 OK
Jan 25 03:28:00 debconf: --> CAPB backup
Jan 25 03:28:00 debconf: <-- 0 multiselect backup progresscancel
Jan 25 03:28:00 debconf: --> INPUT low passwd/shadow
Jan 25 03:28:00 debconf: Comparing priorities low (0) with high (2)
Jan 25 03:28:00 debconf: <-- 30 question skipped
Jan 25 03:28:00 debconf: --> INPUT medium passwd/root-login
Jan 25 03:28:00 debconf: Comparing priorities medium (1) with high (2)
Jan 25 03:28:00 debconf: <-- 30 question skipped
Jan 25 03:28:00 debconf: --> GO
Jan 25 03:28:00 debconf: <-- 0 ok
Jan 25 03:28:00 debconf: --> GET passwd/root-login
Jan 25 03:28:00 debconf: <-- 0 true
Jan 25 03:28:00 debconf: --> GET passwd/root-password-crypted
Jan 25 03:28:00 debconf: <-- 0
Jan 25 03:28:00 debconf: --> SET passwd/root-password-crypted
Jan 25 03:28:00 debconf: rfc822db_question_remove(db,tag=passwd/root-password-crypted)
Jan 25 03:28:00 debconf: rfc822db_question_set(db,q=passwd/root-password-crypted,q=0x8d53218)
Jan 25 03:28:00 debconf: <-- 0 value set
Jan 25 03:28:00 debconf: --> INPUT critical passwd/root-password
Jan 25 03:28:00 debconf: Comparing priorities critical (3) with high (2)
Jan 25 03:28:00 debconf: <-- 0 question will be asked
Jan 25 03:28:00 debconf: --> INPUT critical passwd/root-password-again
Jan 25 03:28:00 debconf: Comparing priorities critical (3) with high (2)
Jan 25 03:28:00 debconf: <-- 0 question will be asked
Jan 25 03:28:00 debconf: --> GO
Jan 25 03:28:02 debconf: rfc822db_question_remove(db,tag=passwd/root-password)
Jan 25 03:28:02 debconf: rfc822db_question_set(db,q=passwd/root-password,q=0x8d52f78)
Jan 25 03:28:02 debconf: rfc822db_question_remove(db,tag=passwd/root-password-again)
Jan 25 03:28:02 debconf: rfc822db_question_set(db,q=passwd/root-password-again,q=0x8d52ed0)
Jan 25 03:28:02 debconf: <-- 0 ok
Jan 25 03:28:03 debconf: --> GET passwd/root-login
Jan 25 03:28:03 debconf: <-- 0 true
Jan 25 03:28:03 debconf: --> GET passwd/root-password-crypted
Jan 25 03:28:03 debconf: <-- 0
Jan 25 03:28:03 debconf: --> GET passwd/root-password
Jan 25 03:28:03 debconf: <-- 0
Jan 25 03:28:03 debconf: --> FSET user-setup/password-empty seen false
Jan 25 03:28:03 debconf: <-- 0 false
Jan 25 03:28:03 debconf: --> INPUT critical user-setup/password-empty
Jan 25 03:28:03 debconf: <-- 0 question will be asked
Jan 25 03:28:03 debconf: --> FSET passwd/root-password seen false
Jan 25 03:28:03 debconf: <-- 0 false
Jan 25 03:28:03 debconf: --> FSET passwd/root-password-again seen false
Jan 25 03:28:03 debconf: <-- 0 false
Jan 25 03:28:03 debconf: --> GET passwd/root-login
Jan 25 03:28:03 debconf: <-- 0 true
Jan 25 03:28:03 debconf: --> GET passwd/root-password-crypted
Jan 25 03:28:03 debconf: <-- 0
Jan 25 03:28:03 debconf: --> SET passwd/root-password-crypted
Jan 25 03:28:03 debconf: rfc822db_question_remove(db,tag=passwd/root-password-crypted)
Jan 25 03:28:03 debconf: rfc822db_question_set(db,q=passwd/root-password-crypted,q=0x8d53218)
Jan 25 03:28:03 debconf: <-- 0 value set
Jan 25 03:28:03 debconf: --> INPUT critical passwd/root-password
Jan 25 03:28:03 debconf: Comparing priorities critical (3) with high (2)
Jan 25 03:28:03 debconf: <-- 0 question will be asked
Jan 25 03:28:03 debconf: --> INPUT critical passwd/root-password-again
Jan 25 03:28:03 debconf: Comparing priorities critical (3) with high (2)
Jan 25 03:28:03 debconf: <-- 0 question will be asked
Jan 25 03:28:03 debconf: --> GO
Jan 25 03:28:04 init: Process '/sbin/debian-installer' (pid 1032) exited.  Scheduling it for restart.
Jan 25 03:28:04 init: Starting pid 15234, console /dev/vc/1: '/sbin/debian-installer'
</snip>


In the newt frontend this also does not happen at medium/low priority:
a <Go Back> at the error dialog nicely returns you to the "STATE=0"
questions. The doubly weird thing is that there are two "STATE=0"
questions, the first of which is also skipped at medium prio. The bug
only seems to manifest itself if _both_ of these questions are skipped.

The really, completely weird thing is that all debugging I've done shows
that the crash happens _at_ the db_go, so the script never does go back
to the STATE=0 case. It does not even do the error checking for the db_go.

Some added logger statements in user-setup-ask show, at medium priority:
[...]
End STATE 1
Doing db_go
From db_go: 30
New STATE: 0
Start STATE 0
End STATE 0
Doing db_go
[...]

While at high priority, this shows:
[...]
End STATE 1
Doing db_go
init: Starting pid 15234, console /dev/vc/1: '/sbin/debian-installer'


I hope that someone can make chocolate of this.

Cheers,
FJP

Attachment: pgpX8QN5Ypa82.pgp
Description: PGP signature


Reply to: