upgrade process hangs

Bug #286290 reported by Henning Sprang
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
postfix (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Binary package hint: postfix

When applying security upgrades on postfix, the upgrade process hangs at one point, saying:

"
Bad recipient delimiter
The recipient delimiter must be a single character. 'question skipped' is what you entered
"

Fine, but I never entered these words anywhere.

But the process hangs here, the only "choice" I am offered is "OK", but hitting on that does not make anything happen.

In the output of debconf-show,. I cannot even see this wrong value:

It's right, the mentioned wrong value is there:

root@xnote:~# debconf-show postfix
  postfix/mailname: filet.lazy
  postfix/tlsmgr_upgrade_warning:
  postfix/recipient_delim: +
* postfix/main_mailer_type: "No configuration"
  postfix/retry_upgrade_warning:
  postfix/kernel_version_warning:
  postfix/relayhost:
  postfix/procmail: false
  postfix/bad_recipient_delimiter:
  postfix/chattr: false
  postfix/root_address:
  postfix/rfc1035_violation: false
  postfix/mydomain_warning:
  postfix/mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  postfix/destinations: filet.lazy, localhost.lazy, localhost
  postfix/not_configured:
  postfix/mailbox_limit: 0
  postfix/protocols: all

The upgrade is completely unusable for me, the package installation is broken!
It's insofar a security vulnerability, as it leaves me with an old package version, without being able to _apply_ the available security fix.

Revision history for this message
LaMont Jones (lamont) wrote :

Which version of postfix are you seeing this in?

Changed in postfix:
status: New → Incomplete
Revision history for this message
Henning Sprang (henning) wrote : Re: [Bug 286290] Re: upgrade process hangs

On Mon, Oct 20, 2008 at 1:51 PM, LaMont Jones <email address hidden> wrote:
> Which version of postfix are you seeing this in?

Sorry for not giving this info - it just happened on the upgrade from
2.5.1-2ubuntu1 to 2.5.1-2ubuntu1.2, on hardy.

But while testing further, I realized that I also couldn't just go
back to the *1 version.
Removing the package completely, and just simply installing it again
worked fine.

Now, postfix's debconf data looks like this:

* postfix/mailname: filet.lazy
  postfix/tlsmgr_upgrade_warning:
  postfix/recipient_delim: +
* postfix/main_mailer_type: No configuration
  postfix/retry_upgrade_warning:
  postfix/kernel_version_warning:
  postfix/relayhost:
  postfix/procmail: false
* postfix/bad_recipient_delimiter:
  postfix/chattr: false
  postfix/root_address:
  postfix/rfc1035_violation: false
  postfix/mydomain_warning:
  postfix/mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  postfix/destinations: true, localhost, localhost.localdomain, localhost
  postfix/not_configured: 1
  postfix/mailbox_limit: 0
  postfix/protocols: all

The diff being

henning@xnote:/hier/produktion/tmp$ diff postfix-before.txt postfix-after.txt
1c1
< postfix/mailname: filet.lazy
---
> * postfix/mailname: filet.lazy
4c4
< * postfix/main_mailer_type: "No configuration"
---
> * postfix/main_mailer_type: No configuration
9c9
< postfix/bad_recipient_delimiter:
---
> * postfix/bad_recipient_delimiter:
15c15
< postfix/destinations: filet.lazy, localhost.lazy, localhost
---
> postfix/destinations: true, localhost, localhost.localdomain, localhost

(which might be not 100% exact, as some of the differences might be
due to the fact of me playing with the settings to persuade postfix to
get installed)

I also messed with the postfix.config file a bit, but to no useful effect.
So it's probably unclear whether the error is really caused by changes
in postfix or by changes in general debconf handling code (e.g. the
perl helper libs?!)

Revision history for this message
Dimitrios Symeonidis (azimout) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue for you. Can you try with the latest Ubuntu release? Thanks in advance.

Revision history for this message
Mike (mailmichael) wrote :

I'm running into the same problem on a fresh install on ubuntu 9.0.4. It won't accept my input for the qualified domain and prints out the following to stderr AFAIK:

Warning: Newline present in parameters passed to debconf.
This will probably cause strange things to happen!

Here are the steps I'm following:
1) run sudo apt-get install postfix (It then adds ssl-cert to the list)
2) Select Postfix Configuration "Internet Site"
3) Enter 2oceanview.com as the domain. It doesn't accept it and restores the default entry mail.2oceanview.com. I modify the entry again and select OK and it goes to the "question skipped" issue described above.

