forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.GOLDED

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 20.10.2023, 14:09
Nil A
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Nil A написал(а) к Cheslav Osanadze в Oct 23 18:09:34 по местному времени:

* Answering a message in area ru.fidonet.today (2:50 Bone: Жизнь современного Фидо).

Нello, Cheslav!

Thursday October 19 2023 07:26, from Cheslav Osanadze -> Dmitriy Kulikov:

CO>>> F1! Третий экран. Нил пишет с Голдеда, но там, наверное, F1
CO>>> отломано.

DK>> Сейчас попробовал. У меня тоже F1 отломано. И, похоже, очень
DK>> давно. Каким скотчем примотать обратно?

CO> Как вы их ломаете?!

Как-как, заходим по F1, читаем там, а потом по ESC выходим, и тут то санитайзер и срабатывает

==6255==ERROR: AddressSanitizer: heap-use-after-free on address 0x60800001226c at pc 0x000000b4c1d5 bp 0x7ffdfdc2f5b0 sp 0x7ffdfdc2f5a8
READ of size 2 at 0x60800001226c thread T0
#0 0xb4c1d4 in getxch(int) /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:319
#1 0xb81225 in wmenuget() /home/fido/src/golded-plus/goldlib/gcui/gwinmenu.cpp:1063
#2 0xb6ecef in disp_cat /home/fido/src/golded-plus/goldlib/gcui/gwinhlp1.cpp:341
#3 0xb70b2b in help_handler /home/fido/src/golded-plus/goldlib/gcui/gwinhlp1.cpp:580
#4 0xb4a275 in kbdcallfunc /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:97
#5 0xb4c0fd in getxch(int) /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:308
#6 0x61d62e in getxchtick() /home/fido/src/golded-plus/goldlib/gcui/gkbdbase.h:168
#7 0x7b1739 in ReaderGetKey() /home/fido/src/golded-plus/golded3/geread.cpp:66
#8 0x7b185e in ViewMessage(int) /home/fido/src/golded-plus/golded3/geread.cpp:93
#9 0x7b92c6 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:457
#10 0x6c63bb in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
#11 0x7fa72baf7f44 in _libc_start_main (/lib/x8664-linux-gnu/libc.so.6+0x21f44)
#12 0x407c98 (/home/fido/src/golded-plus/build_asan/golded3/golded+0x407c98)

0x60800001226c is located 76 bytes inside of 88-byte region [0x608000012220,0x608000012278)
freed by thread T0 here:
#0 0x7fa72d4b9307 in _interceptor_free ../../../../src/libsanitizer/asan/asan_malloclinux.cc:122
#1 0xae7905 in throwfreedebug(void, char const, int) /home/fido/src/golded-plus/goldlib/gall/gmemdbg.cpp:478
#2 0xb49501 in setonkey(unsigned short, void (*)(), unsigned short) /home/fido/src/golded-plus/goldlib/gcui/gkbdbase.cpp:2480
#3 0xb6daf9 in esc_esc /home/fido/src/golded-plus/goldlib/gcui/gwinhlp1.cpp:100
#4 0xb4a275 in kbdcallfunc /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:97
#5 0xb4c0fd in getxch(int) /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:308
#6 0xb81225 in wmenuget() /home/fido/src/golded-plus/goldlib/gcui/gwinmenu.cpp:1063
#7 0xb6ecef in disp_cat /home/fido/src/golded-plus/goldlib/gcui/gwinhlp1.cpp:341
#8 0xb70b2b in help_handler /home/fido/src/golded-plus/goldlib/gcui/gwinhlp1.cpp:580
#9 0xb4a275 in kbdcallfunc /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:97
#10 0xb4c0fd in getxch(int) /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:308
#11 0x61d62e in getxchtick() /home/fido/src/golded-plus/goldlib/gcui/gkbdbase.h:168
#12 0x7b1739 in ReaderGetKey() /home/fido/src/golded-plus/golded3/geread.cpp:66
#13 0x7b185e in ViewMessage(int) /home/fido/src/golded-plus/golded3/geread.cpp:93
#14 0x7b92c6 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:457
#15 0x6c63bb in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
#16 0x7fa72baf7f44 in _libc_start_main (/lib/x8664-linux-gnu/libc.so.6+0x21f44)

