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>