Subject: dpkg: version '/usr/share/myspell/dicts' has bad syntax: invalid
character in version number
Date: Sat, 20 Nov 2010 13:11:39 +0100
Package: postgresql-common
Version: 111
Hi,
I'm seeing this:
Unpacking replacement myspell-nl ...
Processing triggers for postgresql-common ...
dpkg: version '/usr/share/myspell/dicts' has bad syntax: invalid character in version number
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
[...]
Kurt
Information forwarded
to [email protected]: Bug#604114; Package postgresql-common.
(Sun, 21 Nov 2010 20:21:12 GMT) (full text, mbox, link).
Acknowledgement sent
to Martin Pitt <[email protected]>:
Extra info received and forwarded to list.
(Sun, 21 Nov 2010 20:21:12 GMT) (full text, mbox, link).
Subject: Re: Bug#604114: dpkg: version '/usr/share/myspell/dicts' has bad
syntax: invalid character in version number
Date: Sun, 21 Nov 2010 21:20:14 +0100
Hello Kurt,
Kurt Roeckx [2010-11-20 13:11 +0100]:
> Unpacking replacement myspell-nl ...
> Processing triggers for postgresql-common ...
> dpkg: version '/usr/share/myspell/dicts' has bad syntax: invalid character in version number
> Building PostgreSQL dictionaries from installed myspell/hunspell packages...
I tried to reproduce this in current sid, but this doesn't trigger the
error. In fact, the current version of myspell-nl (1:2.0-1) does not
ship any files in /usr/share/myspell/ at all, so I guess this happens
due to another package that you have installed. I am also unable to
see yet where this message comes from. postgresql-common's postinst
only runs pg_updatedicts for "triggered", and the very first actual
thing that pg_updatedicts does is to print the "Building PostgreSQL
dictionaries.." message, so it's something that just slides in
between.
Can you please give me the output of
ls -lR /usr/share/myspell/dicts
dpkg -l '*myspell*' | cat
and check if running "pg_updatedicts" as root also produces this error
message?
Thank you,
Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
Subject: Re: Bug#604114: dpkg: version '/usr/share/myspell/dicts' has bad
syntax: invalid character in version number
Date: Sun, 21 Nov 2010 22:22:31 +0100
On Sun, Nov 21, 2010 at 09:20:14PM +0100, Martin Pitt wrote:
> Hello Kurt,
>
> Can you please give me the output of
>
> ls -lR /usr/share/myspell/dicts
> dpkg -l '*myspell*' | cat
$ ls -lR /usr/share/myspell/dicts
/usr/share/myspell/dicts:
total 580
-rw-r--r-- 1 root root 129761 Sep 25 16:50 DicOOo.sxw
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en_GB.aff -> ../../hunspell/en_GB.aff
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en-GB.aff -> ../../hunspell/en_GB.aff
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en_GB.dic -> ../../hunspell/en_GB.dic
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en-GB.dic -> ../../hunspell/en_GB.dic
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en_US.aff -> ../../hunspell/en_US.aff
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en-US.aff -> ../../hunspell/en_US.aff
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en_US.dic -> ../../hunspell/en_US.dic
lrwxrwxrwx 1 root root 24 Jul 5 21:25 en-US.dic -> ../../hunspell/en_US.dic
lrwxrwxrwx 1 root root 21 Nov 1 2009 fr.aff -> ../../hunspell/fr.aff
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_BE.aff -> ../../hunspell/fr_BE.aff
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_BE.dic -> ../../hunspell/fr_BE.dic
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_CA.aff -> ../../hunspell/fr_CA.aff
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_CA.dic -> ../../hunspell/fr_CA.dic
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_CH.aff -> ../../hunspell/fr_CH.af
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_CH.dic -> ../../hunspell/fr_CH.dic
lrwxrwxrwx 1 root root 21 Nov 1 2009 fr.dic -> ../../hunspell/fr.dic
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_FR.aff -> ../../hunspell/fr_FR.aff
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_FR.dic -> ../../hunspell/fr_FR.dic
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_LU.aff -> ../../hunspell/fr_LU.aff
lrwxrwxrwx 1 root root 24 Nov 1 2009 fr_LU.dic -> ../../hunspell/fr_LU.dic
lrwxrwxrwx 1 root root 27 Jul 5 21:25 hyph_af_ZA.dic -> ../../hyphen/hyph_af_ZA.dic
-rw-r--r--. 1 root root 187808 Apr 22 2007 la.aff
-rw-r--r--. 1 root root 253251 Apr 22 2007 la.dic
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl.aff -> ../../hunspell/nl.aff
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-AN.aff -> ../../hunspell/nl.aff
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-AN.dic -> ../../hunspell/nl.dic
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-AW.aff -> ../../hunspell/nl.aff
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-AW.dic -> ../../hunspell/nl.dic
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-BE.aff -> ../../hunspell/nl.aff
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-BE.dic -> ../../hunspell/nl.dic
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl.dic -> ../../hunspell/nl.dic
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-NL.aff -> ../../hunspell/nl.aff
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-NL.dic -> ../../hunspell/nl.dic
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-SR.aff -> ../../hunspell/nl.aff
lrwxrwxrwx 1 root root 21 Nov 20 13:08 nl-SR.dic -> ../../hunspell/nl.dic
lrwxrwxrwx 1 root root 28 Jul 5 21:26 th_en_US_v2.dat -> ../../mythes/th_en_US_v2.dat
lrwxrwxrwx 1 root root 28 Jul 5 21:26 th_en_US_v2.idx -> ../../mythes/th_en_US_v2.idx
$ dpkg -l '*myspell*' | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-============================================-============================-===============================================================================
un libmyspell-dev <none> (no description available)
un libmyspell3 <none> (no description available)
un libmyspell3c2 <none> (no description available)
un myspell-af <none> (no description available)
un myspell-bg <none> (no description available)
un myspell-ca <none> (no description available)
un myspell-cs-cz <none> (no description available)
un myspell-da <none> (no description available)
un myspell-de-at <none> (no description available)
un myspell-de-ch <none> (no description available)
un myspell-de-de <none> (no description available)
un myspell-de-de-oldspell <none> (no description available)
un myspell-dictionary <none> (no description available)
un myspell-dictionary-bg <none> (no description available)
un myspell-dictionary-ca <none> (no description available)
un myspell-dictionary-de <none> (no description available)
un myspell-dictionary-en <none> (no description available)
un myspell-dictionary-eo <none> (no description available)
un myspell-dictionary-es <none> (no description available)
un myspell-dictionary-fr <none> (no description available)
un myspell-dictionary-ga <none> (no description available)
un myspell-dictionary-gd <none> (no description available)
un myspell-dictionary-gl <none> (no description available)
un myspell-dictionary-gv <none> (no description available)
un myspell-dictionary-hu <none> (no description available)
un myspell-dictionary-it <none> (no description available)
un myspell-dictionary-lt <none> (no description available)
un myspell-dictionary-lv <none> (no description available)
un myspell-dictionary-nb <none> (no description available)
un myspell-dictionary-nl <none> (no description available)
un myspell-dictionary-nn <none> (no description available)
un myspell-dictionary-pl <none> (no description available)
un myspell-dictionary-pt <none> (no description available)
un myspell-dictionary-pt-br <none> (no description available)
un myspell-dictionary-sv <none> (no description available)
un myspell-el-gr <none> (no description available)
un myspell-en-au <none> (no description available)
ii myspell-en-gb 1:3.2.1-2 English_british dictionary for myspell
ii myspell-en-us 1:3.2.1-2 English_american dictionary for myspell
un myspell-en-za <none> (no description available)
un myspell-eo <none> (no description available)
un myspell-es <none> (no description available)
un myspell-et <none> (no description available)
un myspell-fa <none> (no description available)
un myspell-fi <none> (no description available)
un myspell-fo <none> (no description available)
ii myspell-fr 1.4-25 The French dictionary for myspell (Hydro-Quebec version)
un myspell-fr-fr <none> (no description available)
un myspell-fr-gut <none> (no description available)
un myspell-ga <none> (no description available)
un myspell-gd <none> (no description available)
un myspell-gl-es <none> (no description available)
un myspell-gv <none> (no description available)
un myspell-hr <none> (no description available)
un myspell-hu <none> (no description available)
un myspell-hy <none> (no description available)
un myspell-it <none> (no description available)
un myspell-ku <none> (no description available)
un myspell-lt <none> (no description available)
un myspell-lv <none> (no description available)
un myspell-nb <none> (no description available)
un myspell-ne <none> (no description available)
ii myspell-nl 1:1.10-5 Dutch dictionary for MySpell and Hunspell
un myspell-nn <none> (no description available)
un myspell-pl <none> (no description available)
un myspell-pt-br <none> (no description available)
un myspell-pt-pt <none> (no description available)
un myspell-ru <none> (no description available)
un myspell-sk <none> (no description available)
un myspell-sl <none> (no description available)
un myspell-sv-se <none> (no description available)
un myspell-sw <none> (no description available)
un myspell-th <none> (no description available)
un myspell-tl <none> (no description available)
o and check if running "pg_updatedicts" as root also produces this error
> message?
# pg_updatedicts
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
en_gb
en_us
fr
nl
la
This only seems to happen when upgrading from the version in testing,
or installing the version in testing. That version still has files
in /usr/share/myspell/dicts/, 2.0-1 doesn't anymore.
I added a set -x at the top of the postinst, I get:
+ . /usr/share/debconf/confmodule
+ [ ! ]
+ PERL_DL_NONLAZY=1
+ export PERL_DL_NONLAZY
+ [ ]
+ exec /usr/share/debconf/frontend /var/lib/dpkg/info/postgresql-common.postinst triggered /usr/share/myspell/dicts
dpkg: version '/usr/share/myspell/dicts' has bad syntax: invalid character in version number
+ . /usr/share/debconf/confmodule
Kurt
Information forwarded
to [email protected]: Bug#604114; Package postgresql-common.
(Sun, 05 Dec 2010 13:21:06 GMT) (full text, mbox, link).
Acknowledgement sent
to Martin Pitt <[email protected]>:
Extra info received and forwarded to list.
(Sun, 05 Dec 2010 13:21:06 GMT) (full text, mbox, link).
reassign 604114 dpkg 1.15.8.5
tag 604114 -moreinfo -unreproducible
thanks
Hello Kurt,
Kurt Roeckx [2010-11-21 22:22 +0100]:
> This only seems to happen when upgrading from the version in testing,
> or installing the version in testing. That version still has files
> in /usr/share/myspell/dicts/, 2.0-1 doesn't anymore.
>
> I added a set -x at the top of the postinst, I get:
> + . /usr/share/debconf/confmodule
> + [ ! ]
> + PERL_DL_NONLAZY=1
> + export PERL_DL_NONLAZY
> + [ ]
> + exec /usr/share/debconf/frontend /var/lib/dpkg/info/postgresql-common.postinst triggered /usr/share/myspell/dicts
> dpkg: version '/usr/share/myspell/dicts' has bad syntax: invalid character in version number
> + . /usr/share/debconf/confmodule
Confirmed. In squeeze, installing postgresql-common, then myspell-nl
will reproduce this. According to [1] above call of the p-common
postinst looks correct, "/usr/share/myspell/dicts" is a valid trigger
name that p-common subscribes to. It looks like debconf or dpkg itself
tries to interpret $2 as a version number even if $1 = "triggered";
with any other valid $1, $2 is indeed a version number, so it seems
this particular case isn't handled here?
This might also be a bug in debconf, but since the error message says
"dpkg" I reassign this to dpkg.
Thanks,
Martin
[1] http://www.seanius.net/blog/2009/09/dpkg-triggers-howto/
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
Acknowledgement sent
to Guillem Jover <[email protected]>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <[email protected]>.
(Sun, 05 Dec 2010 17:21:02 GMT) (full text, mbox, link).
Subject: Re: Bug#604114: dpkg: version '/usr/share/myspell/dicts' has bad
syntax: invalid character in version number
Date: Sun, 5 Dec 2010 18:19:00 +0100
Hi!
On Sun, 2010-12-05 at 14:18:51 +0100, Martin Pitt wrote:
> reassign 604114 dpkg 1.15.8.5
> tag 604114 -moreinfo -unreproducible
> thanks
>
> Hello Kurt,
>
> Kurt Roeckx [2010-11-21 22:22 +0100]:
> > This only seems to happen when upgrading from the version in testing,
> > or installing the version in testing. That version still has files
> > in /usr/share/myspell/dicts/, 2.0-1 doesn't anymore.
> >
> > I added a set -x at the top of the postinst, I get:
> > + . /usr/share/debconf/confmodule
> > + [ ! ]
> > + PERL_DL_NONLAZY=1
> > + export PERL_DL_NONLAZY
> > + [ ]
> > + exec /usr/share/debconf/frontend /var/lib/dpkg/info/postgresql-common.postinst triggered /usr/share/myspell/dicts
> > dpkg: version '/usr/share/myspell/dicts' has bad syntax: invalid character in version number
> > + . /usr/share/debconf/confmodule
>
> Confirmed. In squeeze, installing postgresql-common, then myspell-nl
> will reproduce this. According to [1] above call of the p-common
> postinst looks correct, "/usr/share/myspell/dicts" is a valid trigger
> name that p-common subscribes to. It looks like debconf or dpkg itself
> tries to interpret $2 as a version number even if $1 = "triggered";
> with any other valid $1, $2 is indeed a version number, so it seems
> this particular case isn't handled here?
>
> This might also be a bug in debconf, but since the error message says
> "dpkg" I reassign this to dpkg.
That specific dpkg string is coming from dpkg --compare-versions, so
someone somewhere is explicitly calling that one, and thus not really
a dpkg bug. Kurt could you check the call trace to see exactly who?
And then reassign?
thanks,
guillem
Acknowledgement sent
to Kurt Roeckx <[email protected]>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <[email protected]>.
(Sun, 05 Dec 2010 18:15:05 GMT) (full text, mbox, link).
Subject: Re: Bug#604114: dpkg: version '/usr/share/myspell/dicts' has bad
syntax: invalid character in version number
Date: Sun, 5 Dec 2010 19:10:44 +0100
On Sun, Dec 05, 2010 at 06:19:00PM +0100, Guillem Jover wrote:
> Hi!
>
> That specific dpkg string is coming from dpkg --compare-versions, so
> someone somewhere is explicitly calling that one, and thus not really
> a dpkg bug. Kurt could you check the call trace to see exactly who?
> And then reassign?
So strace shows:
[pid 16140] execve("/var/lib/dpkg/info/postgresql-common.postinst", ["/var/lib/dpkg/info/postgresql-co"..., "triggered", "/usr/share/myspell/dicts"], [/* 18 vars */]) = 0
[...]
[pid 16140] execve("/usr/share/debconf/frontend", ["/usr/share/debconf/frontend", "/var/lib/dpkg/info/postgresql-co"..., "triggered", "/usr/share/myspell/dicts"], [/* 19 vars */]) = 0
[...]
[pid 16140] clone(Process 16146 attached
[...]
[pid 16146] execve("/var/lib/dpkg/info/postgresql-common.config", ["/var/lib/dpkg/info/postgresql-co"..., "configure", "/usr/share/myspell/dicts"], [/* 20 vars
*/]) = 0
[...]
[pid 16146] clone(Process 16147 attached
[...]
[pid 16147] execve("/usr/bin/dpkg", ["dpkg", "--compare-versions", "/usr/share/myspell/dicts", "lt-nl", "71"], [/* 19 vars */]) = 0
I'm not sure which package is at fault here. But it seems that
debconf is turning a triggered into a configure.
Kurt
Acknowledgement sent
to Jonathan Nieder <[email protected]>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <[email protected]>.
(Sun, 05 Dec 2010 19:36:02 GMT) (full text, mbox, link).
Subject: Re: Bug#604114: dpkg: version '/usr/share/myspell/dicts' has bad
syntax: invalid character in version number
Date: Sun, 5 Dec 2010 13:33:05 -0600
reassign 604114 debconf 1.5.36
quit
Kurt Roeckx wrote:
> it seems that
> debconf is turning a triggered into a configure.
Yes. Maybe /usr/share/debconf/frontend near 69:
if ($ARGV[0] =~/^(.*[.\/])(?:postinst|preinst)$/) {
could be tweaked to check $ARGV[1], too?
Otherwise, /usr/share/debconf/confmodule or postgresql-common et al
themselves would need to guard against the $1 = triggered case
themselves.
Changed Bug title to 'debconf gets confused by "postinst triggered"' from 'dpkg: version '/usr/share/myspell/dicts' has bad syntax: invalid character in version number'
Request was from Jonathan Nieder <[email protected]>
to [email protected].
(Sun, 02 Jan 2011 17:15:04 GMT) (full text, mbox, link).