Bugs / Найденные баги (1)
- Author
- Message
-
Offline
- Posts: 1
- Joined: Thu Apr 07, 2016 10:53 am
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
AkelPad 4.9.7 (x86), режим MDI. Все плагины - последних версий (в частности, Coder 19.5).
Редактор был открыт несколько дней. Во время редактирования обычного текстового файла упал с ошибкой при нажатии Enter в окне автодополнения (чтобы выбрать слово из списка автодополнения).
Понимаю, что описание слишком общее, но это уже второй подобный случай. Предыдущее падение было точно в такой же момент - при очередном нажатии Enter в окне автодополнения.
Специально воспроизвести не удаётся. Из предположений: возможно, есть какая-то проблема в коде автодополнения? Например, утечка памяти или там выход за пределы массива при каких-то обстоятельствах?
Для текстовых файлов использую практически пустой файл подсветки:
P.S.
Чуть не забыл: периодически я открываю большие лог-файлы (от 20 МБ до 100 МБ), иногда открываю их по сети. Может, с этим связано.
Редактор был открыт несколько дней. Во время редактирования обычного текстового файла упал с ошибкой при нажатии Enter в окне автодополнения (чтобы выбрать слово из списка автодополнения).
Понимаю, что описание слишком общее, но это уже второй подобный случай. Предыдущее падение было точно в такой же момент - при очередном нажатии Enter в окне автодополнения.
Специально воспроизвести не удаётся. Из предположений: возможно, есть какая-то проблема в коде автодополнения? Например, утечка памяти или там выход за пределы массива при каких-то обстоятельствах?
Для текстовых файлов использую практически пустой файл подсветки:
P.S.
Чуть не забыл: периодически я открываю большие лог-файлы (от 20 МБ до 100 МБ), иногда открываю их по сети. Может, с этим связано.
-
Offline
- Posts: 171
- Joined: Thu Dec 01, 2011 11:15 pm
- Location: Россия
Обнаружил неприятный баг.
Перекачал старые версии, и выяснил, что баг впервые появился в AkelPad 4.9.2 и так и тянется вплоть до последней тестовой 4.9.8, проявляется в 32-х и 64-х битной версиях редактора. Windows 10 x64 SL Eng.
Чистый Акелпад, один ехе-файл с дефолтными настройками. Включена опция Show active column - активный столбец пунктирной линией отображается.
Проще всего увидеть проявление так. Открыть редактор, вставить какой-нибудь более-менее длинный текст (чтоб появилась полоса прокрутки), нажать Отмена (Ctrl+Z). Текст, соответственно, исчезнет, а пунктирная линия начнёт медленно-медлеееенно прорисовываться сверху вниз, иногда даже не один раз (при этом Акелпад подвисает, и в его окне артефакты от остатков текста виднеются).
Насколько помню - на Windows 8.1 x64 такого поведения не наблюдалось, иначе я, наверное, заметил бы. Хотя могу и ошибаться - возможно, во времена пользования 8.1 сидел ещё на старых версиях редактора, и активный столбец редко включаю.
Перекачал старые версии, и выяснил, что баг впервые появился в AkelPad 4.9.2 и так и тянется вплоть до последней тестовой 4.9.8, проявляется в 32-х и 64-х битной версиях редактора. Windows 10 x64 SL Eng.
Чистый Акелпад, один ехе-файл с дефолтными настройками. Включена опция Show active column - активный столбец пунктирной линией отображается.
Проще всего увидеть проявление так. Открыть редактор, вставить какой-нибудь более-менее длинный текст (чтоб появилась полоса прокрутки), нажать Отмена (Ctrl+Z). Текст, соответственно, исчезнет, а пунктирная линия начнёт медленно-медлеееенно прорисовываться сверху вниз, иногда даже не один раз (при этом Акелпад подвисает, и в его окне артефакты от остатков текста виднеются).
Насколько помню - на Windows 8.1 x64 такого поведения не наблюдалось, иначе я, наверное, заметил бы. Хотя могу и ошибаться - возможно, во времена пользования 8.1 сидел ещё на старых версиях редактора, и активный столбец редко включаю.
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
На ру-борде отписали об обнаруженном баге утечки памяти. Через несколько постов, там же есть подтверждение.
При открытом массивном текстовом файле (например, 10-20 Мб), если использовать многократную замену (Заменить всё), то количество занятой памяти увеличивается и не освобождается вплоть до закрытия файла, увеличение происходит с каждым новым циклом замены.
и т.д., можно занимать память до заполнения и появления сообщения о нехватке памяти...
При открытом массивном текстовом файле (например, 10-20 Мб), если использовать многократную замену (Заменить всё), то количество занятой памяти увеличивается и не освобождается вплоть до закрытия файла, увеличение происходит с каждым новым циклом замены.
и т.д., можно занимать память до заполнения и появления сообщения о нехватке памяти...
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
YuS
Не уверен, что это утечка памяти, тем более если
Хотя размер файла как-то маловат... Если только замен действительно МНОГО?
P.S. Картинку посмотреть не могу, у меня только с телефона в UC Browser удаётся иногда зайти на ргхост.
Не уверен, что это утечка памяти, тем более если
Кажется, где-то уже было подобное, для начала стоит взглянуть настройки лимита отмен и состояние опции Подробно на вкладке Редактор 1.YuS wrote:количество занятой памяти увеличивается и не освобождается вплоть до закрытия файла, увеличение происходит с каждым новым циклом замены.
Хотя размер файла как-то маловат... Если только замен действительно МНОГО?
P.S. Картинку посмотреть не могу, у меня только с телефона в UC Browser удаётся иногда зайти на ргхост.
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Очень даже может быть, лимиты отключены. Но, всё же, ситуация достаточно критичная, т.к. вызывает переполнение памяти. Имхо, лучше добавить какое-то ограничение.Skif_off wrote:Не уверен, что это утечка памяти
...
для начала стоит взглянуть настройки лимита отмен и состояние опции Подробно на вкладке Редактор 1.
Для ускорения проявления ситуации, можно взять и больший файл с однотипными словами и производить массовую замену.Skif_off wrote: Хотя размер файла как-то маловат... Если только замен действительно МНОГО?
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Только что это случилось опять! У меня на всякий случай в фоне был запущен Process Hacker - так вот, AkelPad в момент падения использовал не более 200 МБ памяти, то есть это точно не из-за попытки выделить больше 2 ГБ.DV wrote:AkelPad 4.9.7 (x86), режим MDI. Все плагины - последних версий (в частности, Coder 19.5).
Редактор был открыт несколько дней. Во время редактирования обычного текстового файла упал с ошибкой при нажатии Enter в окне автодополнения (чтобы выбрать слово из списка автодополнения).
После перезапуска AkelPad с восстановлением предыдущей сессии специально открыл новую вкладку и стал набирать тот же самый текст точно так же, как тогда, когда AkelPad упал с ошибкой. Нажал Enter для автодополнения в том же самом месте, где редактор упал в предыдущий раз - и воспроизвести не удалось, никакого падения.
P.S.
Кстати, перенос строк (Word Wrap) всегда включён.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Попробовал последний AkelPad 4.9.8 (x86) dev с включенным Word Wrap и текстовым файлом размером в 80 МБ.
Замечания к режиму MDI:
- при каждом переключении на файл в 80 МБ (все остальные открытые файлы - небольшие) дважды появляется прогресс-бар длительной операции. Почему дважды? Разве недостаточно "пройтись" по файлу один раз - когда мы на него уже переключились?
- при каждом переключении с файла в 80 МБ на любой другой один раз появляется прогресс-бар длительной операции. Почему он вообще появляется в этом случае? Зачем "проходиться" по файлу, если мы с него уходим?
Замечания к режиму MDI:
- при каждом переключении на файл в 80 МБ (все остальные открытые файлы - небольшие) дважды появляется прогресс-бар длительной операции. Почему дважды? Разве недостаточно "пройтись" по файлу один раз - когда мы на него уже переключились?
- при каждом переключении с файла в 80 МБ на любой другой один раз появляется прогресс-бар длительной операции. Почему он вообще появляется в этом случае? Зачем "проходиться" по файлу, если мы с него уходим?
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
YuS wrote:1.
Тестовый текст:Функция TextFind, при поиске в выделении, не совсем корректно отрабатывает:Code: Select all
<tog>> <tag>> <teg>> </teg> </tag> </tog>
Code: Select all
AkelPad.TextFind(0, "<[^>]*+\\K>>", 0x00480001);
Проверялось на текущей тестовой: находится второе и третье вхождение.- если выделяем весь текст, найдено будет только второе вхождение...
Верно. Т.к. вхождения с самого начала выделения пропускаются, иначе бы следующий поиск стоял бы на месте и возвращал одно и тоже.... а если выделяем блок с тегом "tag", то находит только в третьем вхождении...
Всё верно. Так работает поиск в выделении.2. При поиске в выделении, фактически, если строка найдена, то смещается только начало выделения, а конец не изменяется, т.е. совпадение не отмечается - я что-то делаю не так или такое поведение предусмотрено?
alandre wrote:Не уверен, баг ли это, но временами мешает удобному использованию.
Macros-Rus.txt wrote:Замечания:
- Установка количества повторов в ноль, будет означать бесконечное
повторение действий пока не будет достигнута последняя строка окна редактирования.
- Если диалог поиска/замены ничего не нашел, повторение действий
прекращается.
- Если в редакторе закрыта последняя вкладка (MDI/PMDI), повторение действий прекращается.
http://akelpad.sourceforge.net/forum/vi ... 0388#20388DV wrote:Замечания к режиму MDI
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Хмм, уже и подзабыл, что там было не так, проверил и вспомнил, это я неправильно сформулировал... да, именно второе и третье. Вопрос был только про то, что при совпадении шаблона от начала выделения, первое вхождение пропускается...Instructor wrote:Проверялось на текущей тестовой: находится второе и третье вхождение.YuS wrote:- если выделяем весь текст, найдено будет только второе вхождение...
Но это теперь понятно, т.к. это:
- один и тот же вопрос...Instructor wrote:Верно. Т.к. вхождения с самого начала выделения пропускаются, иначе бы следующий поиск стоял бы на месте и возвращал одно и тоже.... а если выделяем блок с тегом "tag", то находит только в третьем вхождении...
Понятно. Спасибо!Instructor wrote:Всё верно. Так работает поиск в выделении.2. При поиске в выделении, фактически, если строка найдена, то смещается только начало выделения, а конец не изменяется, т.е. совпадение не отмечается - я что-то делаю не так или такое поведение предусмотрено?
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
См. LineBoard 12.5Kley wrote:Команда 4197[, 1]:
- удаляет текущую строку и закладку (LineBoard плагин) на следующей строке;
- удаляет текущую строку (строка с закладкой), но оставляет закладку.
Падение не воспроизводится. Обновление прокрутки ещё надо (AEM_UPDATESCROLLBAR):Skif_off wrote:Какое-то странное поведение при использовании AEM_LOCKSCROLL (дискуссия). Замечено ещё с UndoAll.js и UndoAllNoScroll.js.
На WinXP AkelPad падает, на Win7 не падает, но всё выглядит аналогично.
Code: Select all
function ScrollLock(hWnd, bLock)
{
AkelPad.SendMessage(hWnd, 3185 /*AEM_LOCKSCROLL*/, 3 /*SB_BOTH*/, bLock);
if (!bLock) AkelPad.SendMessage(hWnd, 3376 /*AEM_UPDATESCROLLBAR*/, 3 /*SB_BOTH*/, 0);
}
Попробуйте: http://windowsten.ru/problemy-s-razmyty ... indows-10/gw wrote:AkelPad 4.9.7 выглядит "размытым" (шрифты меню и текста) на 4K-мониторе. У NotePad'а шрифты не размыты.
Не знаю, освещалась ли ранее эта проблема, не нашёл. Эта проблема не только AkelPad'a ещё несколько программ ею страдает.
Win10, Radeon R9 200 Series, monitor: Samsung U28D590
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Instructor
Падал, если как можно быстрее дёрнуть полосу прокрутки вниз, до упора. Спасибо, значит, моё незнание
Правильно понимаю, что
равносильно
?
Падал, если как можно быстрее дёрнуть полосу прокрутки вниз, до упора. Спасибо, значит, моё незнание
Правильно понимаю, что
Code: Select all
if (!bLock) AkelPad.SendMessage(hWnd, 3376 /*AEM_UPDATESCROLLBAR*/, 3 /*SB_BOTH*/, 0);
Code: Select all
if (bLock) oSys.Call("user32::InvalidateRect", hWnd, 0, true);
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
НетSkif_off wrote:равносильно
DV wrote:Во время редактирования обычного текстового файла упал с ошибкой при нажатии Enter в окне автодополнения (чтобы выбрать слово из списка автодополнения).
Опция "Сохранять регистр введённых символов" автодополнения включена? Если да, то с помощью KDJ удалось исправить ошибку.DV wrote:Нажал Enter для автодополнения в том же самом месте, где редактор упал в предыдущий раз - и воспроизвести не удалось, никакого падения.