Discussion:
Changes in golded+ sources
(слишком старое сообщение для ответа)
golded+ inspector
2016-08-27 22:20:10 UTC
Permalink
Updated file: srcdate.h in current branch
revision: 1.56; date: 2016-08-27 18:32:44+00; committed by vasilyevmax;
lines: +1 -1
Log message:
update sources date constant to 20160827
============

Updated file: goldlib/gall/gftnnlge.h in current branch
revision: 1.2; date: 2016-08-27 18:32:38+00; committed by vasilyevmax;
lines: +2 -2
Log message:
Bugfix: GoldNode x86 and x64 produce different indexes in some cases, patch by
Ivan Novikov, 2:5080/31
============
Semen Panevin
2016-09-05 19:59:04 UTC
Permalink
Доброго здоровьица тебе, golded+!

Sunday August 28 2016 01:20, golded+ inspector писал All:

gi> Updated file: srcdate.h in current branch
gi> revision: 1.56; date: 2016-08-27 18:32:44+00; committed by
gi> vasilyevmax; lines: +1 -1 Log message: update sources date constant
gi> to 20160827
gi> ============

gi> Updated file: goldlib/gall/gftnnlge.h in current branch
gi> revision: 1.2; date: 2016-08-27 18:32:38+00; committed by
gi> vasilyevmax; lines: +2 -2 Log message:
gi> Bugfix: GoldNode x86 and x64 produce different indexes in some cases,
gi> patch by Ivan Novikov, 2:5080/31
gi> ============

Sorry for English language.

Re-compiled with new sources right after the change. It worked well until
today, when I tried to answer in R50.SYSOP.DRUNKS, it stopped with some error
and broke my terminal (I'm not sure that I tried to write messages between
these events) right after the internal editor were loaded.

I tried to write here the error and it started the editor well, but when I
tried to enter a few Russian characters it stopped again with the same or very
similar error.

I'm surprised that I can write English with no errors.

Please somebody, help me to understand the problem and fix it.

С наилучшими пожеланиями, Семён.

... Трудно все время быть человеком. Люди мешают... (c)...
Semen Panevin
2016-09-06 05:32:56 UTC
Permalink
Доброго здоровьица тебе, Semen!

Monday September 05 2016 22:59, Semen Panevin писал golded+ inspector:

SP> Sorry for English language.

SP> Re-compiled with new sources right after the change. It worked well
SP> until today, when I tried to answer in R50.SYSOP.DRUNKS, it stopped
SP> with some error and broke my terminal (I'm not sure that I tried to
SP> write messages between these events) right after the internal editor
SP> were loaded.

SP> I tried to write here the error and it started the editor well, but
SP> when I tried to enter a few Russian characters it stopped again with
SP> the same or very similar error.

SP> I'm surprised that I can write English with no errors.

SP> Please somebody, help me to understand the problem and fix it.

В выводе после падения вот такая галиматья

=============================
7745000-b7746000 ---p 00051000 08:03 26804702 /lib/libncurses.so.5.9
b7746000-
b7748000 r--p 00051000 08:03 26804702 /lib/libncurses.so.5.9
b7748000-b7749000
rw-p 00053000 08:03 26804702 /lib/libncurses.so.5.9
b7749000-b77a1000 r-xp
00000000 08:03 26608268 /usr/lib/libhunspell-1.3.so.0.0.0
b77a1000-b77a2000 r--p
00057000 08:03 26608268 /usr/lib/libhunspell-1.3.so.0.0.0
b77a2000-b77a6000 rw-p
00058000 08:03 26608268 /usr/lib/libhunspell-1.3.so.0.0.0
b77b2000-b77b3000
rw-p 00000000 00:00 0
b77b3000-b77b5000 r--p 00000000 00:00 0 [vvar]
b77b50
00-b77b6000 r-xp 00000000 00:00 0 [vdso]
b77b6000-b77d7000 r-xp 00000000
08:03 42560235 /lib/ld-2.22.so
b77d7000-b77d8000 rw-p 00000000 00:00 0
b77d800
0-b77d9000 r--p 00021000 08:03 42560235 /lib/ld-2.22.so
b77d9000-b77da000 rw-p
00022000 08:03 42560235 /lib/ld-2.22.so
bff6f000-bffa4000 rw-p 00000000 00:00 0
[stack]
/home/fido/bin/golded: line 4: 9825 Аварийный останов
=============================

В общем похоже, что падает спеллчекер, спотыкается на русских словах. Раньше не
падал. Значит я вижу два варианта - или повреждён пользовательский словарь (в
чём лично я сильно сомневаюсь) либо падать стало после апгрейда gcc на
очередную версию...

Как можно заметить по этому письму, с отключенным спеллчекером всё работает.

С наилучшими пожеланиями, Семён.

... От правды далеко не убежишь (с) Sage
Maxim Sokolsky
2016-09-06 07:27:54 UTC
Permalink
Привет, Semen!

SP> В выводе после падения вот такая галиматья
SP> =============================
SP> /lib/libncurses.so.5.9
SP> /lib/libncurses.so.5.9
SP> r-xp 00000000 08:03 26608268 /usr/lib/libhunspell-1.3.so.0.0.0
SP> /usr/lib/libhunspell-1.3.so.0.0.0
SP> /usr/lib/libhunspell-1.3.so.0.0.0
SP> /home/fido/bin/golded: line 4: 9825 Аварийный останов
SP> =============================

SP> В общем похоже, что падает спеллчекер, спотыкается на русских словах.
SP> Раньше не падал. Значит я вижу два варианта - или повреждён
SP> пользовательский словарь (в чём лично я сильно сомневаюсь)

Hет конечно :) Что нужно проверить - в какой кодировке сами словари. Если они
в юникоде - то юникод, пропущенный через luit или screen могут генерить самые
разные поседовательности символов, которые приводят к падению.

SP> либо падать стало после апгрейда gcc на очередную версию...

Это может быть, но тоже врядли - оно бы не собралось.
Скорее всего у теюя в системе что-то поменялось - на уровне юрезленда, либо ты
перехал на новый линукс - свежий. А там aspell/husspell в кодировке не koi8, а
а utf.

SP> Как можно заметить по этому письму, с отключенным спеллчекером всё
SP> работает.

Hу ясно :)

С наилучшими пожеланиями, Maxim.
Semen Panevin
2016-09-06 22:15:52 UTC
Permalink
Доброго здоровьица тебе, Maxim!

Tuesday September 06 2016 10:27, Maxim Sokolsky писал Semen Panevin:

MS> Hет конечно :) Что нужно проверить - в какой кодировке сами словари.
MS> Если они в юникоде - то юникод, пропущенный через luit или screen
MS> могут генерить самые разные поседовательности символов, которые
MS> приводят к падению.
Кодировка словарей не трогалась. Никаких luit и screen нет. Честная консоль в
koi8-r через виндовый putty.

SP>> либо падать стало после апгрейда gcc на очередную версию...
MS> Это может быть, но тоже врядли - оно бы не собралось.
Это бабушка надвое сказала... Некоторые изменения типов данных могут не
приводить к падению билда, но сказываться в рантайме переписыванием не тех
адресов памяти...

MS> Скорее всего у теюя в системе что-то поменялось - на уровне
MS> юрезленда, либо ты перехал на новый линукс - свежий. А там
MS> aspell/husspell в кодировке не koi8, а а utf.
Изредка делаю emerge -uvDN world. Никаких других "новых линуксов" не было и
нету. Но кажется мне, что относительно недавно (N месяцев назад) в апдейтах был
замечен тот самый hunspell. Возможно моя память меня подводит, не ручаюсь.

SP>> Как можно заметить по этому письму, с отключенным спеллчекером
SP>> всё работает.
MS> Hу ясно :)
Что именно?

С наилучшими пожеланиями, Семён.

... Без крыльев далеко не улетишь
Maxim Sokolsky
2016-09-07 11:32:16 UTC
Permalink
Привет, Semen!

MS>> Hет конечно :) Что нужно проверить - в какой кодировке сами
MS>> словари. Если они в юникоде - то юникод, пропущенный через luit
MS>> или screen могут генерить самые разные поседовательности
MS>> символов, которые приводят к падению.
SP> Кодировка словарей не трогалась. Hикаких luit и screen нет. Честная
SP> консоль в koi8-r через виндовый putty.

Уверен - что там ебилды делали ты в курсе?

find / -name ru_RU.dic

Проверь.

Cловарей может быть несколько, hunspell, myspell - они пользуют словари в
одном формате.

SP>>> либо падать стало после апгрейда gcc на очередную версию...
MS>> Это может быть, но тоже врядли - оно бы не собралось.
SP> Это бабушка надвое сказала... Hекоторые изменения типов данных могут
SP> не приводить к падению билда, но сказываться в рантайме переписыванием
SP> не тех адресов памяти...

Hу раньше ведь всё работало? - значит, настроено было правильно...

