Bug#561089: ispell: segfaults on checking any file

2009-12-14 Thread Helmut Grohne
Package: ispell
Version: 3.1.20.0-7
Severity: grave
Justification: renders package unusable

When I try to spell check any file ispell simply segfaults. When I
invoke it without arguments it prints the help text. To find out whether
this was a recent regression I downgraded the package, but that did not
help. This indicates that the cause may be unrelated to ispell. I also
ran gdb on a core file from ispell, but the traceback did not reveal
anything useful. Running strace in ispell shows that it uses curses to
set up the terminal and then segfaults right after reading the file to
be checked.

Is there anything else I can do to help diagnose this?

Helmut

-- System Information:
Architecture: amd64 (x86_64)

Locale: LANG=C, LC_CTYPE=de_DE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages ispell depends on:
ii  dictionaries-common   1.4.0  Common utilities for spelling dict
ii  dpkg  1.15.5.4   Debian package management system
ii  ingerman [ispell-dictiona 20091006-2 New German orthography dictionary 
ii  install-info  4.13a.dfsg.1-5 Manage installed documentation in 
ii  libc6 2.10.2-2   GNU C Library: Shared libraries
ii  libncurses5   5.7+20090803-2 shared libraries for terminal hand

Versions of packages ispell recommends:
ii  wamerican [wordlist]  6-3American English dictionary words 
ii  wngerman [wordlist]   20091006-2 New German orthography wordlist



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#561089: ispell: segfaults on checking any file

2009-12-14 Thread Agustin Martin
On Mon, Dec 14, 2009 at 02:03:35PM +0100, Helmut Grohne wrote:
 Package: ispell
 Version: 3.1.20.0-7
 Severity: grave
 Justification: renders package unusable
 
 When I try to spell check any file ispell simply segfaults. When I
 invoke it without arguments it prints the help text. To find out whether
 this was a recent regression I downgraded the package, but that did not
 help. This indicates that the cause may be unrelated to ispell. I also
 ran gdb on a core file from ispell, but the traceback did not reveal
 anything useful. Running strace in ispell shows that it uses curses to
 set up the terminal and then segfaults right after reading the file to
 be checked.
 
 Is there anything else I can do to help diagnose this?

That seems related to this ingerman installation error

Unpacking ingerman (from .../ingerman_20091006-2_all.deb) ...
Setting up ingerman (20091006-2) ...
ispell-autobuildhash: Processing 'ngerman' dict
Hash table overflowed by 1342 words

Does this happen with other dictionaries?

-- 
Agustin



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#561089: ispell: segfaults on checking any file

2009-12-14 Thread Roland Rosenfeld
On Mon, 14 Dec 2009, Agustin Martin wrote:

 On Mon, Dec 14, 2009 at 02:03:35PM +0100, Helmut Grohne wrote:
  Package: ispell
  Version: 3.1.20.0-7
  Severity: grave
  Justification: renders package unusable

  When I try to spell check any file ispell simply segfaults. When I
  invoke it without arguments it prints the help text. To find out
  whether this was a recent regression I downgraded the package, but
  that did not help. This indicates that the cause may be unrelated
  to ispell. I also ran gdb on a core file from ispell, but the
  traceback did not reveal anything useful. Running strace in ispell
  shows that it uses curses to set up the terminal and then
  segfaults right after reading the file to be checked.

  Is there anything else I can do to help diagnose this?

 That seems related to this ingerman installation error
 
 Unpacking ingerman (from .../ingerman_20091006-2_all.deb) ...
 Setting up ingerman (20091006-2) ...
 ispell-autobuildhash: Processing 'ngerman' dict
 Hash table overflowed by 1342 words

I can reproduce the problem here.  It seems to be a problem in
buildhash.  Function filltable() from buildhash.c throws this error
message when I try to build the ngerman hash file:

$ gzip -dc /usr/share/ispell/ngerman.mwl.gz  /tmp/ngerman.mwl
$ buildhash -s /tmp/ngerman.mwl /usr/lib/ispell/ngerman.aff /tmp/ngerman.hash
Hash table overflowed by 1371 words

With some sorting and tweeking on ngerman.mwl I can change the number
of overflowed words but I wasn't able to reduce this to zero.

 Does this happen with other dictionaries?

I know that this didn't happen with the old 20071211 ngerman
dictionary, but the upstream maintainer of this dictionary was quite
active and introduced many changes in 20091006 version.

I didn't understand why this hash table overflow in buildhash implies
the segmentation fault of ispell, but I can reproduce the problem
here.  I would expect a behavior where only some words are missing...

I just tried out whether buildhash from ispell 3.3.0.2 behaves
different, but I get the same error message there.

Do you see a chance to increase the size of the hash table to get rid
of this problem?  Or do we have to modify the German dictionary to fit
into the data structure (but where should I start with skipping
words?).  Removing just some thousand lines from the end of the input
file doesn't solve the problem, so maybe not the number of lines but
some special lines seem to trigger the problem.  But what lines?

Tscho

Roland



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#561089: ispell: segfaults on checking any file

2009-12-14 Thread Roland Rosenfeld
I wrote: 

 I know that this didn't happen with the old 20071211 ngerman
 dictionary, but the upstream maintainer of this dictionary was quite
 active and introduced many changes in 20091006 version.
 
 I didn't understand why this hash table overflow in buildhash implies
 the segmentation fault of ispell, but I can reproduce the problem
 here.  I would expect a behavior where only some words are missing...
 
 I just tried out whether buildhash from ispell 3.3.0.2 behaves
 different, but I get the same error message there.
 
 Do you see a chance to increase the size of the hash table to get rid
 of this problem?  Or do we have to modify the German dictionary to fit
 into the data structure (but where should I start with skipping
 words?).  Removing just some thousand lines from the end of the input
 file doesn't solve the problem, so maybe not the number of lines but
 some special lines seem to trigger the problem.  But what lines?

In the meantime I found out, that my recent 20091006-2 package did not
run munchlist over the mwl file (don't ask me why).  After doing this
again, buildhash no longer has problems building the hash.
I just uploaded a fixed igerman98 20091006-3 to the archive.

So I think that the severity of this bug report can be decreased.
Nevertheless it is IMHO a bug that buildhash can run into such a
trouble that ispell segfaults when it uses the dictionaries...

Tscho

Roland



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Processed: Re: Bug#561089: ispell: segfaults on checking any file

2009-12-14 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

 severity 561089 important
Bug #561089 [ispell] ispell: segfaults on checking any file
Severity set to 'important' from 'grave'

 thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org