Aspell core dump

James Lee <[email protected]>
Newsgroups gmane.comp.gnu.aspell.devel
Message-ID <[email protected]>
Aspell 0.60.1 is frequently and consistently dumping core.  Example: I
create a file with the single word "webserver" then check it, first I ask
to correct to "web-server", then because aspell although having offered
me the choice of that word asks again for a correction to the correction,
I now select "web server" and it dumps core.  This is just a simple
example, the program crashes often and it seems related to words with
hyphens.


The problem is caused by:

bool WritableReplDict::lookup(ParmString word, const SensitiveCompare *
c, WordEntry & o) const

line 589 in writable.cpp "returning" a null value in o.


Stack below but note this is only the manifestation of the problem.  The
real problem is the failure of the lookup, line 696 writable.cpp.
get_vector() subtracts from the zero and gives the invalid address
0xfffffff2.

(gdb) where
#0  0xdfb73e85 in std::vector<char const*, std::allocator<char const*>
>::begin (this=0xfffffff2) at bits/stl_vector.h:322
#1  0xdfb7bf91 in acommon::Vector<char const*>::pbegin (this=0xfffffff2)
    at vector.hpp:44
#2  0xdfb09598 in repl_init (tmp=0xfffffff2, o=@0x8368340)
    at modules/speller/default/writable.cpp:675
#3  0xdfb096f0 in (anonymous namespace)::WritableReplDict::repl_lookup (
    this=0x8094f58, w=@0x8046830, o=@0x8368340)
    at modules/speller/default/writable.cpp:701
#4  0xdfafcd5a in (anonymous namespace)::Working::add_nearmiss (
    this=0x80469c0, i={_M_current = 0x808c878}, w=@0x8046830,
    sl=0x8097a3d "WBSF", w_score=-1, sl_score=0, count=true)
    at modules/speller/default/suggest.cpp:525
#5  0xdfafd4e0 in (anonymous namespace)::Working::add_sound
(this=0x80469c0,
    i={_M_current = 0x808c878}, sw=0x8367de4, sl=0x8097a3d "WBSF",
score=0)
    at modules/speller/default/suggest.cpp:654
#6  0xdfafd823 in (anonymous namespace)::Working::try_scan
(this=0x80469c0)
    at modules/speller/default/suggest.cpp:709
#7  0xdfafc211 in (anonymous namespace)::Working::get_suggestions (
    this=0x80469c0, sug=@0x8097ef0) at
modules/speller/default/suggest.cpp:326
#8  0xdfb00483 in (anonymous namespace)::SuggestImpl::suggest (
    this=0x8097ee0, word=0x8368538 "webserver")
    at modules/speller/default/suggest.cpp:1309
#9  0xdfb0b85f in aspeller::SpellerImpl::store_replacement
(this=0x8092838,
    mis=@0x80928a4, cor=@0x8046ea0, memory=false)
    at modules/speller/default/speller_impl.cpp:79
#10 0xdfb0bc0d in aspeller::SpellerImpl::store_replacement
(this=0x8092838,
    mis=@0x8046e90, cor=@0x8046ea0, memory=true)
    at modules/speller/default/speller_impl.cpp:105
#11 0xdfb0b792 in aspeller::SpellerImpl::store_replacement
(this=0x8092838,
    mis={str = 0x8366bc0 "web-server", size = 10}, cor=
      {str = 0x8366ab0 "Webster", size = 7})
    at modules/speller/default/speller_impl.cpp:69
#12 0xdfb337b1 in aspell_speller_store_replacement (ths=0x8092838,
    mis=0x8098d5b "web-server, the JSP server and servlet engine,\n",
    mis_size=10, cor=0x8097870 "Webster", cor_size=7) at
lib/speller-c.cpp:160
#13 0x0806ec37 in CheckerString::replace (this=0x809a618, repl=
      {str_ = 0x8097870 "Webster", size_ = 7}) at
prog/checker_string.cpp:130
#14 0x080666c0 in check () at prog/aspell.cpp:1136
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.