Thus, I think there are two errors here.

a) I'm not trying to skip the question. It is just not accepting my input.
b) the value 'skipped question' to indicate the question was skipped includes an invalid delimiter ('\n').

That being said, I seem to be getting further by choosing not choosing "internet site" but instead to not configure it. Then I run sudo dpkg-reconfigure postfix and it accepts my entry for the domain.

Revision history for this message
Mike (mailmichael) wrote :

The "sudo dpkg-reconfigure postfix" method of configuring (which I assume would use the same files) is failing on the "recipient delimiter" issue, though it is claiming I entered "ok" no matter what I enter.

I tried debugging the perl code, but I'm not familiar with per and couldn't easily find where the get() call is being made (not in the postfix.* files at least). Thus, I hardwired postfix.config to use "+" no matter what the input.

          my $delim = get("postfix/recipient_delim");
          if (length($delim) > 1) {
            print STDERR "bad_recipient_delimiter: . $delim .\n";
            $delim = "+";
            # fset("postfix/bad_recipient_delimiter","isdefault","true");
            # subst("postfix/bad_recipient_delimiter", "enteredstring", $delim);
            # $noninteractive = (((input("low", "postfix/bad_recipient_delimiter"))[0]) == 30);
            # fset("postfix/recipient_delim","isdefault","true");
            # and do it again...
          } # else {
            fset("postfix/recipient_delim", "changed", "true");
            $topstate = "protocols";
          # }

Revision history for this message
Jonathan Marsden (jmarsden) wrote :

Mike,

(1) The "new line in parameters" thing means that somehow debconf thinks there is a newline in a previous stored response to one of its questions, and that this is a problem. Are you sure you *purged* any previous postfix install before trying to install it afresh?

I just tried this here on Ubuntu 9.04 Jaunty amd64 and

  sudo apt-get purge postfix
  sudo apt-get install postfix
  sudo dpkg-reconfigure postfix

all work fine for me.

(2) I'm wondering what locale your machine and shell are using? Does doing

  sudo LANG=C dpkg-reconfigure postfix

make any difference?

(3) Your proposed domain name 2oceanview.com is not in the preferred form per RFC 1035, which has a syntax definition that shows that domain names should start with a letter.

Can you please try:

  sudo apt-get purge postfix
  sudo apt-get install postfix

and this time, use the domain name oceanview.com (no leading "2", just as a test!), to see whether that works for you?

Jonathan

Revision history for this message
Mike (mailmichael) wrote :

Hi Jonathan,

Thank you for the useful response. I decided to give it a try. Unfortunately, I cannot get it back into the state where it gives me an error. Everything seems to be working just as it is working for you.

I'm not sure what I can do now. It is no longer an issue for me and is irreproducible. Still, if there was a way to help without investing a significant amount of time, I'll be glad to give it a try.

Thanks again for your help,
Mike

Revision history for this message
Jonathan Marsden (jmarsden) wrote :

Mike,

I suspect the problem was caused by an odd/corrupt/invalid set of answers to the configuration questions for postfix, which are normally stored in /var/cache/debconf/config.dat .

If you happen to have a backup of that file from the time when the issue occurred, we could look at that file for clues. You could even restore your entire system to that state and reproduce the issue that way, though I realize that might well be more work than you are able to spend on this!

Otherwise, since this is no longer an issue for you, and neither of us can reproduce it, I would like (with your consent) to just set this bug to Invalid.

Jonathan

Chuck Short (zulcss)
Changed in postfix (Ubuntu):
status: Incomplete → Won't Fix
Revision history for this message
Stuart1745 (rampy1745) wrote :

ok this just started to effect me on ubuntu 9.04. would getting rid of my /var/cache/debconf/config.dat solve this issue. or would that cause more problems than it would solve?

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.