previously allocated by thread T0 here:
#0 0x7fa72d4b989e in _interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloclinux.cc:153
#1 0xae6011 in throwcallocdebug(unsigned long, unsigned long, char const*, int) /home/fido/src/golded-plus/goldlib/gall/gmemdbg.cpp:333
#2 0xae5eb5 in throwmallocdebug(unsigned long, char const*, int) /home/fido/src/golded-plus/goldlib/gall/gmemdbg.cpp:305
#3 0xb4958c in setonkey(unsigned short, void (*)(), unsigned short) /home/fido/src/golded-plus/goldlib/gcui/gkbdbase.cpp:2493
#4 0xb6ec07 in disp_cat /home/fido/src/golded-plus/goldlib/gcui/gwinhlp1.cpp:336
#5 0xb70b2b in help_handler /home/fido/src/golded-plus/goldlib/gcui/gwinhlp1.cpp:580
#6 0xb4a275 in kbdcallfunc /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:97
#7 0xb4c0fd in getxch(int) /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:308
#8 0x61d62e in getxchtick() /home/fido/src/golded-plus/goldlib/gcui/gkbdbase.h:168
#9 0x7b1739 in ReaderGetKey() /home/fido/src/golded-plus/golded3/geread.cpp:66
#10 0x7b185e in ViewMessage(int) /home/fido/src/golded-plus/golded3/geread.cpp:93
#11 0x7b92c6 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:457
#12 0x6c63bb in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
#13 0x7fa72baf7f44 in _libc_start_main (/lib/x8664-linux-gnu/libc.so.6+0x21f44)

SUMMARY: AddressSanitizer: heap-use-after-free /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:319 in getxch(int)

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #2  
Старый 20.10.2023, 14:09
Cheslav Osanadze
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Cheslav Osanadze написал(а) к Nil A в Oct 23 18:11:09 по местному времени:

Привет Nil!

19 Окт 23 18:09, Nil A -> Cheslav Osanadze:

CO>>>> F1! Третий экран. Нил пишет с Голдеда, но там, наверное, F1
CO>>>> отломано.

DK>>> Сейчас попробовал. У меня тоже F1 отломано. И, похоже, очень
DK>>> давно. Каким скотчем примотать обратно?

CO>> Как вы их ломаете?!

NA> Как-как, заходим по F1, читаем там, а потом по ESC выходим, и тут то
NA> санитайзер и срабатывает

NA> ==6255==ERROR: AddressSanitizer: heap-use-after-free on address

За столько лет работы напильником, уже можно было из паровоза получить истребитель 5++.:(


Cheslav.


... Из всего софта y меня только BIOS лицензионный!
--- ...
Ответить с цитированием
  #3  
Старый 20.10.2023, 14:09
Nil A
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Nil A написал(а) к Cheslav Osanadze в Oct 23 20:16:24 по местному времени:

Нello, Cheslav!

Thursday October 19 2023 18:11, from Cheslav Osanadze -> Nil A:

NA>> Как-как, заходим по F1, читаем там, а потом по ESC выходим, и тут
NA>> то санитайзер и срабатывает

NA>> ==6255==ERROR: AddressSanitizer: heap-use-after-free on address

CO> За столько лет работы напильником, уже можно было из паровоза
CO> получить истребитель 5++.:(

Причём вот именно тут по F1 даже не надо иметь широкий терминал, а просто 80 символов достаточно.

Хорошо тогда ещё операции с нодлистом вычистили, а то тоже там падало. Виталий вон вычистил проверку орфографии. Осталось кнопку F1 починить Ж-)

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #4  
Старый 20.10.2023, 14:09
Cheslav Osanadze
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Cheslav Osanadze написал(а) к Nil A в Oct 23 19:26:59 по местному времени:

Привет Nil!

19 Окт 23 20:16, Nil A -> Cheslav Osanadze:

NA>>> Как-как, заходим по F1, читаем там, а потом по ESC выходим, и
NA>>> тут то санитайзер и срабатывает

NA>>> ==6255==ERROR: AddressSanitizer: heap-use-after-free on address

CO>> За столько лет работы напильником, уже можно было из паровоза
CO>> получить истребитель 5++.:(

NA> Причём вот именно тут по F1 даже не надо иметь широкий терминал, а
NA> просто 80 символов достаточно.

У меня выставлена ширина в 84 символа.

NA> Хорошо тогда ещё операции с нодлистом вычистили, а то тоже там падало.
NA> Виталий вон вычистил проверку орфографии. Осталось кнопку F1 починить
NA> Ж-)

Успеете к официальному закрытию фидо?:)


Cheslav.


... Женись на ком хочешь, все равно пожалеешь!
--- ...
Ответить с цитированием
  #5  
Старый 20.10.2023, 14:09
Nil A
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Nil A написал(а) к Cheslav Osanadze в Oct 23 21:34:20 по местному времени:

