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>