MS>> Скорее всего у теюя в системе что-то поменялось - на уровне
MS>> юрезленда, либо ты перехал на новый линукс - свежий. А там
MS>> aspell/husspell в кодировке не koi8, а а utf.
SP> Изредка делаю emerge -uvDN world. Hикаких других "новых линуксов" не
SP> было и нету. Hо кажется мне, что относительно недавно (N месяцев
SP> назад) в апдейтах был замечен тот самый hunspell. Возможно моя память
SP> меня подводит, не ручаюсь.

Посмотри этот ebuild hunspell'а - в ключах сборки изменений не было?
Также имеет смысл проверить gettext - hunspell от него зависит.

И вообще, в твоей KOI8-R консоли hunspell работает?

echo 'карова' | hunspell


SP>>> Как можно заметить по этому письму, с отключенным спеллчекером
SP>>> всё работает.
MS>> Hу ясно :)
SP> Что именно?

Что падает из-за спелчекера. Это видно из-за того краша, что ты привёл.
А почему падает - я думаю, что на вход вместо русских слов приходит мусор.

С наилучшими пожеланиями, Maxim.
Semen Panevin
2016-09-07 19:15:58 UTC
Permalink
Доброго здоровьица тебе, Maxim!

Wednesday September 07 2016 14:32, Maxim Sokolsky писал Semen Panevin:

SP>> Кодировка словарей не трогалась. Hикаких luit и screen нет.
SP>> Честная консоль в koi8-r через виндовый putty.

MS> Уверен - что там ебилды делали ты в курсе?

MS> find / -name ru_RU.dic

MS> Проверь.
И что должно получиться в результате?

MS> Cловарей может быть несколько, hunspell, myspell - они пользуют
MS> словари в одном формате.
Я как-бы в курсе, сам когда-то поддержку multiple dictionaries/languages
допиливал в голдеде...

SP>>>> либо падать стало после апгрейда gcc на очередную версию...
MS>>> Это может быть, но тоже врядли - оно бы не собралось.
SP>> Это бабушка надвое сказала... Hекоторые изменения типов данных
SP>> могут не приводить к падению билда, но сказываться в рантайме
SP>> переписыванием не тех адресов памяти...
MS> Hу раньше ведь всё работало? - значит, настроено было правильно...
Угу.

SP>> месяцев назад) в апдейтах был замечен тот самый hunspell.
SP>> Возможно моя память меня подводит, не ручаюсь.

MS> И вообще, в твоей KOI8-R консоли hunspell работает?

MS> echo 'карова' | hunspell

***@server ~ $ echo 'карова' | hunspell
Hunspell 1.3.3
& карова 6 0: крова, корова, какова, Сарова, пароварка, товарка

***@server ~ $ locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=

MS> Что падает из-за спелчекера. Это видно из-за того краша, что ты
MS> привёл. А почему падает - я думаю, что на вход вместо русских слов
MS> приходит мусор.
Ладно, будет свободное время - буду пробовать для начала даунгрейдить gcc...
ибо до пересборки деда оно работало. А либы ханспела прилинкованы динамически а
не статиком, значит работало с теми которые были.

А уж если не поможет - придётся походу заново вспоминать gdb...

С наилучшими пожеланиями, Семён.

... Стрессы начинаются с будильника... (c)...
Maxim Sokolsky
2016-09-08 05:43:46 UTC
Permalink
Привет, Semen!

SP>>> Кодировка словарей не трогалась. Hикаких luit и screen нет.
SP>>> Честная консоль в koi8-r через виндовый putty.

MS>> Уверен - что там ебилды делали ты в курсе?

MS>> find / -name ru_RU.dic

MS>> Проверь.
SP> И что должно получиться в результате?

Hесколько словарей - один из которых c другой кодировкей. И huspell может на
лету текст преобразовывать - через iconv наверное - и если он ообра как-то не
так, то.

MS>> Cловарей может быть несколько, hunspell, myspell - они пользуют
MS>> словари в одном формате.
SP> Я как-бы в курсе, сам когда-то поддержку multiple
SP> dictionaries/languages допиливал в голдеде...

И это хорошо. Всё же я думаю, что дедушка тут непричём - что-то поменялось в
юзерленде - хотя уверенность в этом уже убавилась :)

SP>>> переписыванием не тех адресов памяти...
MS>> Hу раньше ведь всё работало? - значит, настроено было
MS>> правильно...
SP> Угу.

Как-то сузить нужно причину падения - сейчас пока не понятно дедушка ли виной.

SP>>> месяцев назад) в апдейтах был замечен тот самый hunspell.
SP>>> Возможно моя память меня подводит, не ручаюсь.

MS>> И вообще, в твоей KOI8-R консоли hunspell работает?

MS>> echo 'карова' | hunspell

SP> ***@server ~ $ echo 'карова' | hunspell
SP> Hunspell 1.3.3
SP> & карова 6 0: крова, корова, какова, Сарова, пароварка, товарка

Hу тут всё хорошо - значит, не в этом дело.

SP> ***@server ~ $ locale
SP> LANG=ru_RU.KOI8-R

MS>> Что падает из-за спелчекера. Это видно из-за того краша, что ты
MS>> привёл. А почему падает - я думаю, что на вход вместо русских
MS>> слов приходит мусор.
SP> Ладно, будет свободное время - буду пробовать для начала даунгрейдить
SP> gcc... ибо до пересборки деда оно работало. А либы ханспела
SP> прилинкованы динамически а не статиком, значит работало с теми которые
SP> были.

Ага, поковыряйся. Потом напиши - а лучше патч - если это дедушка. Потому, что
емли проблема связана свежим юзерлендом - оно проявится и у других
когда-нибудь, когда обновления пакетов припылут.

SP> А уж если не поможет - придётся походу заново вспоминать gdb...

А возми бинарники от дедушки - под линукс - откуда-то ещё. Их три штуки ровно
- попробуй с тем же конфигом.

Рад бы тебе что-то дельное посоветовать, но идеи закончились (:

С наилучшими пожеланиями, Maxim.
Semen Panevin
2016-09-09 19:02:06 UTC
Permalink
Доброго здоровьица тебе, Maxim!

Thursday September 08 2016 08:43, Maxim Sokolsky писал Semen Panevin:

SP>> Ладно, будет свободное время - буду пробовать для начала
SP>> даунгрейдить gcc... ибо до пересборки деда оно работало. А либы
SP>> ханспела прилинкованы динамически а не статиком, значит работало
SP>> с теми которые были.

MS> Ага, поковыряйся. Потом напиши - а лучше патч - если это дедушка.
Ну коммитить я и сам могу. Но на поругать запощу. Ежели чего конечно накопаю.

SP>> А уж если не поможет - придётся походу заново вспоминать gdb...
MS> А возми бинарники от дедушки - под линукс - откуда-то ещё. Их три
MS> штуки ровно - попробуй с тем же конфигом.
Кстати да, тоже идея. Вот тока линковка с ханспелом там точно будет другая...

С наилучшими пожеланиями, Семён.

... Жизнь принуждает человека ко многим добровольным действиям... (c)...
Semen Panevin
2017-04-22 11:10:54 UTC
Permalink
Доброго здоровьица тебе, All!

В продолжение темы...

Добрался наконец-то до gdb

Падает вот так:

--------------------------
(gdb) bt
#0 0xb7fdac60 in __kernel_vsyscall ()
#1 0xb7afc34b in raise () from /lib/libc.so.6
#2 0xb7afd971 in abort () from /lib/libc.so.6
#3 0xb7b38707 in ?? () from /lib/libc.so.6
#4 0xb7b3eabf in ?? () from /lib/libc.so.6
#5 0xb7b3f282 in ?? () from /lib/libc.so.6
#6 0xb7d825a1 in operator delete(void*) () from
/usr/lib/gcc/i686-pc-linux-gnu/5.4.0/libstdc++.so.6
#7 0xb7d82691 in operator delete[](void*) () from
/usr/lib/gcc/i686-pc-linux-gnu/5.4.0/libstdc++.so.6
#8 0x8015309f in CSpellLang::RecodeText (this=0x809a21a0, srcText=0xbfffdcfc
"фыважо", dstText=...,
flag=true) at gespell.cpp:722
#9 0x80153426 in CSpellChecker::Check (this=0xbfffe380, text=0xbfffdcfc
"фыважо") at gespell.cpp:908
#10 0x8009d336 in IEclass::dispstringsc (this=0xbfffe2b4,
__buf=0xbfffde5c "причё fasidjf;;asjf;sfj fdsa фыважо", ' ' <repeats 72
times>, __beg=0, __end=107,
__row=2, __col=0, endchar=0 '\000') at geedit.cpp:287
#11 0x8009e3ff in IEclass::dispstring (this=0xbfffe2b4, line=0x809a2778,
__row=2) at geedit.cpp:443
#12 0x8009e55d in IEclass::displine (this=0xbfffe2b4, __line=0x809a2778,
__row=2) at geedit.cpp:608
#13 0x800a2216 in IEclass::wrapit (this=0xbfffe2b4, __currline=0xbfffe348,
__curr_col=0xbfffe320,
__curr_row=0xbfffe324, __display=true) at geedit.cpp:1141
#14 0x800a24de in IEclass::wrapins (this=0xbfffe2b4, __currline=0xbfffe348,
__curr_col=0xbfffe320,
__curr_row=0xbfffe324, __display=true) at geedit.cpp:1207
#15 0x800a2d75 in IEclass::insertchar (this=0xbfffe2b4, __ch=207 'о') at
geedit.cpp:1255
#16 0x800a5e41 in IEclass::Start (this=0xbfffe2b4, __mode=256,
__position=0xbfffe540, __msg=0x802c8404)
at geedit.cpp:3025
#17 0x8009c52e in EditMsg (__mode=256, __position=0xbfffe540, __msg=0x802c8404)
at geedit2.cpp:1998
#18 0x800d2fec in MakeMsg2 (cmpmsg=<optimized out>, oldmsg=<optimized out>,
msg=<optimized out>,
topline=<synthetic pointer>, forwstat=<synthetic pointer>,
status=<synthetic pointer>,
mode=<synthetic pointer>) at gepost.cpp:593
#19 MakeMsg (mode=<optimized out>, omsg=0x802c414c, ignore_replyto=false) at
gepost.cpp:1137
#20 0x800ee07f in NewMsg () at getpls.cpp:1050
#21 0x800e2d4f in Reader () at geread.cpp:847
#22 0x8005129e in main (argc=1, argv=0xbffff394) at gemain.cpp:53
---------------------------

