Package: libaspell15
Version: 0.60.7~20110707-1
Severity: normal
Dear Maintainer,
I'm running apache with mod_php and the Horde webmailer, which uses the php
aspell bindings for spell checking.
Under certain circumstances I haven't determined yet, the entire webserver
segfaults. I've attached a backtrace of
the core dump, however I had to recompile aspell, as it didn't come with debug
symbols, so I'm not sure how useful
it is.
-- System Information:
Debian Release: 7.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libaspell15 depends on:
ii libc6 2.17-92
ii libgcc1 1:4.7.2-5
ii libstdc++6 4.7.2-5
Versions of packages libaspell15 recommends:
ii aspell-de [aspell-dictionary] 20120607-1
ii aspell-en [aspell-dictionary] 7.1-0-1
ii aspell-es [aspell-dictionary] 1.11-4
ii aspell-fr [aspell-dictionary] 0.50-3-7
ii aspell-it [aspell-dictionary] 2.4-20070901-0-2
Versions of packages libaspell15 suggests:
pn aspell <none>
-- no debconf information
[New LWP 7648]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/apache2 -k start'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f9a3f1ddd0a in aspeller::SfxEntry::key (this=0x320) at
modules/speller/default/affix.cpp:133
133 inline const char * key() const { return rappnd; }
Thread 1 (Thread 0x7f9a4ee23740 (LWP 7648)):
#0 0x00007f9a3f1ddd0a in aspeller::SfxEntry::key (this=0x320) at
modules/speller/default/affix.cpp:133
No locals.
#1 0x00007f9a3f1db16b in aspeller::AffixMgr::suffix_check
(this=0x7f9a5104b1a0, linf=..., word=..., ci=..., gi=0x0, sfxopts=0, ppfx=0x0)
at modules/speller/default/affix.cpp:805
se = 0x0
sp = 0 '\000'
sptr = 0x320
#2 0x00007f9a3f1db4a1 in aspeller::AffixMgr::affix_check (this=0x7f9a5104b1a0,
linf=..., word=..., ci=..., gi=0x0) at modules/speller/default/affix.cpp:843
cp = aspeller::AllLower
pword = {str_ = 0x7fff6fac40a0 "", size_ = 4294967295}
sword = {str_ = 0x7fff6fac40a0 "", size_ = 4294967295}
lower = {<acommon::OStream> = {_vptr.OStream = 0x7f9a3f42d150}, begin_
= 0x0, end_ = 0x0, storage_end_ = 0x0, static npos = 2147483647}
#3 0x00007f9a3f1a39cd in (anonymous namespace)::Working::try_word_n
(this=0x7fff6fac4170, str=..., score=0) at
modules/speller/default/suggest.cpp:413
ci = {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}
res = false
end = 0x7f9a512c2a10 ""
tmp = 0x7fff6fac4030 ""
word = {<acommon::OStream> = {_vptr.OStream = 0x7f9a3f42d150}, begin_ =
0x0, end_ = 0x0, storage_end_ = 0x0, static npos = 2147483647}
buf = {<acommon::OStream> = {_vptr.OStream = 0x7f9a3f42d150}, begin_ =
0x0, end_ = 0x0, storage_end_ = 0x0, static npos = 2147483647}
sw = {word = 0x0, aff = 0x0, catg = 0x0, adv_ = 0, intr = {0x0, 0x0,
0x0}, word_size = 0, what = aspeller::WordEntry::Other, word_info = 0,
frequency = 0}
#4 0x00007f9a3f1a30da in (anonymous namespace)::Working::try_word
(this=0x7fff6fac4170, word=0x7fff6fac40a0 "", word_end=0x7fff6fac40a0 "",
score=0) at modules/speller/default/suggest.cpp:227
No locals.
#5 0x00007f9a3f1a4a0e in (anonymous namespace)::Working::try_one_edit_word
(this=0x7fff6fac4170) at modules/speller/default/suggest.cpp:603
a = 0 '\000'
c = 0x7f9a3f1ad17e
"\311\303UH\211\345H\203\354\020H\211}\370H\213E\370H\203\300\020H\211\307\350\304\064\373\377\311\303UH\211\345H\203\354\020H\211}\370H\213E\370H\211\307\350\372\320\373\377\311\303UH\211\345H\203\354\020H\211}\370H\213E\370H\211\307\350\220Y\373\377\311\303UH\211\345H\203\354\020H\211}\370H\213E\370H\211\307\350\346>\373\377\311\303UH\211\345H\211}\370H\211u\360H\213E\370H\213\025\205*("
i = 1024
orig = @0x7fff6fac41b8: {<acommon::OStream> = {_vptr.OStream =
0x7f9a3f42d150}, begin_ = 0x0, end_ = 0x0, storage_end_ = 0x0, static npos =
2147483647}
replace_list = 0x7f9a512c5a20
"abcdefghijklmnopqrstuvwxyz\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\370\371\372\373\374\375\376\377"
b = 0 '\000'
new_word = 0x7fff6fac40a0 ""
new_word_end = 0x7fff6fac40a0 ""
#6 0x00007f9a3f1a34cd in (anonymous namespace)::Working::get_suggestions
(this=0x7fff6fac4170, sug=...) at modules/speller/default/suggest.cpp:316
No locals.
#7 0x00007f9a3f1a8a70 in (anonymous namespace)::SuggestImpl::suggest
(this=0x7f9a50f21b20, word=0x7f9a5101b7e0 "??") at
modules/speller/default/suggest.cpp:1326
sug = {<(anonymous namespace)::Score> = {lang = 0x7f9a512c36e0,
original = {word = {<acommon::OStream> = {_vptr.OStream = 0x7f9a3f42d150},
begin_ = 0x7f9a50e23c10 "??\026Q\232\177", end_ = 0x7f9a50e23c12
"\026Q\232\177", storage_end_ = 0x7f9a50e23c50 "P", static npos = 2147483647},
lower = {<acommon::OStream> = {_vptr.OStream = 0x7f9a3f42d150}, begin_ =
0x7f9a5116ab30 "??\342P\232\177", end_ = 0x7f9a5116ab32 "\342P\232\177",
storage_end_ = 0x7f9a5116ab70 "P", static npos = 2147483647}, clean =
{<acommon::OStream> = {_vptr.OStream = 0x7f9a3f42d150}, begin_ = 0x0, end_ =
0x0, storage_end_ = 0x0, static npos = 2147483647}, soundslike =
{<acommon::OStream> = {_vptr.OStream = 0x7f9a3f42d150}, begin_ = 0x7f9a50e23040
"", end_ = 0x7f9a50e23040 "", storage_end_ = 0x7f9a50e23080 "P", static npos =
2147483647}, case_pattern = aspeller::AllLower}, parms = 0x7f9a50f21b58},
threshold = 1, try_harder = 0, edit_dist_fun = 0x7f9a512c2498, max_word_length
= 0, sp = 0x7f9a512c2160, scored_near
_misses = {data_ = {<std::_List_base<{anonymous}::ScoreWordSound,
std::allocator<{anonymous}::ScoreWordSound> >> = {_M_impl =
{<std::allocator<std::_List_node<{anonymous}::ScoreWordSound> >> =
{<__gnu_cxx::new_allocator<std::_List_node<{anonymous}::ScoreWordSound> >> =
{<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fff6fac4228,
_M_prev = 0x7fff6fac4228}}}, <No data fields>}}, near_misses = {data_ =
{<std::_List_base<{anonymous}::ScoreWordSound,
std::allocator<{anonymous}::ScoreWordSound> >> = {_M_impl =
{<std::allocator<std::_List_node<{anonymous}::ScoreWordSound> >> =
{<__gnu_cxx::new_allocator<std::_List_node<{anonymous}::ScoreWordSound> >> =
{<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fff6fac4238,
_M_prev = 0x7fff6fac4238}}}, <No data fields>}}, near_misses_final =
0x7f9a50f21b40, temp_end = 0x7fff6fac4270 "@>\372P\232\177", buffer =
{chunk_size = 1024, min_align = 8, first = 0x7f9a50fa3e40, first_free =
0x7f9a50fa3e40, reserve = 0x0, top = 0x7f
9a50fa4240 "", bottom = 0x7f9a50fa3e48 "\270\353\065N\232\177", temp_end =
0x0}, temp_buffer = {chunk_size = 1024, min_align = 8, first = 0x7f9a50fa4250,
first_free = 0x7f9a50fa4250, reserve = 0x0, top = 0x7f9a50fa4650 " \b", bottom
= 0x7f9a50fa4258 "\270\352\065N\232\177", temp_end = 0x0}, static do_count =
<optimized out>, static dont_count = <optimized out>, check_info = {{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 = 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 = 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 = 0x0, wor
d = {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 = 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 = 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 = 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 = 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}}}
#8 0x00007f9a3f1c16b6 in aspeller::SpellerImpl::suggest (this=0x7f9a512c2160,
word=...) at modules/speller/default/speller_impl.cpp:133
No locals.
#9 0x00007f9a3f1f6f82 in acommon::aspell_speller_suggest (ths=0x7f9a512c2160,
word=0x7f9a50f96438 "от", word_size=-1) at lib/speller-c.cpp:148
s0 = 2
ret = {<acommon::PosibErrBase> = {err_ = 0x7f9a50ed6af0}, data = 0x1}
#10 0x00007f9a3f44184c in zif_pspell_suggest (ht=800,
return_value=0x7f9a50f96408, return_value_ptr=0x0, this_ptr=0x7e,
return_value_used=72) at /tmp/buildd/php5-5.4.4/ext/pspell/pspell.c:533
scin = 58
word = 0x7f9a50f96438 "от"
word_len = 4
manager = 0x7f9a512c2160
type = 46
wl = 0x320
sug = 0x320 <Address 0x320 out of bounds>
#11 0x00007f9a49466792 in zend_do_fcall_common_helper_SPEC
(execute_data=0x7f9a47e03458) at
/tmp/buildd/php5-5.4.4/Zend/zend_vm_execute.h:642
ret = 0x7f9a4e03ecba
opline = 0x7f9a50ed6af0
should_change_scope = 0 '\000'
fbc = 0x7f9a50b5d5f0
#12 0x00007f9a49420017 in execute (op_array=0x7f9a50edec68) at
/tmp/buildd/php5-5.4.4/Zend/zend_vm_execute.h:410
ret = 800
execute_data = 0x7f9a47e03458
nested = 1 '\001'
original_in_execution = 0 '\000'
#13 0x00007f9a493bf6fe in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /tmp/buildd/php5-5.4.4/Zend/zend.c:1302
files = {{gp_offset = 0, fp_offset = 0, overflow_arg_area =
0x7f9a00000028, reg_save_area = 0x7fff6fac4800}}
i = 1
file_handle = <incomplete type>
orig_op_array = 0x7f9a49ad02f8
orig_retval_ptr_ptr = 0x0
#14 0x00007f9a4935ea23 in php_execute_script (primary_file=0xf3f16dcf4) at
/tmp/buildd/php5-5.4.4/main/main.c:2478
__orig_bailout = 0x7f9a3f16fd52
__bailout = {{__jmpbuf = {0, 5, 549, 1, 0, 0, 1873557704, 32767},
__mask_was_saved = 1323524584, __saved_mask = {__val = {1321322651, 32666, 0,
0, 1323461936, 32666, 5, 0, 0, 0, 1, 0, 1323524584, 32666, 0, 0}}}}
prepend_file_p = 0x0
append_file_p = 0x0
prepend_file = {type = 1873557056, filename = 0x1 <Address 0x1 out of
bounds>, opened_path = 0x7fff6fac3660 "", handle = {fd = 1359077968, fp =
0x7f9a5101e250, stream = {handle = 0x7f9a5101e250, isatty = 1357756264, mmap =
{len = 1321319622, pos = 1873557088, map = 0x7f9a4ec1bd9c, buf = 0x7fff6fac37f0
"\377\377\377\377", old_handle = 0x5, old_closer = 0x7fff6fac3800}, reader =
0x76, fsizer = 0x7c998911, closer = 0x7f9a4ec1c590}}, free_filename = 0 '\000'}
append_file = {type = 32663076, filename = 0x7f9a4dfbbd18 "",
opened_path = 0x7f9a4dfba304
"\020\211\231|KL\225\250\300\070o\356\316ړ\034?\373\317z֢Û\227\240\211\227,\021\246\320/]<z\330\312\304#os\032\372\222f6\227\005)\370\271\034]\034\247\246\233\223\034\335۸k\352(}\006\376\003\314ٝw\034\366T<\267\261\263\266\f\220}\367i\354\036\274y\207!\246>\030\203\217
\241\065'\230\312\300\201\006\222\f~o\377\365\027S\037\025\233z̗\344\020\234\336\317GF\344\353\362\261\223\022\260\210\237\006i\354\250\063\262\aEpN\375\320_9\017ۆ\375\"\026ϝ|\260JEK\255\350ۻ\024-\313\023\273\206\370_\346\225
", handle = {fd = 0, fp = 0x0, stream = {handle = 0x0, isatty = 127590, mmap =
{len = 1308343576, pos = 0, map = 0x7f9a4dfbf090, buf = 0x0, old_handle = 0x0,
old_closer = 0}, reader = 0x7f9a4ee26d30, fsizer = 0x7f9a4ee289b8, closer =
0x7f9a4ee537cd}}, free_filename = 240 '\360'}
retval = 0
#15 0x00007f9a49468bfa in php_handler (r=0x7f9a49468bfa) at
/tmp/buildd/php5-5.4.4/sapi/apache2handler/sapi_apache2.c:682
__bailout = {{__jmpbuf = {1204707488, 32666, 1321852104, 32666,
4095094221, 888558326, 1204715680, 32666}, __mask_was_saved = -12046899,
__saved_mask = {__val = {0, 32666, 1204716328, 32666, 1322751352, 32666,
1322862616, 32666, 0, 0, 1323857178, 32666, 1326114884, 32666, 0, 0}}}}
ctx = 0x7f9a47ce7ed0
conf = 0x7f9a47ce80a0
brigade = 0x7f9a47cdeb08
bucket = 0x320
rv = 800
parent_req = 0x7f9a47cdf6a8
#16 0x00007f9a4ee7dc90 in ap_run_handler (r=0x7f9a47ce80a0) at config.c:159
pHook = 0x7f9a4ec9dcc8
n = 5
rv = 800
#17 0x00007f9a4ee7e0db in ap_invoke_handler (r=r@entry=0x7f9a47ce80a0) at
config.c:377
handler = <optimized out>
p = <optimized out>
result = <optimized out>
old_handler = 0x7f9a4ee09d40 "application/x-httpd-php"
ignore = <optimized out>
#18 0x00007f9a4ee8e208 in ap_process_request (r=r@entry=0x7f9a47ce80a0) at
http_request.c:282
access_status = <optimized out>
#19 0x00007f9a4ee8b0c8 in ap_process_http_connection (c=0x7f9a4cd30290) at
http_core.c:190
r = 0x7f9a47ce80a0
csd = 0x0
#20 0x00007f9a4ee84650 in ap_run_process_connection (c=0x7f9a4cd30290) at
connection.c:43
pHook = 0x7f9a4ec9e448
n = 1
rv = 800
#21 0x00007f9a4ee84a38 in ap_process_connection (c=c@entry=0x7f9a4cd30290,
csd=<optimized out>) at connection.c:190
rc = <optimized out>
#22 0x00007f9a4ee92dbe in child_main (child_num_arg=child_num_arg@entry=4) at
prefork.c:667
current_conn = 0x7f9a4cd30290
csd = 0x7f9a4cd300a0
ptrans = 0x7f9a4cd30028
allocator = 0x7f9a50d532a0
status = <optimized out>
i = <optimized out>
lr = <optimized out>
pollset = 0x7f9a4cd32250
sbh = 0x7f9a4cd32248
bucket_alloc = 0x7f9a47cf2028
last_poll_idx = 1
#23 0x00007f9a4ee93512 in make_child (slot=4, s=0x7f9a4ee1d818) at prefork.c:768
pid = 0
#24 make_child (s=0x7f9a4ee1d818, slot=4) at prefork.c:696
No locals.
#25 0x00007f9a4ee94076 in perform_idle_server_maintenance (p=<optimized out>)
at prefork.c:903
i = <optimized out>
idle_count = <optimized out>
ws = <optimized out>
free_length = <optimized out>
free_slots = {2, 4, 13, 16, 22, 23, 24, 25, 37, 38, 39, 40, 41, 42, 43,
44, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75}
last_non_dead = <optimized out>
total_non_dead = <optimized out>
#26 ap_mpm_run (_pconf=_pconf@entry=0x7f9a4ee2a028, plog=<optimized out>,
s=s@entry=0x7f9a4ee1d818) at prefork.c:1107
status = 0
pid = {pid = -1, in = 0x7f9a4e036093, out = 0x7f9a45237fe0, err = 0x28}
child_slot = <optimized out>
exitwhy = APR_PROC_EXIT
processed_status = <optimized out>
index = <optimized out>
remaining_children_to_start = 0
rv = <optimized out>
#27 0x00007f9a4ee68896 in main (argc=3, argv=0x7fff6fac70d8) at main.c:755
c = 0 '\000'
configtestonly = 0
confname = 0x7f9a4ee95a6a "apache2.conf"
def_server_root = 0x7f9a4ee95a5d "/etc/apache2"
temp_error_log = <optimized out>
error = <optimized out>
process = 0x7f9a4ee2c118
server_conf = 0x7f9a4ee1d818
pglobal = <optimized out>
pconf = 0x7f9a4ee2a028
plog = 0x7f9a4edef028
ptemp = 0x7f9a4ee1b028
pcommands = 0x7f9a4ee21028
opt = 0x7f9a4ee21118
rv = 0
mod = <optimized out>
optarg = 0x7f9a4ee2c028 "("
signal_server = <optimized out>