sieve-connect doesn't like to be called without parameters

Bug #724264 reported by Malte S. Stretz
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
sieve-connect (Ubuntu)
Fix Released
Undecided
Phil Pennock

Bug Description

Binary package hint: sieve-connect

If you call sieve-connect without parameters it will go into an endless loop spitting out

Use of uninitialized value $fam_listen in numeric ne (!=) at /usr/share/perl5/IO/Socket/INET6.pm line 182.

all over your screen. It should do something reasonable, like calling --help.

I also tried 0.73-1 and the behaviour persists. There's an updated version 0.77 at http://people.spodhuis.org/phil.pennock/software/ which I didn't try.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: sieve-connect 0.69-1
ProcVersionSignature: Ubuntu 2.6.35-25.44-generic 2.6.35.10
Uname: Linux 2.6.35-25-generic i686
Architecture: i386
Date: Thu Feb 24 12:47:11 2011
InstallationMedia: Kubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100427)
PackageArchitecture: all
ProcEnviron:
 LANGUAGE=
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: sieve-connect

Revision history for this message
Malte S. Stretz (mss) wrote :
description: updated
Malte S. Stretz (mss)
description: updated
Revision history for this message
Phil Pennock (phil.pennock) wrote :

I'm the author of this code and only just found this bug-report at Ubuntu. What should happen is something like this:

### ./ because I just checked out rev 69 of the code
% ./sieve-connect.pl
Connection to <[localhost]:sieve(4190)> failed.

That's because if you set $IMAP_SERVER in the environment, then when invoked with no arguments it connects straight in, so the "just connect to best derived destination" is the default behaviour.

I can't reproduce this upstream (non-Ubuntu) and the error message is inside one of the dependent Perl modules, referencing a variable that's not part of my code, so I think that this is a bug in one of the Perl libraries, at a particular point in time. "sieve-connect --debug --version" will tell you the versions of the main libraries it depends upon; for me, I see:
  Module IO::Socket::INET6 Version 2.69

On an Oneiric VM, I see:
  Module IO::Socket::INET6 Version 2.65
and the correct error message, no loop.

Looking through http://cpansearch.perl.org/src/SHLOMIF/IO-Socket-INET6-2.69/ChangeLog I don't see anything which appears to be relevant.

So for now I'm going to pass on making any changes, since it looks like a bug in a version of the code I can't identify, already fixed in more recent versions of that code, and where I've no idea what I might be able to do to work around it for the bad library versions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in sieve-connect (Ubuntu):
status: New → Confirmed
Revision history for this message
Phil Pennock (phil.pennock) wrote :

Is this still happening with current versions of Ubuntu?

Revision history for this message
Malte S. Stretz (mss) wrote :

I can't really remember what was wrong here but I it looks like it self-healed:

[stretz:~] 127 $ sudo apt-get install sieve-connect
[sudo] password for stretz:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libkolabxml0 libkolab0 libboost-thread1.48.0 libxerces-c3.1
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  sieve-connect
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 29.7 kB of archives.
After this operation, 108 kB of additional disk space will be used.
Get:1 http://de.archive.ubuntu.com/ubuntu/ precise/universe sieve-connect all 0.81-2 [29.7 kB]
Fetched 29.7 kB in 0s (120 kB/s)
Selecting previously unselected package sieve-connect.
(Reading database ... 514229 files and directories currently installed.)
Unpacking sieve-connect (from .../sieve-connect_0.81-2_all.deb) ...
Processing triggers for man-db ...
Setting up sieve-connect (0.81-2) ...
[stretz:~] 9s $ sieve-connect
Connection to <[localhost]:sieve(4190)> failed.

Revision history for this message
Phil Pennock (phil.pennock) wrote :

Taking ownership, if Launchpad lets me, as I'm the upstream author. Intent: close bug, as it was surfacing a problem in a Perl library dependency which has (apparently) since been fixed.

Changed in sieve-connect (Ubuntu):
status: Confirmed → Incomplete
assignee: nobody → Phil Pennock (phil.pennock)
status: Incomplete → Fix Released
Revision history for this message
Phil Pennock (phil.pennock) wrote :

Opted for "Fix Released", as the nearest available match which doesn't deny that there was a problem and acknowledges that, wherever the problem was, it has now been resolved.

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.