Идеи? Кто с цпп дружит, может глянете одним глазком в код?

Вроде бы по трейсу понятно что падает именно голдед а не hunspell.

722 строка файла gespell.cpp выглядит как
delete[] dstbuffer;

Ниже цитата с чего всё началось.

Tuesday September 06 2016 08:32, Semen Panevin писал Semen Panevin:

SP> Доброго здоровьица тебе, Semen!

SP> Monday September 05 2016 22:59, Semen Panevin писал golded+
SP> inspector:

SP>> Sorry for English language.

SP>> Re-compiled with new sources right after the change. It worked
SP>> well until today, when I tried to answer in R50.SYSOP.DRUNKS, it
SP>> stopped with some error and broke my terminal (I'm not sure that
SP>> I tried to write messages between these events) right after the
SP>> internal editor were loaded.

SP>> I tried to write here the error and it started the editor well,
SP>> but when I tried to enter a few Russian characters it stopped
SP>> again with the same or very similar error.

SP>> I'm surprised that I can write English with no errors.

SP>> Please somebody, help me to understand the problem and fix it.

SP> В выводе после падения вот такая галиматья

SP> =============================
SP> 7745000-b7746000 ---p 00051000 08:03 26804702 /lib/libncurses.so.5.9

SP> b7746000- b7748000 r--p 00051000 08:03 26804702
SP> /lib/libncurses.so.5.9

SP> b7748000-b7749000 rw-p 00053000 08:03 26804702
SP> /lib/libncurses.so.5.9
SP> b7749000-b77a1000
SP> r-xp 00000000 08:03 26608268 /usr/lib/libhunspell-1.3.so.0.0.0

SP> b77a1000-b77a2000 r--p 00057000 08:03 26608268
SP> /usr/lib/libhunspell-1.3.so.0.0.0

SP> b77a2000-b77a6000 rw-p 00058000 08:03 26608268
SP> /usr/lib/libhunspell-1.3.so.0.0.0

SP> b77b2000-b77b3000 rw-p 00000000 00:00 0
SP> b77b3000-b77b5000 r--p 00000000 00:00 0
SP> [vvar]

SP> b77b50 00-b77b6000 r-xp 00000000 00:00 0 [vdso]
SP> b77b6000-b77d7000 r-xp
SP> 00000000 08:03 42560235 /lib/ld-2.22.so
SP> b77d7000-b77d8000 rw-p 00000000 00:00
SP> 0

SP> b77d800 0-b77d9000 r--p 00021000 08:03 42560235 /lib/ld-2.22.so

SP> b77d9000-b77da000 rw-p 00022000 08:03 42560235 /lib/ld-2.22.so
SP> bff6f000-bffa4000 rw-p
SP> 00000000 00:00 0 [stack]
SP> /home/fido/bin/golded: line 4: 9825 Аварийный останов
SP> =============================

SP> В общем похоже, что падает спеллчекер, спотыкается на русских словах.
SP> Раньше не падал. Значит я вижу два варианта - или повреждён
SP> пользовательский словарь (в чём лично я сильно сомневаюсь) либо падать
SP> стало после апгрейда gcc на очередную версию...

SP> Как можно заметить по этому письму, с отключенным спеллчекером всё
SP> работает.

SP> С наилучшими пожеланиями, Семён.

SP> ... От правды далеко не убежишь (с) Sage

С наилучшими пожеланиями, Семён.

... В гостях хорошо, а дома хуже...
Semen Panevin
2017-04-22 22:22:38 UTC
Permalink
Доброго здоровьица тебе, All!

Saturday April 22 2017 14:10, Semen Panevin послал All:

SP> Падает вот так:

SP> --------------------------
SP> (gdb) bt
SP> #0 0xb7fdac60 in __kernel_vsyscall ()
SP> #1 0xb7afc34b in raise () from /lib/libc.so.6
SP> #2 0xb7afd971 in abort () from /lib/libc.so.6
SP> #3 0xb7b38707 in ?? () from /lib/libc.so.6
SP> #4 0xb7b3eabf in ?? () from /lib/libc.so.6
SP> #5 0xb7b3f282 in ?? () from /lib/libc.so.6
SP> #6 0xb7d825a1 in operator delete(void*) () from
SP> /usr/lib/gcc/i686-pc-linux-gnu/5.4.0/libstdc++.so.6 #7 0xb7d82691 in
SP> operator delete[](void*) () from
SP> /usr/lib/gcc/i686-pc-linux-gnu/5.4.0/libstdc++.so.6 #8 0x8015309f in
SP> CSpellLang::RecodeText (this=0x809a21a0, srcText=0xbfffdcfc "фыважо",
SP> dstText=...,
SP> flag=true) at gespell.cpp:722
Перечитал всё что можно про delete и delete[], поставил несколько следственных
экспериментов в рамках остаточных сиплюсплюсных познаний, и даже попытался
осилить XlatStr(...). На первый взгляд косяков не обнаружено. Но падает...

Падает точно после XlatStr. Если её закомментить - то не падает.

И ведь раньше не падало тоже... неужели что-то в libstcc++ или даже libc
сломали? Но линковка емнип была динамической (впрочем тут я могу и ошибаться)
поэтому упало бы сразу после апдейта а не после пересборки только деда...

С наилучшими пожеланиями, Семён.

... Человек может все, пока не начнет что-то делать... (c)...
Michael Dukelsky
2017-04-23 16:10:42 UTC
Permalink
Привет, Semen!

23 Apr 17 01:22, Semen Panevin послал(а) письмо к All:

SP> Перечитал всё что можно про delete и delete[], поставил несколько
SP> следственных экспериментов в рамках остаточных сиплюсплюсных познаний,
SP> и даже попытался осилить XlatStr(...). На первый взгляд косяков не
SP> обнаружено. Но падает...

SP> Падает точно после XlatStr. Если её закомментить - то не падает.

Копаться в этом коде лень. Скорее всего эта функция пишет в массив, не проверяя
нарушения границ массива, и радостно перезаписывает то место, где хранится
указатель на массив. После чего попытка освобождения выделенной памяти приводит
к краху.

Желаю успехов, Semen!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
Semen Panevin
2017-04-23 17:52:00 UTC
Permalink
Доброго здоровьица тебе, Michael!

Sunday April 23 2017 19:10, Michael Dukelsky писал Semen Panevin:

SP>> Перечитал всё что можно про delete и delete[], поставил несколько
SP>> следственных экспериментов в рамках остаточных сиплюсплюсных
SP>> познаний, и даже попытался осилить XlatStr(...). На первый взгляд
SP>> косяков не обнаружено. Но падает...

SP>> Падает точно после XlatStr. Если её закомментить - то не падает.

MD> Копаться в этом коде лень.
Т.е. всё? можно попрощаться со спелчекером? Или есть шанс, что найдётся кто-то
кому не лень?

MD> Скорее всего эта функция пишет в массив, не
MD> проверяя нарушения границ массива, и радостно перезаписывает то место,
MD> где хранится указатель на массив. После чего попытка освобождения
MD> выделенной памяти приводит к краху.

Под dest выделяется памяти src len + 1. Я пробовал увеличить в 2 раза, не
помогло.

Смущает то, что эта функция не является частью кода спелчекера, и используется
ещё в куче мест. Но больше нигде почему-то не падает, и в этом месте тоже
раньше почему-то не падало...

Правда в других местах может не быть new/delete поэтому грабли могут вылезти
крайне случайно и неочевидно...

С наилучшими пожеланиями, Семён.

... Без крыльев далеко не улетишь
Michael Dukelsky
2017-04-24 07:04:02 UTC
Permalink
Привет, Semen!