Нello, Cheslav!

Thursday October 19 2023 19:26, from Cheslav Osanadze -> Nil A:

NA>> Причём вот именно тут по F1 даже не надо иметь широкий терминал,
NA>> а просто 80 символов достаточно.

Так у тебя не vt100? И не этот, как в ролике vt510
https://hachyderm.io/@GrantMeStrengt...53611428778812 ?
Где ты купил терминал на 84 символа, там ещё есть, а так можно было? ;-)

CO> Успеете к официальному закрытию фидо?:)

Ой, не смеши мои подковы. Фидо закрывалось ещё в конце 90х, ну или кому там ещё
ADSL не провели в начале нулевых.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #6  
Старый 20.10.2023, 14:09
Cheslav Osanadze
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Cheslav Osanadze написал(а) к Nil A в Oct 23 21:29:03 по местному времени:

Привет Nil!

19 Окт 23 21:34, Nil A -> Cheslav Osanadze:

NA>>> Причём вот именно тут по F1 даже не надо иметь широкий терминал,
^^^^^^^^^^^^
NA>>> а просто 80 символов достаточно.

NA> Так у тебя не vt100? И не этот, как в ролике vt510
NA> https://hachyderm.io/@GrantMeStrengt...53611428778812 ?
NA> Где ты купил терминал на 84 символа, там ещё есть, а так можно было?
NA> ;-)

А кто говорил про "широкий терминал"?:)

CO>> Успеете к официальному закрытию фидо?:)

NA> Ой, не смеши мои подковы. Фидо закрывалось ещё в конце 90х, ну или
NA> кому там ещё ADSL не провели в начале нулевых.

Я на это и намекаю! Процесс стремится к бесконечности...


Cheslav.


... ICQ - цветок на могиле рабочего времени.
--- ...
Ответить с цитированием
  #7  
Старый 20.10.2023, 14:09
Nil A
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Nil A написал(а) к Cheslav Osanadze в Oct 23 22:33:28 по местному времени:

Нello, Cheslav!

Thursday October 19 2023 21:29, from Cheslav Osanadze -> Nil A:

NA>> Так у тебя не vt100? И не этот, как в ролике vt510
NA>> https://hachyderm.io/@GrantMeStrengt...53611428778812 ?
NA>> Где ты купил терминал на 84 символа, там ещё есть, а так можно
NA>> было? ;-)
CO> А кто говорил про "широкий терминал"?:)

Так этож мак, там всегда всё широко и далеко, и я на него не насосал.

CO>>> Успеете к официальному закрытию фидо?:)
NA>> Ой, не смеши мои подковы. Фидо закрывалось ещё в конце 90х, ну
NA>> или кому там ещё ADSL не провели в начале нулевых.
CO> Я на это и намекаю! Процесс стремится к бесконечности...

Бесконечность тут не уметна. Лучше говорить о функции, стремящейся к нулю, но никогда его не коснётся.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #8  
Старый 26.10.2023, 08:12
Nil A
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Nil A написал(а) к Vitaliy Aksyonov в Oct 23 07:02:40 по местному времени:

Нello, Vitaliy!

Thursday October 19 2023 18:09, from Nil A -> Cheslav Osanadze:

NA> Как-как, заходим по F1, читаем там, а потом по ESC выходим, и тут то
NA> санитайзер и срабатывает

NA> ==6255==ERROR: AddressSanitizer: heap-use-after-free on address
NA> 0x60800001226c at pc 0x000000b4c1d5 bp 0x7ffdfdc2f5b0 sp
NA> 0x7ffdfdc2f5a8 READ of size 2 at 0x60800001226c thread T0
NA> #0 0xb4c1d4 in getxch(int)
NA> /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:319
NA> #1 0xb81225 in wmenuget()
[бла..бла..бла]

Вот так я чиню эту багу, и всё у меня работает по Ф1. А сломано там было page down, page up, и esc из f1.

