uralplan / psi-dev

Automatically exported from code.google.com/p/psi-dev
0 stars 0 forks source link

Сегфолт по нажатию правой кнопкой мыши при проверке орфографии. #396

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Шаги по воспроизведению проблемы:
What steps will reproduce the problem?
1. Включить проверку орфографии
2. Ввести в поле ввода число 999
3. Нажать ПКМ на подчёркнутом числе

Каков ожидаемый результат?
What is the expected output?
Выпадение меню

Что Вы видите вместо этого?
What do you see instead?
Сегфолт программы

Какую версию Psi+ / ОС Вы используете?
What version of the Psi+/OS are you using?
Psi+ v0.15.3559-webkit Beta (Jan 19 2011) / Gentoo x86_64

Дополнительная информация по проблеме:
Additional information:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff778bc13 in aspeller::AffixMgr::suffix_check(aspeller::LookupInfo 
const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*, int, 
aspeller::AffEntry*) const () from /usr/lib/libaspell.so.15
(gdb) bt full
#0  0x00007ffff778bc13 in aspeller::AffixMgr::suffix_check(aspeller::LookupInfo 
const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*, int, 
aspeller::AffEntry*) const () from /usr/lib/libaspell.so.15
No symbol table info available.
#1  0x00007ffff778c230 in aspeller::AffixMgr::affix_check(aspeller::LookupInfo 
const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*) const ()
   from /usr/lib/libaspell.so.15
No symbol table info available.
#2  0x00007ffff776035f in ?? () from /usr/lib/libaspell.so.15
No symbol table info available.
#3  0x00007ffff7763d56 in ?? () from /usr/lib/libaspell.so.15
No symbol table info available.
#4  0x00007ffff7765ed5 in ?? () from /usr/lib/libaspell.so.15
No symbol table info available.
#5  0x00007ffff7776470 in 
aspeller::SpellerImpl::suggest(acommon::MutableString) () from 
/usr/lib/libaspell.so.15
No symbol table info available.
#6  0x00007ffff77a3fda in aspell_speller_suggest ()
   from /usr/lib/libaspell.so.15
No symbol table info available.
#7  0x00000000004dfe8e in ASpellChecker::suggestions (this=0x2b403f0, word=...)
    at libpsi/tools/spellchecker/aspellchecker.cpp:81
        list = 0x4dfde9
        elements = 0x7fffffffc080
        c_word = 0x2b403f0 "06\257"
        words = {{p = {static shared_null = {ref = {_q_value = 132179}, 
                alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
              d = 0x1}, d = 0x1}}
        words = <error reading variable words (DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.)>
#8  0x000000000063ca72 in ChatEdit::contextMenuEvent (this=0x371ec00, 
    e=0x7fffffffcad0) at msgmle.cpp:335
        suggestions = {{p = {static shared_null = {ref = {_q_value = 132179}, 
                alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
              d = 0xff6c60}, d = 0xff6c60}}
        tc = {d = {d = 0x5387aa0}}
        selected_word = {static null = {<No data fields>}, 
          static shared_null = {ref = {_q_value = 140414}, alloc = 0, 
            size = 0, data = 0xff67fa, clean = 0, simpletext = 0, 
            righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, 
            array = {0}}, static shared_empty = {ref = {_q_value = 10689}, 
            alloc = 0, size = 0, data = 0x7ffff38d989a, clean = 0, 
            simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 
            reserved = 0, array = {0}}, d = 0x534d780, 
          static codecForCStrings = 0x0}
   from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#10 0x00007ffff41c2866 in QFrame::event(QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#11 0x00007ffff35c5586 in 
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () 
from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
#12 0x00007ffff3dc95fc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#13 0x00007ffff3dcfd43 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#14 0x00000000006d5166 in PsiApplication::notify (this=0x7fffffffd650, 
    receiver=0x371c730, event=0x7fffffffcad0) at psiapplication.cpp:253
No locals.
#15 0x00007ffff35c614b in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
#16 0x00007ffff3e4f856 in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#17 0x00007ffff3e4e49a in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#18 0x00007ffff3e78442 in x11EventSourceDispatch(_GSource*, int (*)(void*), 
void*) () from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#19 0x00007ffff2d94f8f in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#20 0x00007ffff2d98dc8 in g_main_context_iterate ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#21 0x00007ffff2d98f7c in g_main_context_iteration ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#22 0x00007ffff35ef673 in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
#23 0x00007ffff3e7803e in 
QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
() from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
#24 0x00007ffff35c4aa2 in 
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
#25 0x00007ffff35c4e74 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
#26 0x00007ffff35c9aeb in QCoreApplication::exec() ()
   from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
#27 0x00000000009475b8 in main (argc=1, argv=0x7fffffffd828) at main.cpp:545
        init = {<No data fields>}
        app = {<QApplication> = {<No data fields>}, static staticMetaObject = {
            d = {superdata = 0xff5f00, stringdata = 0xb84dc0 "PsiApplication", 
              data = 0xb84d20, extradata = 0x0}}, portableBase_ = 0x0}
        returnValue = 0
        cli = {<SimpleCli> = {<QObject> = {<No data fields>}, argdefs = {{
                d = 0x1008ec0, e = 0x1008ec0}}, aliases = {{d = 0x1008f50, 
                e = 0x1008f50}}}, static staticMetaObject = {d = {
              superdata = 0xff61a0, stringdata = 0xb8c41c "PsiCli", 
              data = 0xb8c3e0, extradata = 0x0}}}
        cmdline = {{d = 0x1362b90, e = 0x1362b90}}
        keystoremgr = <incomplete type>
        psi = 0x1392db0

Original issue reported on code.google.com by o0...@yandex.ru on 19 Jan 2011 at 1:27

GoogleCodeExporter commented 8 years ago
Бэктрейс с отлаженным (-ggdb3) и 
оптимизированным (-O2) aspell:
#0  aspeller::AffixMgr::suffix_check (this=0x7fffffffb618, linf=<value 
optimized out>, word=..., ci=..., gi=0x0, sfxopts=0, ppfx=0x0)
    at modules/speller/default/affix.cpp:805
        se = <value optimized out>
        sptr = 0x73010201
#1  0x00007ffff778c230 in aspeller::AffixMgr::affix_check (this=0x2c676f0, 
linf=..., word=..., ci=..., gi=0x0) at modules/speller/default/affix.cpp:843
        cp = aspeller::AllLower
        pword = {str_ = 0x7fffffffb910 "", size_ = 4294967295}
        sword = {str_ = 0x7fffffffb910 "", size_ = 4294967295}
        lower = {<acommon::OStream> = {_vptr.OStream = 0x7ffff79b91b0}, begin_ = 0x0, end_ = 0x0, storage_end_ = 0x0, static npos = 2147483647}
#2  0x00007ffff776035f in (anonymous namespace)::Working::try_word_n 
(this=0x7fffffffba50, 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 = <value optimized out>
        end = <value optimized out>
        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}
#3  0x00007ffff7763d56 in try_word (this=0x7fffffffba50) at 
modules/speller/default/suggest.cpp:227
No locals.
#4  (anonymous namespace)::Working::try_one_edit_word (this=0x7fffffffba50) at 
modules/speller/default/suggest.cpp:603
        a = <value optimized out>
        c = <value optimized out>
        i = <value optimized out>
        replace_list = 0x1d3ac90 "abcdefghijklmnopqrstuvwxyz\243\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336", <incomplete sequence \337>
        b = <value optimized out>
        new_word_end = 0x7fffffffb910 ""
#5  0x00007ffff7765ed5 in get_suggestions (this=<value optimized out>, 
word=<value optimized out>) at modules/speller/default/suggest.cpp:316
No locals.
#6  (anonymous namespace)::SuggestImpl::suggest (this=<value optimized out>, 
word=<value optimized out>) at modules/speller/default/suggest.cpp:1326
        sug = {<(anonymous namespace)::Score> = {lang = 0x2c4dc60, original = {word = {<acommon::OStream> = {_vptr.OStream = 0x7ffff79b91b0}, 
                begin_ = 0x2fcf160 "99", end_ = 0x2fcf162 "", storage_end_ = 0x2fcf1a0 "\340g\377", static npos = 2147483647}, 
              lower = {<acommon::OStream> = {_vptr.OStream = 0x7ffff79b91b0}, begin_ = 0x17ec2b0 "99\343\361\377\177", 
                end_ = 0x17ec2b2 "\343\361\377\177", storage_end_ = 0x17ec2f0 "P", static npos = 2147483647}, clean = {<acommon::OStream> = {
                  _vptr.OStream = 0x7ffff79b91b0}, begin_ = 0x0, end_ = 0x0, storage_end_ = 0x0, static npos = 2147483647}, 
              soundslike = {<acommon::OStream> = {_vptr.OStream = 0x7ffff79b91b0}, begin_ = 0x2fe4c60 "", end_ = 0x2fe4c60 "", 
                storage_end_ = 0x2fe4ca0 "\200\002\212\364\377\177", static npos = 2147483647}, case_pattern = aspeller::AllLower}, parms = 0x2cb2018}, 
          threshold = 1, try_harder = 0, edit_dist_fun = 0x7fffffffbb20, max_word_length = 0, sp = 0x1d38850, scored_near_misses = {
            data_ = {<std::_List_base<<unnamed>::ScoreWordSound, std::allocator<<unnamed>::ScoreWordSound> >> = {
                _M_impl = {<std::allocator<std::_List_node<<unnamed>::ScoreWordSound> >> = {<__gnu_cxx::new_allocator<std::_List_node<<unnamed>::ScoreWordSound> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fffffffbb08, _M_prev = 0x7fffffffbb08}}}, <No data fields>}}, near_misses = {
            data_ = {<std::_List_base<<unnamed>::ScoreWordSound, std::allocator<<unnamed>::ScoreWordSound> >> = {
                _M_impl = {<std::allocator<std::_List_node<<unnamed>::ScoreWordSound> >> = {<__gnu_cxx::new_allocator<std::_List_node<<unnamed>::ScoreWordSound> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fffffffbb18, _M_prev = 0x7fffffffbb18}}}, <No data fields>}}, 
          near_misses_final = 0x2cb2000, temp_end = 0x0, buffer = {chunk_size = 1024, min_align = 8, first = 0x2f8c930, first_free = 0x2f8c930, 
            reserve = 0x0, top = 0x2f8cd30 "", bottom = 0x2f8c938 "\230\303\343\361\377\177", temp_end = 0x0}, temp_buffer = {chunk_size = 1024, 
            min_align = 8, first = 0x2fb0030, first_free = 0x2fb0030, reserve = 0x0, top = 0x2fb0430 "", bottom = 0x2fb0038 "\250\303\343\361\377\177", 
            temp_end = 0x0}, static do_count = true, static dont_count = false, 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, 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}, {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}}}
#7  0x00007ffff7776470 in aspeller::SpellerImpl::suggest (this=<value optimized 
out>, word=...) at modules/speller/default/speller_impl.cpp:125
No locals.
#8  0x00007ffff77a3fda in acommon::aspell_speller_suggest (ths=0x1d38850, 
word=<value optimized out>, word_size=<value optimized out>)
    at lib/speller-c.cpp:148
        ret = {<acommon::PosibErrBase> = {err_ = 0xffffffff}, data = 0x2f8d608}
#9  0x00000000004dfe8e in ASpellChecker::suggestions (this=0x1d30e30, word=...) 
at libpsi/tools/spellchecker/aspellchecker.cpp:81
        list = 0x4dfde9
        elements = 0x7fffffffc070
        c_word = 0x1d30e30 "06\257"
        words = {{p = {static shared_null = {ref = {_q_value = 39615}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1}, d = 0x1}}
        words = <error reading variable words (DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.)>
#10 0x000000000063ca72 in ChatEdit::contextMenuEvent (this=0x2eb52d0, 
e=0x7fffffffcac0) at msgmle.cpp:335
        suggestions = {{p = {static shared_null = {ref = {_q_value = 39615}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xff6c60}, 
            d = 0xff6c60}}
        tc = {d = {d = 0x2fe5c20}}
        selected_word = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 81533}, alloc = 0, size = 0, data = 0xff67fa, 
            clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {
              _q_value = 2715}, alloc = 0, size = 0, data = 0x7ffff38d989a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 
            reserved = 0, array = {0}}, d = 0x2ee7530, static codecForCStrings = 0x0}
#11 0x00007ffff3e1f0e7 in QWidget::event(QEvent*) () from 
/usr/lib64/qt4/libQtGui.so.4
No symbol table info available.

Original comment by o0...@yandex.ru on 19 Jan 2011 at 2:20

GoogleCodeExporter commented 8 years ago
Подтверждаю креш

[1000] Error - 
[1000] RtlWerpReportException failed with status code :-1073741823. Will try to 
launch the process directly
[1000]  

Psi+ Webkit r4114 на Win7 х32

Original comment by maksim.maj on 25 Jun 2011 at 7:50

GoogleCodeExporter commented 8 years ago
По поводу этой проблемы - я сразу подебажил 
чуток, и там видно, что падение происходит 
внутри аспела, не в пси. Может, конечно, там 
псина какие-то неверные параметры отдает, 
хз, не разбирался, нужно внимательней 
покапать

Original comment by wadea...@gmail.com on 26 Jun 2011 at 9:35

GoogleCodeExporter commented 8 years ago
Больше не воспроизводится. Что там было? Не 
наше?

Original comment by li...@mail.ru on 31 Jul 2011 at 5:41

GoogleCodeExporter commented 8 years ago
тут точно аспель виноват
у меня не падает

Original comment by givan101 on 31 Jul 2011 at 10:56

GoogleCodeExporter commented 8 years ago
У меня падает. Пишу 99, райтклик на тексте - 
падение. Юзается энчант

Original comment by wadea...@gmail.com on 1 Aug 2011 at 6:37

GoogleCodeExporter commented 8 years ago
Issue 453 has been merged into this issue.

Original comment by wadea...@gmail.com on 18 Aug 2011 at 7:17

GoogleCodeExporter commented 8 years ago

Original comment by wadea...@gmail.com on 18 Aug 2011 at 7:18

GoogleCodeExporter commented 8 years ago
у меня в качестве бэкэнда энчанта юзается 
myspell. ему вообще пофиг на цифры.

Original comment by rion4ik on 18 Aug 2011 at 8:18

GoogleCodeExporter commented 8 years ago
В общем пофиксил таким образом - для чистых 
чисел не производится проверка орфографии

Original comment by wadea...@gmail.com on 10 Mar 2012 at 6:44