23 Apr 17 20:52, Semen Panevin послал(а) письмо к Michael Dukelsky:

SP>>> Перечитал всё что можно про delete и delete[], поставил
SP>>> несколько следственных экспериментов в рамках остаточных
SP>>> сиплюсплюсных познаний, и даже попытался осилить XlatStr(...).
SP>>> На первый взгляд косяков не обнаружено. Но падает...

SP>>> Падает точно после XlatStr. Если её закомментить - то не падает.

MD>> Копаться в этом коде лень.
SP> Т.е. всё? можно попрощаться со спелчекером?

Ну почему же? У меня даже нет права корректировать исходники голдеда на
сервере. Так что на меня не надо ориентироваться. Я просто подсказал тебе
возможную причину падения.

SP> Или есть шанс, что найдётся кто-то кому не лень?

Шанс есть всегда. :)

MD>> Скорее всего эта функция пишет в массив, не
MD>> проверяя нарушения границ массива, и радостно перезаписывает то
MD>> место, где хранится указатель на массив. После чего попытка
MD>> освобождения выделенной памяти приводит к краху.

SP> Под dest выделяется памяти src len + 1. Я пробовал увеличить в 2 раза,
SP> не помогло.

Не надо гадать. Надо проверить, что функция XlatStr действительно портит
значение указателя на выделенную память. Если портит, то нужно разобраться
из-за чего это происходит, из-за того, что она получает неверные данные,
которые она не должна была получить, или из-за ошибки в самой функции. В первом
случае неверные данные могут быть такими, что функция пишет по адресам, меньшим
чем начало выделенного массива памяти. Поэтому сколько памяти не выделяй, это
не поможет. В обоих случаях надо добавить проверку входных данных функции,
чтобы она не могла писать за границы выделенного массива. Ну и в случае
неверных данных надо разбираться, откуда эти неверные данные взялись.

Желаю успехов, Semen!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
Semen Panevin
2017-04-24 18:41:54 UTC
Permalink
Доброго здоровьица тебе, Michael!

Monday April 24 2017 10:04, Michael Dukelsky писал Semen Panevin:

SP>>>> Падает точно после XlatStr. Если её закомментить - то не
SP>>>> падает.

MD>>> Копаться в этом коде лень.
SP>> Т.е. всё? можно попрощаться со спелчекером?

MD> Ну почему же? У меня даже нет права корректировать исходники голдеда
MD> на сервере. Так что на меня не надо ориентироваться. Я просто
MD> подсказал тебе возможную причину падения.
Да это я и так понимаю. Но беглый пробег по содержимому XlatStr не выявил явных
косяков. А если учесть, что я уже почти 10 лет как кодю только на C# - то
станет понятно, что сиплюсплюсные типы данных, ссылки, указатели и проч. - это
для меня уже тёмный лес, даже если я раньше в них худо-бедно ориентировался...

SP>> Или есть шанс, что найдётся кто-то кому не лень?
MD> Шанс есть всегда. :)
Буду ждать и верить...

MD> Не надо гадать. Надо проверить, что функция XlatStr действительно
MD> портит значение указателя на выделенную память.
Это не так просто. Особенно учитывая как ncurses раскорячивает терминал,
отлаживаться там с помощью непривычного gdb - это адъ. Если б оно каждый раз
падало - было бы проще. Так нет же, падает не на первой букве, и даже не всегда
на первом слове...

Там ещё оптимизатор буфер оптимизирует, поэтому его значение в гдб не так
просто выцепить.

С наилучшими пожеланиями, Семён.

... Если человек родился, то это уж на всю жизнь... (c)...
Semen Panevin
2017-04-29 05:04:04 UTC
Permalink
Доброго здоровьица тебе, Michael!

Monday April 24 2017 10:04, Michael Dukelsky писал Semen Panevin:

MD>>> Скорее всего эта функция пишет в массив, не
MD>>> проверяя нарушения границ массива, и радостно перезаписывает то
MD>>> место, где хранится указатель на массив. После чего попытка
MD>>> освобождения выделенной памяти приводит к краху.

SP>> Под dest выделяется памяти src len + 1. Я пробовал увеличить в 2
SP>> раза, не помогло.

MD> Не надо гадать. Надо проверить, что функция XlatStr действительно
MD> портит значение указателя на выделенную память.
Увеличение буфера в ТРИ раза помогло. Значит точно портит, и точно в конце.
Функция здоровая с кучей непонятной мне логики, самому разобраться в ней я
ниасилю. Посему вопрос: коммитить воркароунд с увеличением буфера?

MD> Если портит, то нужно
MD> разобраться из-за чего это происходит, из-за того, что она получает
MD> неверные данные, которые она не должна была получить, или из-за ошибки
MD> в самой функции. В первом случае неверные данные могут быть такими,
MD> что функция пишет по адресам, меньшим чем начало выделенного массива
MD> памяти. Поэтому сколько памяти не выделяй, это не поможет.
Путём следственных экспериментов выяснено, что портится именно в конце. Иначе
увеличение не помогло бы.

MD> В обоих
MD> случаях надо добавить проверку входных данных функции, чтобы она не
MD> могла писать за границы выделенного массива.
Ниасилю. Я все эти указатели позабывал уже.

С наилучшими пожеланиями, Семён.

... Хорошо там, где мы есть! (про фидошников)
Vitaliy Aksyonov
2017-04-29 17:48:46 UTC
Permalink
Привет, Semen!

29 апр 17 08:04, Semen Panevin -> Michael Dukelsky:

MD>> Не надо гадать. Надо проверить, что функция XlatStr действительно
MD>> портит значение указателя на выделенную память.
SP> Увеличение буфера в ТРИ раза помогло. Значит точно портит, и точно в
SP> конце. Функция здоровая с кучей непонятной мне логики, самому
SP> разобраться в ней я ниасилю. Посему вопрос: коммитить воркароунд с
SP> увеличением буфера?

Я могу глянуть. Постараюсь найти причину. Костыль, который вроде работает, но
непонятно почему, тоже ничего хорошего.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Semen Panevin
2017-04-29 20:17:08 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Saturday April 29 2017 20:48, Vitaliy Aksyonov писал Semen Panevin:

MD>>> Не надо гадать. Надо проверить, что функция XlatStr
MD>>> действительно портит значение указателя на выделенную память.
SP>> Увеличение буфера в ТРИ раза помогло. Значит точно портит, и
SP>> точно в конце. Функция здоровая с кучей непонятной мне логики,
SP>> самому разобраться в ней я ниасилю. Посему вопрос: коммитить
SP>> воркароунд с увеличением буфера?

VA> Я могу глянуть. Постараюсь найти причину. Костыль, который вроде
VA> работает, но непонятно почему, тоже ничего хорошего.
Было бы здорово, если глянешь...

С наилучшими пожеланиями, Семён.

... В гостях хорошо, а дома хуже...
Michael Dukelsky
2017-04-29 19:04:12 UTC
Permalink
Привет, Semen!

29 Apr 17 08:04, Semen Panevin послал(а) письмо к Michael Dukelsky:

MD>>>> Скорее всего эта функция пишет в массив, не
MD>>>> проверяя нарушения границ массива, и радостно перезаписывает то
MD>>>> место, где хранится указатель на массив. После чего попытка
MD>>>> освобождения выделенной памяти приводит к краху.

SP>>> Под dest выделяется памяти src len + 1. Я пробовал увеличить в 2
SP>>> раза, не помогло.

MD>> Не надо гадать. Надо проверить, что функция XlatStr действительно
MD>> портит значение указателя на выделенную память.
SP> Увеличение буфера в ТРИ раза помогло. Значит точно портит, и точно в
SP> конце. Функция здоровая с кучей непонятной мне логики, самому
SP> разобраться в ней я ниасилю. Посему вопрос: коммитить воркароунд с
SP> увеличением буфера?

Я бы не стал. Сейчас увеличение буфера в три раза помогло, а в следующий раз
надо будет увеличить в четыре раза. Я бы это гадание на кофейной гуще даже не
стал называть воркэраундом.

Желаю успехов, Semen!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
Semen Panevin
2017-04-29 20:18:16 UTC
Permalink
Доброго здоровьица тебе, Michael!

Saturday April 29 2017 22:04, Michael Dukelsky писал Semen Panevin:

MD>>> Не надо гадать. Надо проверить, что функция XlatStr
MD>>> действительно портит значение указателя на выделенную память.
SP>> Увеличение буфера в ТРИ раза помогло. Значит точно портит, и
SP>> точно в конце. Функция здоровая с кучей непонятной мне логики,
SP>> самому разобраться в ней я ниасилю. Посему вопрос: коммитить
SP>> воркароунд с увеличением буфера?

MD> Я бы не стал. Сейчас увеличение буфера в три раза помогло, а в
MD> следующий раз надо будет увеличить в четыре раза. Я бы это гадание на
MD> кофейной гуще даже не стал называть воркэраундом.
Да вот и мне оно по тем же причинам не нравится. Поэтому и не коммичу, а
спрашиваю мнения народа... Смущает, что падает пока только у меня, и началось
после очередной пересборки после правок, совершенно с этим местом, вроде бы, не
связанных...