diff --git a/goldlib/gcui/gwinhlp1.cpp b/goldlib/gcui/gwinhlp1.cpp
--- a/goldlib/gcui/gwinhlp1.cpp
+++ b/goldlib/gcui/gwinhlp1.cpp
@@ -331,9 +331,9 @@ static void disp_cat()
if (arraycnt)
{
// define the PgUp/PgDn/Esc keys
- setonkey(KeyPgUp,escpgup,0);
- setonkey(KeyPgDn,escpgdn,0);
- setonkey(KeyEsc,escesc,0);
+ setonkey(Key_PgUp,NULL,0);
+ setonkey(Key_PgDn,NULL,0);
+ setonkey(Key_Esc,NULL,0);

// end the menu and process it
wmenuend(BASETAGID,MOMNI|M_NOQS,0,0,whelp.selattr,whelp.selattr,BLACK_|BLACK,whelp.barattr);

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #9  
Старый 26.10.2023, 17:51
Vitaliy Aksyonov
Guest
 
Сообщений: n/a
По умолчанию Re: Заезды по памяти по F1

Vitaliy Aksyonov написал(а) к Nil A в Oct 23 07:34:56 по местному времени:

Привет, Nil!

26 Oct 23 07:02, ты писал(а) мне:

NA>> Как-как, заходим по F1, читаем там, а потом по ESC выходим, и тут
NA>> то санитайзер и срабатывает

NA>> ==6255==ERROR: AddressSanitizer: heap-use-after-free on address
NA>> 0x60800001226c at pc 0x000000b4c1d5 bp 0x7ffdfdc2f5b0 sp
NA>> 0x7ffdfdc2f5a8 READ of size 2 at 0x60800001226c thread T0
NA>> #0 0xb4c1d4 in getxch(int)
NA>> /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:319
NA>> #1 0xb81225 in wmenuget()
NA> [бла..бла..бла]

NA> Вот так я чиню эту багу, и всё у меня работает по Ф1. А сломано там
NA> было page down, page up, и esc из f1.

NA> diff --git a/goldlib/gcui/gwinhlp1.cpp b/goldlib/gcui/gwinhlp1.cpp
NA> --- a/goldlib/gcui/gwinhlp1.cpp
NA> +++ b/goldlib/gcui/gwinhlp1.cpp
NA> @@ -331,9 +331,9 @@ static void disp_cat()
NA> if (arraycnt)
NA> {
NA> // define the PgUp/PgDn/Esc keys
NA> - setonkey(KeyPgUp,escpgup,0);
NA> - setonkey(KeyPgDn,escpgdn,0);
NA> - setonkey(KeyEsc,escesc,0);
NA> + setonkey(Key_PgUp,NULL,0);
NA> + setonkey(Key_PgDn,NULL,0);
NA> + setonkey(Key_Esc,NULL,0);

То есть ты просто отключил обработчики этих клавиш? Отличный фикс!

Best regards,
Vitaliy Aksyonov.

... Стремясь к вершине, помни, что это может быть не Олимп, а Везyвий.
--- GoldED+/LNX 1.1.5-b20231021
Ответить с цитированием
  #10  
Старый 28.10.2023, 07:50
Nil A
Guest
 
Сообщений: n/a
По умолчанию Заезды по памяти по F1

Nil A написал(а) к Vitaliy Aksyonov в Oct 23 06:38:58 по местному времени:

Нello, Vitaliy!

Thursday October 26 2023 07:34, from Vitaliy Aksyonov -> Nil A:

NA>>> Как-как, заходим по F1, читаем там, а потом по ESC выходим, и
NA>>> тут то санитайзер и срабатывает

NA>>> ==6255==ERROR: AddressSanitizer: heap-use-after-free on address
NA>>> 0x60800001226c at pc 0x000000b4c1d5 bp 0x7ffdfdc2f5b0 sp
NA>>> 0x7ffdfdc2f5a8 READ of size 2 at 0x60800001226c thread T0
NA>>> #0 0xb4c1d4 in getxch(int)
NA>>> /home/fido/src/golded-plus/goldlib/gcui/gkbdgetm.cpp:319
NA>>> #1 0xb81225 in wmenuget()
NA>> [бла..бла..бла]
NA>> - setonkey(KeyEsc,escesc,0);
NA>> + setonkey(Key_Esc,NULL,0);

VA> То есть ты просто отключил обработчики этих клавиш? Отличный фикс!

Да, никрута так фиксить, конечно, подловил.
Тогда вот так пофиксю, вольёшь?

diff --git a/goldlib/gcui/gkbdgetm.cpp b/goldlib/gcui/gkbdgetm.cpp
--- a/goldlib/gcui/gkbdgetm.cpp
+++ b/goldlib/gcui/gkbdgetm.cpp
@@ -310,6 +310,7 @@ gkey getxch(int tick)
if(gkbd->inmenu and gmou.FreeCursor())
return 0;
#endif
+ _onkey = gkbd->onkey;
break;
}
onkey = onkey->prev;

Глобальные переменные - это зло. огда мы отрабатываем клавишу ESC, то esc_esc() вычистит себя, и doubly-linked list останется пустым, т.е. gkbd->onkey уже освобождённым оказывается.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:45. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot