#867373 aspell: random crash (SIGSEGV) when run from git gui

Package:
aspell
Source:
aspell
Description:
GNU Aspell spell-checker
Submitter:
Paul Wise
Date:
2021-09-22 04:36:20 UTC
Severity:
normal
#867373#5
Date:
2017-07-06 05:37:46 UTC
From:
To:
I had git gui open and accidentally right clicked on a misspelled word.
git gui then informed me that aspell crashed. I have MALLOC_CHECK_=2
and MALLOC_PERTURB_=$((RANDOM % 255 + 1)) set, so that is probably why
the backtrace mentions malloc_check. If the backtrace below is not
useful, please close this bug report.

$ gdb -batch -n -ex 'set pagination off' -ex bt -ex 'thread apply all bt full' --core /var/crash/1000/8113-1000-1000-11-1499318705-chianamo--usr-bin-aspell.core /usr/bin/aspell
[New LWP 8113]
Core was generated by `aspell --mode=none --encoding=utf-8 pipe'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  malloc_consolidate (av=av@entry=0x7f6710d27b00 <main_arena>) at malloc.c:4219
4219	malloc.c: No such file or directory.
#0  malloc_consolidate (av=av@entry=0x7f6710d27b00 <main_arena>) at malloc.c:4219
#1  0x00007f6710a06dca in _int_malloc (av=av@entry=0x7f6710d27b00 <main_arena>, bytes=bytes@entry=1025) at malloc.c:3488
#2  0x00007f6710a07b38 in malloc_check (sz=1024, caller=<optimized out>) at hooks.c:295
#3  0x00007f6711c6e85b in acommon::ObjStack::ObjStack (this=0x7ffc5e8b0ce8, chunk_s=<optimized out>, align=<optimized out>) at common/objstack.cpp:20
#4  0x00007f6711c7dc6d in (anonymous namespace)::Working::Working (p=<optimized out>, w=..., l=0x563f3ca8afd0, m=0x563f3ca77cc0, this=0x7ffc5e8b0bf0) at modules/speller/default/suggest.cpp:286
#5  (anonymous namespace)::SuggestImpl::suggest (this=0x563f3ca797b0, word=<optimized out>) at modules/speller/default/suggest.cpp:1325
#6  0x00007f6711c8dbd4 in aspeller::SpellerImpl::suggest (this=<optimized out>, word=...) at modules/speller/default/speller_impl.cpp:133
#7  0x00007f6711cb567a in acommon::aspell_speller_suggest (ths=0x563f3ca77cc0, word=<optimized out>, word_size=<optimized out>) at lib/speller-c.cpp:148
#8  0x0000563f3b2e2a56 in pipe () at prog/aspell.cpp:891
#9  0x0000563f3b2da828 in main (argc=4, argv=<optimized out>) at prog/aspell.cpp:417

Thread 1 (LWP 8113):
#0  malloc_consolidate (av=av@entry=0x7f6710d27b00 <main_arena>) at malloc.c:4219
        fb = 0x7f6710d27b28 <main_arena+40>
        maxfb = 0x7f6710d27b50 <main_arena+80>
        p = 0x563f3ca7d510
        nextp = 0x563f3ca7d910
        unsorted_bin = 0x7f6710d27b58 <main_arena+88>
        first_unsorted = <optimized out>
        nextchunk = 0x563f3ca7d550
        size = 64
        nextsize = <optimized out>
        prevsize = <optimized out>
        nextinuse = <error reading variable nextinuse (Cannot access memory at address 0xbbbc11faf8639110)>
        bck = <optimized out>
        fwd = <optimized out>
#1  0x00007f6710a06dca in _int_malloc (av=av@entry=0x7f6710d27b00 <main_arena>, bytes=bytes@entry=1025) at malloc.c:3488
        nb = 1040
        idx = 64
        bin = <optimized out>
        victim = <optimized out>
        size = <optimized out>
        victim_index = <optimized out>
        remainder = <optimized out>
        remainder_size = <optimized out>
        block = <optimized out>
        bit = <optimized out>
        map = <optimized out>
        fwd = <optimized out>
        bck = <optimized out>
        errstr = 0x0
        __func__ = "_int_malloc"
#2  0x00007f6710a07b38 in malloc_check (sz=1024, caller=<optimized out>) at hooks.c:295
        victim = <optimized out>
#3  0x00007f6711c6e85b in acommon::ObjStack::ObjStack (this=0x7ffc5e8b0ce8, chunk_s=<optimized out>, align=<optimized out>) at common/objstack.cpp:20
No locals.
#4  0x00007f6711c7dc6d in (anonymous namespace)::Working::Working (p=<optimized out>, w=..., l=0x563f3ca8afd0, m=0x563f3ca77cc0, this=0x7ffc5e8b0bf0) at modules/speller/default/suggest.cpp:286
No locals.
#5  (anonymous namespace)::SuggestImpl::suggest (this=0x563f3ca797b0, word=<optimized out>) at modules/speller/default/suggest.cpp:1325
        sug = {<(anonymous namespace)::Score> = {lang = 0x563f3ca8afd0, original = {word = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3cab7970 "BLS", 'D' <repeats 61 times>, "C", end_ = 0x563f3cab7973 'D' <repeats 61 times>, "C", storage_end_ = 0x563f3cab79b0 "C", static npos = 2147483647}, lower = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3cab8d00 "bls", 'D' <repeats 60 times>, <incomplete sequence \357>, end_ = 0x563f3cab8d03 'D' <repeats 60 times>, <incomplete sequence \357>, storage_end_ = 0x563f3cab8d40 <incomplete sequence \357>, static npos = 2147483647}, clean = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3cab8a00 "bls", 'D' <repeats 61 times>, "O\020", end_ = 0x563f3cab8a03 'D' <repeats 61 times>, "O\020", storage_end_ = 0x563f3cab8a40 "O\020", static npos = 2147483647}, soundslike = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3cab8960 "BLS", end_ = 0x563f3cab8963 "", storage_end_ = 0x563f3cab89a0 "[\017", static npos = 2147483647}, case_pattern = aspeller::AllUpper}, parms = 0x563f3ca797e8}, threshold = 1, try_harder = 0, edit_dist_fun = 0x0, max_word_length = 0, sp = 0x563f3ca77cc0, scored_near_misses = {data_ = empty std::__cxx11::list}, near_misses = {data_ = empty std::__cxx11::list}, near_misses_final = 0x7ffc5e8b0e00, temp_end = 0x563f3ca77df8 "", buffer = {chunk_size = 1024, min_align = 8, first = 0x1, first_free = 0x0, reserve = 0x563f3ca7d4d0, top = 0x3 <error: Cannot access memory at address 0x3>, bottom = 0x563f3caa7300 "Я\250<?V", temp_end = 0x0}, temp_buffer = {chunk_size = 94829600538616, min_align = 0, first = 0x7f6710a07d89 <free_check+121>, first_free = 0x3, reserve = 0x7f6711ca1e89 <aspeller::AffixMgr::affix_check(aspeller::LookupInfo const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*) const+249>, top = 0x563f3ca8dec8 "\310ި<?V", bottom = 0x7ffc5e8b0e00 "\300|\247<?V", temp_end = 0x563f3ca77df8 ""}, static do_count = <optimized out>, static dont_count = <optimized out>, check_info = {{next = 0x3, word = {str_ = 0x7ffc5e8b0e20 "", size_ = 1672838912}, pre_strip_len = -8400, pre_add_len = 15528, pre_add = 0x3 <error: Cannot access memory at address 0x3>, suf_strip_len = 27792, suf_add_len = 15183, suf_add = 0x563f3ca7d4d0 "BL+S", pre_flag = -11052, suf_flag = 15527, guess = 22079, compound = 0}, {next = 0x563f3ca7d510, word = {str_ = 0x563f3ca797a0 "\034\273\273\273\273\273\273", <incomplete sequence \321>, size_ = 1672838912}, pre_strip_len = 0, pre_add_len = 0, pre_add = 0x563f3ca77cc0 "\370\342\354\021g\177", suf_strip_len = -1, suf_add_len = -1, suf_add = 0x563f3ca8df30 "BLS", pre_flag = 32248, suf_flag = 15527, guess = 22079, compound = 0}, {next = 0x563f3ca77ff8, word = {str_ = 0x0, size_ = 298378763}, pre_strip_len = 31936, pre_add_len = 15527, pre_add = 0x563f00000000 <error: Cannot access memory at address 0x563f00000000>, suf_strip_len = -26752, suf_add_len = 15527, suf_add = 0x563f3ca797a0 "\034\273\273\273\273\273\273", <incomplete sequence \321>, pre_flag = 0, suf_flag = 0, guess = 0, compound = 0}, {next = 0x0, word = {str_ = 0x0, size_ = 0}, pre_strip_len = 0, pre_add_len = 0, pre_add = 0x0, suf_strip_len = 0, suf_add_len = 0, suf_add = 0x0, pre_flag = 0, suf_flag = 0, guess = 0, compound = 0}, {next = 0x9cbfe01163b57f00, word = {str_ = 0x0, size_ = 1017609408}, pre_strip_len = 3, pre_add_len = 0, pre_add = 0x563f3ca8df30 "BLS", suf_strip_len = 32248, suf_add_len = 15527, suf_add = 0xffffffff <error: Cannot access memory at address 0xffffffff>, pre_flag = 0, suf_flag = 0, guess = 0, compound = 0}, {next = 0x7f6711c8f49f <aspeller::SpellerImpl::check(char*, char*, bool, unsigned int, acommon::CheckInfo*, aspeller::GuessInfo*)+159>, word = {str_ = 0x7ffc5e8b0ef0 "3ߨ<?V", size_ = 1017610232}, pre_strip_len = 0, pre_add_len = 0, pre_add = 0x0, suf_strip_len = 27792, suf_add_len = 15183, suf_add = 0x7f6710d28600 <_IO_2_1_stdout_> "\204*\255", <incomplete sequence \373>, pre_flag = 31088, suf_flag = 15531, guess = 22079, compound = 0}, {next = 0x563f00a7d520, word = {str_ = 0x563f3ca8df33 "", size_ = 1586171824}, pre_strip_len = 1, pre_add_len = 0, pre_add = 0x7f6710a85036 <___vfprintf_chk+134> "\205\355\211ƋCt~\003\203\340\373\203\340\353\367\003", suf_strip_len = 3920, suf_add_len = 24203, suf_add = 0x9cbfe01163b57f00 <error: Cannot access memory at address 0x9cbfe01163b57f00>, pre_flag = 3904, suf_flag = 24203, guess = 32764, compound = 0}, {next = 0x563f3ca77cc0, word = {str_ = 0x7ffc00000003 <error: Cannot access memory at address 0x7ffc00000003>, size_ = 278950204}, pre_strip_len = -8400, pre_add_len = 15528, pre_add = 0x563f3ca77ff8 "\001", suf_strip_len = 65, suf_add_len = 0, suf_add = 0x7f6711c80e93 <aspeller::SpellerImpl::check(acommon::MutableString)+131> "XZL\211\340H\213T$\bdH3\024%(", pre_flag = 32248, suf_flag = 15527, guess = 22079, compound = 0}}}
#6  0x00007f6711c8dbd4 in aspeller::SpellerImpl::suggest (this=<optimized out>, word=...) at modules/speller/default/speller_impl.cpp:133
No locals.
#7  0x00007f6711cb567a in acommon::aspell_speller_suggest (ths=0x563f3ca77cc0, word=<optimized out>, word_size=<optimized out>) at lib/speller-c.cpp:148
        s0 = <optimized out>
        ret = {<acommon::PosibErrBase> = {err_ = 0x7ffc5e8b0ff0}, data = 0x7f6710a83926 <__GI___clock_gettime+38>}
#8  0x0000563f3b2e2a56 in pipe () at prog/aspell.cpp:891
        token = {offset = 0, len = 3}
        guesses = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3ca7d3e0 ", BL+S", 'D' <repeats 58 times>, "\200\273\273\273\273\273\273\aQ", end_ = 0x563f3ca7d3e6 'D' <repeats 58 times>, "\200\273\273\273\273\273\273\aQ", storage_end_ = 0x563f3ca7d420 "\200\273\273\273\273\273\273\aQ", static npos = 2147483647}
        guess = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3ca7d4d0 "BL+S", end_ = 0x563f3ca7d4d4 "", storage_end_ = 0x563f3ca7d510 "B\273\273\273\273\273\273\aA", static npos = 2147483647}
        ci = 0x0
        suggestions = 0x0
        casep = aspeller::AllUpper
        terse_mode = <optimized out>
        do_time = false
        suggest = true
        include_guesses = false
        start = 24766
        finish = <optimized out>
        ret = <optimized out>
        speller = 0x563f3ca77cc0
        real_speller = 0x563f3ca77cc0
        iconv = {<acommon::ConvP> = {conv = 0x563f3ca7c730, buf0 = {<acommon::Vector<acommon::FilterChar>> = {<std::vector<acommon::FilterChar, std::allocator<acommon::FilterChar> >> = std::vector of length 3, capacity 8 = {{chr = 66, width = 1}, {chr = 76, width = 1}, {chr = 83, width = 1}}, <No data fields>}, <No data fields>}, buf = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3ca798d0 "BLS", end_ = 0x563f3ca798d3 "", storage_end_ = 0x563f3ca79910 <incomplete sequence \353>, static npos = 2147483647}}, conv_obj = {ptr = 0x563f3ca7c730}}
        oconv = {<acommon::ConvP> = {conv = 0x563f3ca7c7d0, buf0 = {<acommon::Vector<acommon::FilterChar>> = {<std::vector<acommon::FilterChar, std::allocator<acommon::FilterChar> >> = std::vector of length 4, capacity 4 = {{chr = 66, width = 1}, {chr = 76, width = 1}, {chr = 43, width = 1}, {chr = 83, width = 1}}, <No data fields>}, <No data fields>}, buf = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3ca7d480 "BL+S", end_ = 0x563f3ca7d484 "", storage_end_ = 0x563f3ca7d4c0 "t\273\273\273\273\273\273\aQ", static npos = 2147483647}}, conv_obj = {ptr = 0x563f3ca7c7d0}}
        mb_len = {encoding = acommon::MBLen::UTF8}
        status_fun_inf = {real_speller = 0x563f3ca77cc0, oconv = {<acommon::ConvP> = {conv = 0x563f3ca7c870, buf0 = {<acommon::Vector<acommon::FilterChar>> = {<std::vector<acommon::FilterChar, std::allocator<acommon::FilterChar> >> = std::vector of length 0, capacity 0, <No data fields>}, <No data fields>}, buf = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x0, end_ = 0x0, storage_end_ = 0x0, static npos = 2147483647}}, conv_obj = {ptr = 0x563f3ca7c870}}, verbose = false}
        print_star = @0x7ffc5e8b12b0: false
        checker = {ptr = 0x563f3ca7c970}
        w = <optimized out>
        buf = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3ca79730 "^BLS", end_ = 0x563f3ca79742 "", storage_end_ = 0x563f3ca79770 "\026", static npos = 2147483647}
        line = 0x563f3ca79731 "BLS"
        line0 = 0x563f3ca79730 "^BLS"
        word = 0x563f3ca79731 "BLS"
        word2 = 0x7f67120c09d0 ""
        ignore = 1
        err = {err_ = 0x0}
#9  0x0000563f3b2da828 in main (argc=4, argv=<optimized out>) at prog/aspell.cpp:417
        i = <optimized out>
        o = <optimized out>
        parm = <optimized out>
        other_opt = {name = 0x563f3ca76e70 "encoding", abrv = 0 '\000', num_arg = -1, is_command = false}
        option_name = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3ca76e70 "encoding", end_ = 0x563f3ca76e78 "", storage_end_ = 0x563f3ca76eb0 "!", static npos = 2147483647}
        codeset = <optimized out>
        to_remove = {<std::vector<int, std::allocator<int> >> = std::vector of length 0, capacity 0, <No data fields>}
        action_str = {<acommon::OStream> = {_vptr.OStream = 0x563f3b4f6c90 <vtable for acommon::String+16>}, begin_ = 0x563f3ca771d0 "pipe", end_ = 0x563f3ca771d4 "", storage_end_ = 0x563f3ca771d5 <incomplete sequence \326>, static npos = 2147483647}
        action_opt = <optimized out>

#867373#10
Date:
2021-09-22 04:22:10 UTC
From:
To:
Hello,

Good morning,

We have gone through your samples from a partner and Here is our  Order
List. Please do bear in mind that we are very much in  need of this
order, quote your competitive prices.

Kindly send the Order confirmation.

Your early reply will be much appreciated.

Best Regards,

Maryanah Erwin.

PT FINDORA INTERNUSA

Jln Pahlawan 66 Kec. Arjawinangun

45162 CIREBON West-Java INDONESIA

tel : +62 231 357334

fax: +62 231 357260

email: marketing@findora.com