С наилучшими пожеланиями, Семён.

... Стрессы начинаются с будильника... (c)...
Vitaliy Aksyonov
2017-04-29 21:19:48 UTC
Permalink
Привет, Semen!

29 апр 17 23:18, Semen Panevin -> Michael Dukelsky:

MD>>>> Не надо гадать. Надо проверить, что функция XlatStr
MD>>>> действительно портит значение указателя на выделенную память.
SP>>> Увеличение буфера в ТРИ раза помогло. Значит точно портит, и
SP>>> точно в конце. Функция здоровая с кучей непонятной мне логики,
SP>>> самому разобраться в ней я ниасилю. Посему вопрос: коммитить
SP>>> воркароунд с увеличением буфера?
MD>> Я бы не стал. Сейчас увеличение буфера в три раза помогло, а в
MD>> следующий раз надо будет увеличить в четыре раза. Я бы это
MD>> гадание на кофейной гуще даже не стал называть воркэраундом.
SP> Да вот и мне оно по тем же причинам не нравится. Поэтому и не коммичу,
SP> а спрашиваю мнения народа... Смущает, что падает пока только у меня, и
SP> началось после очередной пересборки после правок, совершенно с этим
SP> местом, вроде бы, не связанных...

Покопался немного.
До конца еще не разобрался, но попробуй для начала удалить файл goldxlat.gel и
попробуй воспроизвести заново.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Semen Panevin
2017-04-30 07:37:42 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Sunday April 30 2017 00:19, Vitaliy Aksyonov писал Semen Panevin:

SP>> Да вот и мне оно по тем же причинам не нравится. Поэтому и не
SP>> коммичу, а спрашиваю мнения народа... Смущает, что падает пока
SP>> только у меня, и началось после очередной пересборки после
SP>> правок, совершенно с этим местом, вроде бы, не связанных...

VA> Покопался немного.
VA> До конца еще не разобрался, но попробуй для начала удалить файл
VA> goldxlat.gel и попробуй воспроизвести заново.
Пробую... Слово два, слово три, слово пять...

Начал писать слово "работает" и всё снова упало :(

С наилучшими пожеланиями, Семён.

... В гостях хорошо, а дома хуже...
Vitaliy Aksyonov
2017-04-30 15:49:38 UTC
Permalink
Привет, Semen!

30 апр 17 10:37, Semen Panevin -> Vitaliy Aksyonov:

SP>>> Да вот и мне оно по тем же причинам не нравится. Поэтому и не
SP>>> коммичу, а спрашиваю мнения народа... Смущает, что падает пока
SP>>> только у меня, и началось после очередной пересборки после
SP>>> правок, совершенно с этим местом, вроде бы, не связанных...
VA>> Покопался немного.
VA>> До конца еще не разобрался, но попробуй для начала удалить файл
VA>> goldxlat.gel и попробуй воспроизвести заново.
SP> Пробую... Слово два, слово три, слово пять...

SP> Начал писать слово "работает" и всё снова упало :(

Ок. Копну еще. Можешь сделать дама до входа в xlatstr?
В письме есть Soft CR (код 0x8D)?

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Semen Panevin
2017-05-01 04:53:22 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Sunday April 30 2017 18:49, Vitaliy Aksyonov писал Semen Panevin:

SP>> Начал писать слово "работает" и всё снова упало :(

VA> Ок. Копну еще. Можешь сделать дама до входа в xlatstr?
VA> В письме есть Soft CR (код 0x8D)?
Да, в этом письме есть символ с кодом 0x8D. Только это не Soft CR, а русская
буква H :)

Но наличие или отсутствие этой буквы на проблему не влияет, у меня
воспроизводилось и без неё.

С наилучшими пожеланиями, Семён.

... Стрессы начинаются с будильника... (c)...
Vitaliy Aksyonov
2017-05-01 13:10:26 UTC
Permalink
Привет, Semen!

01 май 17 07:53, Semen Panevin -> Vitaliy Aksyonov:

SP>>> Начал писать слово "работает" и всё снова упало :(
VA>> Ок. Копну еще. Можешь сделать дама до входа в xlatstr?
VA>> В письме есть Soft CR (код 0x8D)?
SP> Да, в этом письме есть символ с кодом 0x8D. Только это не Soft CR, а
SP> русская буква H :)

Просто в коде этой функции этот символ особым способом обрабатывается.

SP> Но наличие или отсутствие этой буквы на проблему не влияет, у меня
SP> воспроизводилось и без неё.

Ниже прочитал, что уже все работает?

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Semen Panevin
2017-05-01 16:49:54 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Monday May 01 2017 16:10, Vitaliy Aksyonov писал Semen Panevin:

SP>> Да, в этом письме есть символ с кодом 0x8D. Только это не Soft
SP>> CR, а русская буква H :)
VA> Просто в коде этой функции этот символ особым способом обрабатывается.
Если ты про case SOFTCR ... else if (CompTable) то этот else я уже пробовал
полностью закомментировать, ничего не изменилось.

SP>> Но наличие или отсутствие этой буквы на проблему не влияет, у
SP>> меня воспроизводилось и без неё.

VA> Ниже прочитал, что уже все работает?
Кто прочитал, где, и что работает? Ты сабж не попутал?

С наилучшими пожеланиями, Семён.

... Учиться, учиться и учиться! (с) Ленин
Vitaliy Aksyonov
2017-05-01 17:08:44 UTC
Permalink
Привет, Semen!

01 май 17 19:49, Semen Panevin -> Vitaliy Aksyonov:

SP>>> Да, в этом письме есть символ с кодом 0x8D. Только это не Soft
SP>>> CR, а русская буква H :)
VA>> Просто в коде этой функции этот символ особым способом
VA>> обрабатывается.
SP> Если ты про case SOFTCR ... else if (CompTable) то этот else я уже
SP> пробовал полностью закомментировать, ничего не изменилось.

Да. Про него.
Хм. Еще тогда такое попробуй. Увеличь буфер в три раза, когда работает и
посмотри, что в нем оказывается после вызова xlatstr.
Там в этой функции очень много зависит от флагов компиляции и внешних настроек.

SP>>> Но наличие или отсутствие этой буквы на проблему не влияет, у
SP>>> меня воспроизводилось и без неё.
VA>> Ниже прочитал, что уже все работает?
SP> Кто прочитал, где, и что работает? Ты сабж не попутал?

Упс. Перепутал авторов. :) Значит, продолжаем копать. :)

Все-таки можешь выслать дамп после падения и дамп перед вызовом xlatstr и
бинарник нестрипнутый?

Напомни, какой спеллчекер используешь?

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Semen Panevin
2017-05-01 17:42:22 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Monday May 01 2017 20:08, Vitaliy Aksyonov писал Semen Panevin:

VA> Хм. Еще тогда такое попробуй. Увеличь буфер в три раза, когда работает
VA> и посмотри, что в нем оказывается после вызова xlatstr.
Так оно вызывается после ввода КАЖДОЙ буквы. Включая рендеринг шаблона. Это же
скока сот раз надо в gdb туда брякнуться, пока не попаду в момент "перед
падением", и то если я его угадаю... Говорю же, не каждый раз падает. Если б
падало на любой букве - всё было бы сильно проще...

VA> Там в этой
VA> функции очень много зависит от флагов компиляции и внешних настроек.
Случайно по косвенным признакам выяснил, что компилилось вероятно с поддержкой
iconv. Пробовал компиляцию подхачить чтоб от iconv избавиться. Не помогло. Но
вот только не понял, не помогло избавление или не помогло избавиться.

VA> Все-таки можешь выслать дамп после падения и дамп перед вызовом
VA> xlatstr и бинарник нестрипнутый?
Во-первых, ещё раз повторяю, что "дамп перед вызовом" не поможет при первом
попавшемся вызове, т.к. падает не каждый раз. А отловить "тот самый" вызов -
задача пока что для меня нерешаемая. Во-вторых, если ты мне скажешь как это
дамп сделать - то хотя-бы тот что после падения я тебе вышлю. В нетмыл.

Бинарник прислать - без проблем. Но сомневаюсь что он у тебя заведётся без
установленного hunspell. Разве что пересобрать статически со встроенным...
Уверен, что проблема не исчезнет... Но вдруг...

VA> Напомни, какой спеллчекер используешь?
А что, в линухах много вариантов? hunspell. С динамической линковкой, не
встроенный.

С наилучшими пожеланиями, Семён.

... Не ищи смысл там, где его нет... (c) Sage
Vitaliy Aksyonov
2017-05-01 18:11:00 UTC
Permalink
Привет, Semen!

01 май 17 20:42, Semen Panevin -> Vitaliy Aksyonov:

VA>> Хм. Еще тогда такое попробуй. Увеличь буфер в три раза, когда
VA>> работает и посмотри, что в нем оказывается после вызова xlatstr.
SP> Так оно вызывается после ввода КАЖДОЙ буквы. Включая рендеринг
SP> шаблона. Это же скока сот раз надо в gdb туда брякнуться, пока не
SP> попаду в момент "перед падением", и то если я его угадаю... Говорю же,
SP> не каждый раз падает. Если б падало на любой букве - всё было бы
SP> сильно проще...

Один раз. :) Просто бряку поставь не в ней, а в gspell.cpp.

VA>> Там в этой
VA>> функции очень много зависит от флагов компиляции и внешних
VA>> настроек.
SP> Случайно по косвенным признакам выяснил, что компилилось вероятно с
SP> поддержкой iconv. Пробовал компиляцию подхачить чтоб от iconv
SP> избавиться. Не помогло. Но вот только не понял, не помогло избавление
SP> или не помогло избавиться.

Вот, кстати, зачем там вызов iconv - не совсем пока понял.

VA>> Все-таки можешь выслать дамп после падения и дамп перед вызовом
VA>> xlatstr и бинарник нестрипнутый?
SP> Во-первых, ещё раз повторяю, что "дамп перед вызовом" не поможет при
SP> первом попавшемся вызове, т.к. падает не каждый раз. А отловить "тот
SP> самый" вызов - задача пока что для меня нерешаемая. Во-вторых, если ты
SP> мне скажешь как это дамп сделать - то хотя-бы тот что после падения я
SP> тебе вышлю. В нетмыл.

SP> Бинарник прислать - без проблем. Но сомневаюсь что он у тебя заведётся
SP> без установленного hunspell. Разве что пересобрать статически со
SP> встроенным... Уверен, что проблема не исчезнет... Но вдруг...

Мне не для того, чтобы завести, а чтобы я смог открыть дамп твой.

VA>> Напомни, какой спеллчекер используешь?
SP> А что, в линухах много вариантов? hunspell. С динамической линковкой,
SP> не встроенный.

Попробую собрать с ним и воспроизвести.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Semen Panevin
2017-05-02 01:55:24 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Monday May 01 2017 21:11, Vitaliy Aksyonov писал Semen Panevin:

VA>>> Хм. Еще тогда такое попробуй. Увеличь буфер в три раза, когда
VA>>> работает и посмотри, что в нем оказывается после вызова xlatstr.
SP>> Так оно вызывается после ввода КАЖДОЙ буквы. Включая рендеринг
SP>> шаблона. Это же скока сот раз надо в gdb туда брякнуться, пока не
SP>> попаду в момент "перед падением", и то если я его угадаю...
SP>> Говорю же, не каждый раз падает. Если б падало на любой букве -
SP>> всё было бы сильно проще...

VA> Один раз. :) Просто бряку поставь не в ней, а в gspell.cpp.
Я ещё раз повторяю, что RecodeText из gespell.cpp вызывается при вводе КАЖДОЙ
буквы. А вот падает - не после каждой.

VA>>> Там в этой
VA>>> функции очень много зависит от флагов компиляции и внешних
VA>>> настроек.
SP>> Случайно по косвенным признакам выяснил, что компилилось вероятно
SP>> с поддержкой iconv. Пробовал компиляцию подхачить чтоб от iconv
SP>> избавиться. Не помогло. Но вот только не понял, не помогло
SP>> избавление или не помогло избавиться.
VA> Вот, кстати, зачем там вызов iconv - не совсем пока понял.
Ну видимо кто-то пытался вместо статических таблиц перекодировок заюзать
имеющийся в системе iconv для той же цели.

В теории оно с iconv должно собираться только если явно указать при сборке make
ICONV=1, но в Gnumake.def проверка этого параметра сделана не так же, как всех
остальных. Я плохо разбираюсь в мейкфайлах и не уверен что проверка сделана
правильно...

VA>>> Все-таки можешь выслать дамп после падения и дамп перед вызовом
VA>>> xlatstr и бинарник нестрипнутый?
SP>> Во-первых, ещё раз повторяю, что "дамп перед вызовом" не поможет
SP>> при первом попавшемся вызове, т.к. падает не каждый раз. А
SP>> отловить "тот самый" вызов - задача пока что для меня нерешаемая.
SP>> Во-вторых, если ты мне скажешь как это дамп сделать - то хотя-бы
SP>> тот что после падения я тебе вышлю. В нетмыл.

SP>> Бинарник прислать - без проблем. Но сомневаюсь что он у тебя
SP>> заведётся без установленного hunspell. Разве что пересобрать
SP>> статически со встроенным... Уверен, что проблема не исчезнет...
SP>> Но вдруг...

VA> Мне не для того, чтобы завести, а чтобы я смог открыть дамп твой.
Я всё ещё не понял как сделать нужный тебе дамп

VA>>> Напомни, какой спеллчекер используешь?
SP>> А что, в линухах много вариантов? hunspell. С динамической
SP>> линковкой, не встроенный.
VA> Попробую собрать с ним и воспроизвести.
Для динамической линковки у меня собственные патчи.

http://icelan.ru/svn/test/golded+/gentoo/portage/net-ftn/golded+/files/hunspell
-dynlib.patch.bz2
плюс удалить goldlib/hunspell

Лучше я попробую статически со встроенным собрать... и посмотрю, вдруг проблема
возьми да исчезни...

С наилучшими пожеланиями, Семён.

... Незаменимых людей нет, но исключением стать хочется... (c)...
Alexey Vissarionov
2017-05-02 17:28:28 UTC
Permalink
Доброго времени суток, Vitaliy!
01 May 2017 16:10:26, ты -> Semen Panevin:

SP>>>> Начал писать слово "работает" и всё снова упало :(
VA>>> Ок. Копну еще. Можешь сделать дама до входа в xlatstr?
VA>>> В письме есть Soft CR (код 0x8D)?
SP>> Да, в этом письме есть символ с кодом 0x8D. Только это
SP>> не Soft CR, а русская буква H :)
VA> Просто в коде этой функции этот символ особым способом
VA> обрабатывается.

Это почти нормально. Почти - в том смысле, что пора бы этот атавизм удалить.

SP>> Но наличие или отсутствие этой буквы на проблему не влияет, у меня
SP>> воспроизводилось и без неё.
VA> Ниже прочитал, что уже все работает?

Где?


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Лучше рабочий беспорядок, чем нерабочий порядок
Vitaliy Aksyonov
2017-05-02 19:29:08 UTC
Permalink
Привет, Alexey!

02 май 17 20:28, Alexey Vissarionov -> Vitaliy Aksyonov:

SP>>>>> Начал писать слово "работает" и всё снова упало :(
VA>>>> Ок. Копну еще. Можешь сделать дама до входа в xlatstr?
VA>>>> В письме есть Soft CR (код 0x8D)?
SP>>> Да, в этом письме есть символ с кодом 0x8D. Только это
SP>>> не Soft CR, а русская буква H :)
VA>> Просто в коде этой функции этот символ особым способом
VA>> обрабатывается.
AV> Это почти нормально. Почти - в том смысле, что пора бы этот атавизм
AV> удалить.

Похоже на то.

SP>>> Но наличие или отсутствие этой буквы на проблему не влияет, у
SP>>> меня воспроизводилось и без неё.
VA>> Ниже прочитал, что уже все работает?
AV> Где?

Обознался. Перепутал авторов.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Konstantin Simonov
2017-05-02 09:17:28 UTC
Permalink
Hi, Semen!

Monday May 01 2017 07:53, Semen Panevin (2:5025/121) => Vitaliy Aksyonov:

SP> Да, в этом письме есть символ с кодом 0x8D. Только это не Soft CR, а
SP> русская буква H :)
SP> Но наличие или отсутствие этой буквы на проблему не влияет, у меня
SP> воспроизводилось и без неё.

Блин, сдалась вам эта буква. GoldEd уж здесь точно ни при чем.

Можно включить в GoldEd.cfg
EditCompletion "жопа" "попа"

И где здесь буква "H"?

У меня она как заменялась, так и будет заменяться. :)


Sincerely yours, Konstantin.

... Voice +7-383-73-53-203 ICQ 594179153
... Jabber ***@qip.ru Email ***@inbox.ru
Vitaliy Aksyonov
2017-05-02 14:01:04 UTC
Permalink
Привет, Konstantin!

02 май 17 12:17, Konstantin Simonov -> Semen Panevin:

SP>> Да, в этом письме есть символ с кодом 0x8D. Только это не Soft
SP>> CR, а русская буква H :) Но наличие или отсутствие этой буквы на
SP>> проблему не влияет, у меня воспроизводилось и без неё.

KS> Блин, сдалась вам эта буква. GoldEd уж здесь точно ни при чем.

KS> Можно включить в GoldEd.cfg
KS> EditCompletion "жопа" "попа"

KS> И где здесь буква "H"?

KS> У меня она как заменялась, так и будет заменяться. :)

Дело не в замене. В коде деда есть специальная обработка этого символа. Вот и
все.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Konstantin Simonov
2017-05-02 18:49:08 UTC
Permalink
Hi, Vitaliy!

Tuesday May 02 2017 17:01, Vitaliy Aksyonov (2:463/3232) => Konstantin Simonov:

KS>> Можно включить в GoldEd.cfg
KS>> EditCompletion "жопа" "попа"
KS>> И где здесь буква "H"?
KS>> У меня она как заменялась, так и будет заменяться. :)
VA> Дело не в замене. В коде деда есть специальная обработка этого
VA> символа. Вот и все.

В GoldEd есть лишь EditCompletion, а кто там на чего заменяет это его проблемы.


Sincerely yours, Konstantin.

... Voice +7-383-73-53-203 ICQ 594179153
... Jabber ***@qip.ru Email ***@inbox.ru
Vitaliy Aksyonov
2017-05-02 19:24:58 UTC
Permalink
Привет, Konstantin!

02 май 17 21:49, Konstantin Simonov -> Vitaliy Aksyonov:

KS>>> Можно включить в GoldEd.cfg
KS>>> EditCompletion "жопа" "попа"
KS>>> И где здесь буква "H"?
KS>>> У меня она как заменялась, так и будет заменяться. :)
VA>> Дело не в замене. В коде деда есть специальная обработка этого
VA>> символа. Вот и все.
KS> В GoldEd есть лишь EditCompletion, а кто там на чего заменяет это его
KS> проблемы.

Это не касается сабжа. Тут обсуждается падение деда при использовании
спелчекера.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Semen Panevin
2017-05-03 05:14:58 UTC
Permalink
Доброго здоровьица тебе, Konstantin!

Tuesday May 02 2017 12:17, Konstantin Simonov писал Semen Panevin:

SP>> Да, в этом письме есть символ с кодом 0x8D. Только это не Soft
SP>> CR, а русская буква H :) Но наличие или отсутствие этой буквы на
SP>> проблему не влияет, у меня воспроизводилось и без неё.

KS> Блин, сдалась вам эта буква. GoldEd уж здесь точно ни при чем.
Как раз таки причём. Некоторые символы, включая символ с кодом 0x8D (SoftCR в
константах кода), обрабатываются особым образом в некоторых ситуациях. И
EditCompletion тут совершенно ни при чём.

KS> У меня она как заменялась, так и будет заменяться. :)
Пока тебя не отругают в какой-нибудь эхе где это явно правилами запрещено. Но
здесь и сейчас речь совершенно не об этом. Ты б хоть начало треда прочитал...

С наилучшими пожеланиями, Семён.

... Хорошо там, где мы есть! (про фидошников)
Alexey Vissarionov
2017-05-02 17:04:00 UTC
Permalink
Доброго времени суток, Semen!
29 Apr 2017 08:04:04, ты -> Michael Dukelsky:

MD>>>> Скорее всего эта функция пишет в массив, не проверяя нарушения
MD>>>> границ массива, и радостно перезаписывает то место, где хранится
MD>>>> указатель на массив. После чего попытка освобождения выделенной
MD>>>> памяти приводит к краху.
SP>>> Под dest выделяется памяти src len + 1. Я пробовал увеличить в 2
SP>>> раза, не помогло.
MD>> Не надо гадать. Надо проверить, что функция XlatStr действительно
MD>> портит значение указателя на выделенную память.
SP> Увеличение буфера в ТРИ раза помогло. Значит точно портит, и точно
SP> в конце. Функция здоровая с кучей непонятной мне логики, самому
SP> разобраться в ней я ниасилю. Посему вопрос: коммитить воркароунд с
SP> увеличением буфера?

Нет. Особенно с учетом вот этого:

SP> Ниасилю. Я все эти указатели позабывал уже.

Кстати, вопрос: покажи, как у тебя запускается эхотаг. Есть у меня одно
подозрение, которое вполне объясняет то, что трехкратное увеличение буфера
купировало (но не устранило) проблему...


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Приручив собаку, человек потерял нюх, а освоив интернет - теряет мозг
Semen Panevin
2017-05-03 05:17:48 UTC
Permalink
Доброго здоровьица тебе, Alexey!

Tuesday May 02 2017 20:04, Alexey Vissarionov писал Semen Panevin:

AV> Кстати, вопрос: покажи, как у тебя запускается эхотаг. Есть у меня
AV> одно подозрение, которое вполне объясняет то, что трехкратное
AV> увеличение буфера купировало (но не устранило) проблему...
Запускается очень просто:
***@server ~ $ golded

Для справки:

***@server ~ $ cat ~/.bashrc |grep "^alias golded"
alias golded="~/bin/golded"

***@server ~ $ cat ~/bin/golded
#!/bin/bash

#gedlnx $* && touch /var/lib/ftn/flags/echoscan
gedlnx $*; touch /var/lib/ftn/flags/echoscan

Точно так же он запускался и до того как проблема появилась после очередной
перекомпиляции.

С наилучшими пожеланиями, Семён.

... В гостях хорошо, а дома хуже...
Vladimir Bakhvaloff
2017-05-03 06:28:39 UTC
Permalink
[HTTP://bakh.spb.ru] [EMail: bob#bakh.spb.ru] [ICQ:1608235]
О, Благоpодная Дама Semen!!! Или я опять пива пЕpепил?..

Отвечая на письмо Semen Panevin => Alexey Vissarionov [Ср 03 Май 17]:

SP> Точно так же он запускался и до того как проблема появилась после
SP> очередной перекомпиляции.

Дурацкая мысль: а откат на "нормально работающие" сорцы какой результат
даёт?..

Саёнара, Semen-тян... Саёнара...
[ 3D Professional Team | Argus Team ]
* Windows 7 Ultimate x86 [version 6.1.7601] Service Pack 1 *
Semen Panevin
2017-05-03 18:26:58 UTC
Permalink
Доброго здоровьица тебе, Vladimir!

Wednesday May 03 2017 09:28, Vladimir Bakhvaloff писал Semen Panevin:

SP>> Точно так же он запускался и до того как проблема появилась после
SP>> очередной перекомпиляции.

VB> Дурацкая мысль: а откат на "нормально работающие" сорцы какой
VB> результат даёт?..
Да где ж их взять. Я не настолько дружу с cvs, а gentoo portage из которого оно
собирается тем более не обучен не самую свежую версию брать.

К тому же правки, после которых была пересборка, были какие-то совсем невинные
и в совсем других местах... вроде бы. Давно было...

С наилучшими пожеланиями, Семён.

... Век живи, век лечись...
Alexander Polozov
2017-05-04 05:41:32 UTC
Permalink
Привет, Semen!


Ответ на сообщение Semen Panevin (2:5025/121) к Vladimir Bakhvaloff,
написанное 03 май 17 в 21:26:

VB>> Дурацкая мысль: а откат на "нормально работающие" сорцы какой
VB>> результат даёт?..
SP> Да где ж их взять. Я не настолько дружу с cvs, а gentoo portage из
SP> которого оно собирается тем более не обучен не самую свежую версию
SP> брать.
Умеет, там как то нужная ревизия дёргается, рецепт видел, но за давностью не
вспомню.
SP> К тому же правки, после которых была пересборка, были какие-то совсем
SP> невинные и в совсем других местах... вроде бы. Давно было...
У меня что-то подобное (падения при вводе текста) были, давно уже правда.
По совету тутошних старожилов лечил созданием конфига с нуля и добавлением
строк конфига по одной.
Как видишь падать перестало, причину падучести я не отлавливал.

Со всеми пожеланиями, Alexander Polozov

... ГОСТ - это законодательно утвержденный феншуй
Alexey Vissarionov
2017-05-03 11:00:00 UTC
Permalink
Доброго времени суток, Semen!
03 May 2017 08:17:48, ты -> мне:

AV>> Кстати, вопрос: покажи, как у тебя запускается эхотаг. Есть у меня
AV>> одно подозрение, которое вполне объясняет то, что трехкратное
AV>> увеличение буфера купировало (но не устранило) проблему...
SP> Запускается очень просто:
SP> ***@server ~ $ golded

Браво, капитан! Вот ваша байдарка, капитан!
_______________________________
\_____________________________/

У меня он, знаешь ли, тоже так запускается... argv[] и env[] покажи.

SP> Точно так же он запускался и до того как проблема появилась после
SP> очередной перекомпиляции.

А не проще пересобрать без проверялки и просто писать грамотно?


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Кто не боится синего экрана - не должен бояться и черного
Semen Panevin
2017-05-03 18:30:32 UTC
Permalink
Доброго здоровьица тебе, Alexey!

Wednesday May 03 2017 14:00, Alexey Vissarionov писал Semen Panevin:

AV>>> Кстати, вопрос: покажи, как у тебя запускается эхотаг. Есть у
AV>>> меня одно подозрение, которое вполне объясняет то, что
AV>>> трехкратное увеличение буфера купировало (но не устранило)
AV>>> проблему...
SP>> Запускается очень просто:
SP>> ***@server ~ $ golded

AV> Браво, капитан! Вот ваша байдарка, капитан!
AV> _______________________________
AV> \_____________________________/

AV> У меня он, знаешь ли, тоже так запускается... argv[] и env[] покажи.
Чего-чего? Я никаких доп. телодвижений при запуске не делаю. Все argv[] тут.

А под env[] что ты понимаешь - я не понимаю. К вопросу о том, _как_ запускается
эхотаг, это не относится.

SP>> Точно так же он запускался и до того как проблема появилась после
SP>> очередной перекомпиляции.
AV> А не проще пересобрать без проверялки и просто писать грамотно?
Я что, блин, зря шесть лет назад потратил кучу времени на допиливание этой
проверялки до поддержки multiple dictionaries и линковки с hunspell
динамически? Нет уж, дудки. К тому же, XlatStr() не является частью кода
поддержки спеллчекера, а значит может упасть и где-нибудь ещё.

С наилучшими пожеланиями, Семён.

... Хорошо там, где нас нет... (это не про фидошников)
Vladimir Fyodorov
2017-05-03 18:59:18 UTC
Permalink
Разнообразно приветствую тебя, Semen!

03 Мая 2017, Semen Panevin писАл к Alexey Vissarionov следующее:

AV>> А не проще пересобрать без проверялки и просто писать грамотно?
SP> Я что, блин, зря шесть лет назад потратил кучу времени на допиливание
SP> этой проверялки до поддержки multiple dictionaries и линковки с
SP> hunspell динамически?

Не зря. Я пользуюсь и очень доволен. И всем советую. Спасибо тебе.

Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... И байтики кровавые в глазах ...
Alexey Vissarionov
2017-05-04 04:30:00 UTC
Permalink
Доброго времени суток, Semen!
03 May 2017 21:30:32, ты -> мне:

AV>>>> Кстати, вопрос: покажи, как у тебя запускается эхотаг. Есть у
AV>>>> меня одно подозрение, которое вполне объясняет то, что
AV>>>> трехкратное увеличение буфера купировало (но не устранило)
AV>>>> проблему...
SP>>> Запускается очень просто:
SP>>> ***@server ~ $ golded
AV>> У меня он, знаешь ли, тоже так запускается... argv[] и env[] покажи.
SP> Чего-чего? Я никаких доп. телодвижений при запуске не делаю. Все
SP> argv[] тут. А под env[] что ты понимаешь - я не понимаю.

int main(int argc, char **argv, char **env)

SP> К вопросу о том, _как_ запускается эхотаг, это не относится.

Зато относится к вопросу, как он работает.

SP>>> Точно так же он запускался и до того как проблема появилась после
SP>>> очередной перекомпиляции.
AV>> А не проще пересобрать без проверялки и просто писать грамотно?
SP> Я что, блин, зря шесть лет назад потратил кучу времени на допиливание
SP> этой проверялки до поддержки multiple dictionaries и линковки с
SP> hunspell динамически?

Если тебя действительно интересует мое личное мнение - таки да, зря: лучше бы
больше книжек читал, оно для правильнописания полезнее.

SP> Нет уж, дудки.

То есть, вариант "писать грамотно" ты даже не рассматриваешь? Плохо...

SP> К тому же, XlatStr() не является частью кода поддержки спеллчекера,
SP> а значит может упасть и где-нибудь ещё.

Да, и это единственная причина, по которой я вообще полез в этот тред.


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... ***@universe:~ # cvs up && make world
Semen Panevin
2017-05-04 05:54:06 UTC
Permalink
Доброго здоровьица тебе, Alexey!

Thursday May 04 2017 07:30, Alexey Vissarionov писал Semen Panevin:

AV>>>>> Кстати, вопрос: покажи, как у тебя запускается эхотаг. Есть у
AV>>>>> меня одно подозрение, которое вполне объясняет то, что
AV>>>>> трехкратное увеличение буфера купировало (но не устранило)

AV> int main(int argc, char **argv, char **env)
SP>> К вопросу о том, _как_ запускается эхотаг, это не относится.
AV> Зато относится к вопросу, как он работает.
Который ты не задавал. Скажи конкретно что ты от меня хочешь. Как запускается я
тебе уже ответил.

SP>> Нет уж, дудки.
AV> То есть, вариант "писать грамотно" ты даже не рассматриваешь? Плохо...
Наличие включенного спеллчекера в некоторых случаях никак не связано с "писать
грамотно". А ещё бывают очепятки.

SP>> К тому же, XlatStr() не является частью кода поддержки
SP>> спеллчекера, а значит может упасть и где-нибудь ещё.
AV> Да, и это единственная причина, по которой я вообще полез в этот тред.
Расскажи хотя-бы что за подозрение у тебя было.

С наилучшими пожеланиями, Семён.

... Ребята, давайте жить дружно! (с) Леопольд
Alexander Polozov
2016-09-06 05:43:56 UTC
Permalink
Привет, Semen!


Ответ на сообщение Semen Panevin (2:5025/121) к golded+ inspector,
написанное 05 сен 16 в 22:59:

SP> Sorry for English language.

SP> Re-compiled with new sources right after the change. It worked well
SP> until today, when I tried to answer in R50.SYSOP.DRUNKS, it stopped
SP> with some error and broke my terminal (I'm not sure that I tried to
SP> write messages between these events) right after the internal editor
SP> were loaded.

SP> I tried to write here the error and it started the editor well, but
SP> when I tried to enter a few Russian characters it stopped again with
SP> the same or very similar error.

SP> I'm surprised that I can write English with no errors.

SP> Please somebody, help me to understand the problem and fix it.
Эта хрень в деде давно появилась и отловить причин мне лично не удалось, но с
последними патчами падучая вряд ли связана.
Единственный рецепт который я нашёл и который вроде как помог - убрать старый
конфиг нафиг и создать с нуля новый, добавляя нужное из старого по строчке и
тестируя на падучесть.

Со всеми пожеланиями, Alexander Polozov

... Format C: стирает то, что другим не под силу!
Vladislav Vetrov
2016-09-06 06:03:14 UTC
Permalink
Hello Semen!

05 сен 16 22:59, you wrote to golded+ inspector:

SP> Re-compiled with new sources right after the change. It worked well until
SP> today, when I tried to answer in R50.SYSOP.DRUNKS, it stopped with some
SP> error and broke my terminal (I'm not sure that I tried to write messages
SP> between these events) right after the internal editor were loaded.

Hужно полностью избавиться от юникод и перейти только на koi8-R в терминале.

Как это сделать я написал в сообщении с темой "Редактирование %i,%i(%02X).
%s"", should be 3".
Продублируюе его через UNSent, чтобы тебе долго не искать.

Удачи!

Vladislav

... -= - <<< - >>> - =-
Semen Panevin
2016-09-06 22:14:38 UTC
Permalink
Доброго здоровьица тебе, Vladislav!

Tuesday September 06 2016 09:03, Vladislav Vetrov писал Semen Panevin:

SP>> I tried to write messages between these events) right after the
SP>> internal editor were loaded.

VV> Hужно полностью избавиться от юникод и перейти только на koi8-R в
VV> терминале.
Ты не по адресу. Я как-бы в курсе и терминал тоже.

С наилучшими пожеланиями, Семён.

... Век живи, век лечись...
Semen Panevin
2017-05-02 03:01:10 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Tuesday May 02 2017 04:55, Semen Panevin послал Vitaliy Aksyonov:

SP> http://icelan.ru/svn/test/golded+/gentoo/portage/net-ftn/golded+/files
SP> /hunspell -dynlib.patch.bz2 плюс удалить goldlib/hunspell

SP> Лучше я попробую статически со встроенным собрать... и посмотрю, вдруг
SP> проблема возьми да исчезни...
Как и ожидалось, не исчезла.

С наилучшими пожеланиями, Семён.

... Век живи, век лечись...
Semen Panevin
2017-05-03 05:22:48 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Tuesday May 02 2017 06:01, Semen Panevin послал Vitaliy Aksyonov:

SP>> Лучше я попробую статически со встроенным собрать... и посмотрю,
SP>> вдруг проблема возьми да исчезни...
SP> Как и ожидалось, не исчезла.

У аплинка были затыки с почтой. Судя по датам, письма пришли и за вчера и за
сегодня, но могло что-то и потеряться. Так что если после того моего письма
были какие-то адресованные мне, но на которые я не ответил - прошу их
продублировать, они могли до меня не дойти...

С наилучшими пожеланиями, Семён.

... Без крыльев далеко не улетишь
Vitaliy Aksyonov
2017-05-03 23:39:26 UTC
Permalink
Привет, Semen!

03 май 17 08:22, Semen Panevin -> Vitaliy Aksyonov:

SP>>> Лучше я попробую статически со встроенным собрать... и посмотрю,
SP>>> вдруг проблема возьми да исчезни...
SP>> Как и ожидалось, не исчезла.
SP> У аплинка были затыки с почтой. Судя по датам, письма пришли и за
SP> вчера и за сегодня, но могло что-то и потеряться. Так что если после
SP> того моего письма были какие-то адресованные мне, но на которые я не
SP> ответил - прошу их продублировать, они могли до меня не дойти...

Я был занят и пока не занимался этим вопросом.
Постараюсь на днях еще посмотреть.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.
Loading...