MantisBT  Site | Plugring | Plugins API and Macros | Forum | English Forum | Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003485Far ManagerHelp/Languagepublic2017-09-09 12:142017-09-11 22:51
ReporterJohnDoe 
Assigned ToDrKnS 
PrioritynormalSeveritycrashReproducibilityalways
StatusclosedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP3
Product Version3.0 
Target VersionFixed in Version3.0 
Summary0003485: Exception при попытке просмотра некорректного? hlf
DescriptionПример файла приложен.
Для воспроизведения можно запустить из командной строки одну из команд:

bat wrote

hlf:crash.hlf


bat wrote

lua:far.ShowHelp[[C:\Apps\Far3\bugz\crash.hlf]]
Steps To Reproduce
╔══════════════════════════ Exception 
occurred ══════════════════════════╗
║ Exception:   ?AVlength_error@std@@ -> std::exception: string too long) ║
║ Address:     0x74FD215A RaiseException                                 ║
║ Function:    ProcessEditorInputW                                       ║
║ Module:      C:\Apps\Far3\Plugins\HlfViewer\HlfViewer.dll              ║
╟────────────────────────────────────────────────────────────────────────╢

║          { Unload plugin } [ Stack ] [ Minidump ] [ Ignore ]           ║
╚════════════════════════════════════════════════════════════════════════╝

╔════════ Exception occurred ═════════╗
║ 0x74FD215A RaiseException           ║
║ 0x0123F079                          ║
║ 0x010E4613                          ║
║ 0x011B46E8                          ║
║ 0x011B1D52                          ║
║ 0x011B1CE8                          ║
║ 0x011B0110                          ║
║ 0x011DD623                          ║
║ 0x011039FE                          ║
║ 0x010FF561                          ║
║ 0x010FF16D                          ║
║ 0x0119543B                          ║
║ 0x01194D6F                          ║
║ 0x01194B7E                          ║
║ 0x0118F831                          ║
║ 0x01191D3D                          ║
║ 0x01191F6F                          ║
║ 0x0119209E                          ║
║ 0x01192112                          ║
║ 0x01192041                          ║
║ 0x0123D581                          ║
║ 0x76F94198 BaseThreadInitThunk      ║
║ 0x777A2CB1 LdrRemoveLoadAsDataTable ║
║ 0x777A2C7F LdrRemoveLoadAsDataTable ║
╟─────────────────────────────────────╢

║               { OK }                ║
╚═════════════════════════════════════╝
TagsNo tags attached.
Build5025
Attached Files? file icon crash.hlf [^] (218 bytes) 2017-09-09 12:14

- Relationships

-  Notes
(0015557)
DrKnS (administrator)
2017-09-09 12:17

А какой смысл в стеке без символов?
(0015558)
JohnDoe (reporter)
2017-09-09 12:28

Не разобрался.

Воспроизводится?
(0015559)
DrKnS (administrator)
2017-09-09 12:29

Нет.
(0015560)
JohnDoe (reporter)
2017-09-09 12:31

"Некорректность" в том, что StartPosChar в первом столбце. Вероятно так нельзя, хоть нигде и не запрещается.
(0015561)
JohnDoe (reporter)
2017-09-09 12:33

3.0.5024 x86 из ночных сборок на Windows 8.1.
Символы сейчас попробую исправить
(0015562)
JohnDoe (reporter)
2017-09-09 12:41

Фар запущенный с единственным плагином HlfView
Exception occurred

0x74FD215A RaiseException
0x0031F079 __ExceptionPtr::_RethrowException (f:\dd\vctools\crt\crtw32\eh\excptptr.cpp:543)
0x0070E600
0x001C4613 RethrowIfNeeded (c:\src\unicode_far\exception.cpp:105)
0x002943B5 Plugin::ExecuteFunctionSeh<Plugin::ExecuteStruct<2,1>,OpenInfo * &> (c:\src\unicode_far\plclass.hpp:311)

0x00291AF2 seh_invoke<<lambda_d6c73f2f75cdca93351ed51dc9b00fdc>,<lambda_d029c28a9422eb7656079791eeef5fd7>,<lambda_5b5df76efdd64d2fd27a0f87bdb99e6d> 
> (c:\src\unicode_far\farexcpt.hpp:72)
0x00291A90 seh_invoke_with_ui<<lambda_d6c73f2f75cdca93351ed51dc9b00fdc>,<lambda_5b5df76efdd64d2fd27a0f87bdb99e6d> 
> (c:\src\unicode_far\farexcpt.hpp:91)
0x0029000C Plugin::Open (c:\src\unicode_far\plclass.cpp:878)
0x002BC337 PluginManager::Open (c:\src\unicode_far\plugins.cpp:2330)
0x002BB846 PluginManager::ProcessCommandLine (c:\src\unicode_far\plugins.cpp:2013)
0x001155C1 CommandLine::ExecString (c:\src\unicode_far\cmdline.cpp:1003)
0x0021C273 ProcessLocalFileTypes (c:\src\unicode_far\filetype.cpp:177)
0x001F7EE7 FileList::ProcessEnter (c:\src\unicode_far\filelist.cpp:2669)
0x001F74B4 FileList::ProcessKey (c:\src\unicode_far\filelist.cpp:1635)
0x00216A91 FilePanels::ProcessKey (c:\src\unicode_far\filepanels.cpp:835)
0x0027543B Manager::ProcessKey (c:\src\unicode_far\manager.cpp:789)
0x00274D6F Manager::ProcessMainLoop (c:\src\unicode_far\manager.cpp:620)
0x00274B7E Manager::EnterMainLoop (c:\src\unicode_far\manager.cpp:590)
0x0026F831 MainProcess (c:\src\unicode_far\main.cpp:291)
0x00271D3D mainImpl (c:\src\unicode_far\main.cpp:793)
0x00271F6F wmain_seh (c:\src\unicode_far\main.cpp:823)
0x0027209E <lambda_93e8a75ad0d6631789a8313e38bae319>::operator() (c:\src\unicode_far\main.cpp:851)

0x00272112 seh_invoke<<lambda_93e8a75ad0d6631789a8313e38bae319>,<lambda_eb6f9db54eb0b154dda06e08ba319848>,<lambda_b1c7d289a037a6c5b48976ae0d4fd300> 
> (c:\src\unicode_far\farexcpt.hpp:72)
0x00272041 main (c:\src\unicode_far\main.cpp:845)
0x0031D581 __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
0x76F94198 BaseThreadInitThunk
0x777A2CB1 LdrRemoveLoadAsDataTable
0x777A2C7F LdrRemoveLoadAsDataTable
(0015563)
JohnDoe (reporter)
2017-09-09 12:47

В фаре со всеми штатными плагинами падает на luamacro, и символы не подгружаются
Exception occurred

0x66F82542
0x66F945E0 lua_pcall
0x698C65D4 LF_LoadFile
0x0029E238 pluginapi::apiRecursiveSearch (c:\src\unicode_far\plugapi.cpp:2857)
0x0001004B
0x019638B8
0x02548D70
0x01949DF0
0x01948EF0
0x80028001
0x01010101
0x01010101
0x02010101
0x0A030302
0x0D0C030A
0x6E69010D
0x64657469
0x736F4C00
0x76450074 Ordinal844
0x00746E65
0x00461600 _tls_end
(0015564)
JohnDoe (reporter)
2017-09-09 13:01

Добавил ^<wrap> в FarRus.hlf
@Help
$ # Far: как пользоваться помощью#
^<wrap>
...

Запустил фар без плагинов, нажал F1, открыл топик "Far: как пользоваться помощью".
После этого Exception
Exception occurred

0x74FD215A RaiseException
0x0031F079 __ExceptionPtr::_RethrowException (f:\dd\vctools\crt\crtw32\eh\excptptr.cpp:543)
0x00DCE8F8
0x001C4613 RethrowIfNeeded (c:\src\unicode_far\exception.cpp:105)
0x002946E8 Plugin::ExecuteFunctionSeh<Plugin::ExecuteStruct<23,1>,ProcessEditorInputInfo * &> 
(c:\src\unicode_far\plclass.hpp:311)
0x00291D52 seh_invoke<<lambda_2ad0a65ec7611f3419031180907097ff>,<lambda_60208c2b71916b63a5506271f0b18ed1>,<lambda_edd2c827a48ff5f260323d4f2b80dd42> 
> (c:\src\unicode_far\farexcpt.hpp:72)
0x00291CE8 Plugin::ExecuteFunction<Plugin::ExecuteStruct<23,1>,ProcessEditorInputInfo * &> 
(c:\src\unicode_far\plclass.hpp:326)
0x00290110 Plugin::ProcessEditorInput (c:\src\unicode_far\plclass.cpp:902)
0x002BD623 std::_Any_of_unchecked<std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<Plugin 
*> >,std::_Iterator_base0>,<lambda_c4547d7c2876bdae7915013f69749007> > (c:\vc_current\include\algorithm:325)

0x001E39FE FileEditor::ProcessEditorInput (c:\src\unicode_far\fileedit.cpp:2233)
0x001DF561 FileEditor::ReProcessKey (c:\src\unicode_far\fileedit.cpp:944)
0x001DF16D FileEditor::ProcessKey (c:\src\unicode_far\fileedit.cpp:826)
0x0027543B Manager::ProcessKey (c:\src\unicode_far\manager.cpp:789)
0x00274D6F Manager::ProcessMainLoop (c:\src\unicode_far\manager.cpp:620)
0x00274B7E Manager::EnterMainLoop (c:\src\unicode_far\manager.cpp:590)
0x0026F831 MainProcess (c:\src\unicode_far\main.cpp:291)
0x00271D3D mainImpl (c:\src\unicode_far\main.cpp:793)
0x00271F6F wmain_seh (c:\src\unicode_far\main.cpp:823)
0x0027209E <lambda_93e8a75ad0d6631789a8313e38bae319>::operator() (c:\src\unicode_far\main.cpp:851)

0x00272112 seh_invoke<<lambda_93e8a75ad0d6631789a8313e38bae319>,<lambda_eb6f9db54eb0b154dda06e08ba319848>,<lambda_b1c7d289a037a6c5b48976ae0d4fd300> 
> (c:\src\unicode_far\farexcpt.hpp:72)
0x00272041 main (c:\src\unicode_far\main.cpp:845)
0x0031D581 __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
0x76F94198 BaseThreadInitThunk
0x777A2CB1 LdrRemoveLoadAsDataTable
0x777A2C7F LdrRemoveLoadAsDataTable
(0015565)
DrKnS (administrator)
2017-09-09 13:02

Повторил, надо было окно меньшего размера.
(0015566)
JohnDoe (reporter)
2017-09-09 15:32

Или строку подлиннее..
(0015567)
DrKnS (administrator)
2017-09-09 19:35

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

5025 - проверьте, ничего ли не отвалилось.
(0015568)
JohnDoe (reporter)
2017-09-10 11:01
edited on: 2017-09-10 11:03

Порядок, закрываем (хотя стоп, вижу странное..).

Может заодно и это глянешь 0003481?

(0015569)
JohnDoe (reporter)
2017-09-10 11:12

.Language=Russian,Russian (Русский)
.Options CtrlColorChar=\
.Options CtrlStartPosChar=^<wrap>

@Contents=Help
@Help
@= 
^<wrap>    В оглавлении справочной системы имеются ссылки 
(они функционируют примерно
так же, как и гиперссылки, знакомые каждому пользователю 
Интернет), которые
указывают на разделы с более подробной информацией.
    #*# ^<wrap>Для перемещения между ссылками вы можете использовать 
#Tab# и #Shift-Tab#.
Нажатие #Enter# вызовет страницу, соответствующую выбранной 
ссылке. Этот же
результат можно получить нажав кнопку "мыши" на требуемой 
ссылке.

Отображается как:
╔═════════════════════════════ 
Help - FAR ═════════════════════════════╗

║ ──────────────────────────────────────────────────────────────────── 
║
║    В оглавлении справочной системы имеются ссылки (они 
функционируют ║
║ примерно так же, как и гиперссылки, знакомые каждому пользователю    
║
║ Интернет), которые указывают на разделы с более подробной            
║
║      информацией.                                                    ║
║    * Для перемещения между ссылками вы можете использовать 
Tab и     ║
║      Shift-Tab. Нажатие Enter вызовет страницу, соответствующую      
║
║      выбранной ссылке. Этот же результат можно получить 
нажав        ║
║      кнопку "мыши" на требуемой ссылке.                              
║
║                                                                      ║

Последняя строка первого абзаца почему-то выравнилась в позицию, заданную позже.
(0015570)
DrKnS (administrator)
2017-09-10 11:21

не повторяется.
(0015571)
JohnDoe (reporter)
2017-09-10 11:26
edited on: 2017-09-10 11:28

Уменьшай ширину пока не воспроизведётся.

На скрине первый абзац 4 строки, последняя строка это слово "информацией."
Если экран шире, то эффекта нет.

(а для другого hlf у начинает повторятся с более широкого экрана)

(0015572)
DrKnS (administrator)
2017-09-10 11:28

ну так я поставил 80, хелп той же ширины что и у тебя.
(0015573)
JohnDoe (reporter)
2017-09-10 11:36
edited on: 2017-09-10 11:37

А если уже.
За рамку потаскать.

╔═══════════ Help - FAR ═══════════╗
║ ──────────────────────────────── 
▲
║    В оглавлении справочной       ▓
║ системы имеются ссылки (они      ▓
║ функционируют примерно так же,   ▓
║      как и гиперссылки,          ▓
║      знакомые каждому            ▓
║      пользователю Интернет),     ▓
║      которые указывают на        ▓
║      разделы с более подробной   ░
║      информацией.                ░
║    * Для перемещения между       ░
║      ссылками вы можете          ░
║      использовать Tab и          ░
║      Shift-Tab. Нажатие Enter    ▼
╚══════════════════════════════════╝


(0015575)
JohnDoe (reporter)
2017-09-10 13:18

Проверил, проблема существовала и раньше, и с данным тикетом не связана.
(0015576)
DrKnS (administrator)
2017-09-10 13:22

Парсер хелпа - это цирк какой-то.

Твоя проблема из-за того, что оно _сначала_ читает следующую строку, находит там этот стартпос, пишет его в переменную, и аж потом обнаруживает "ой, а у нас же тут остаток предыдущей строки не добавлен, надо добавить, какой там у нас стартпос? А, вот какой!"

Чинить это бесполезно, это надо переписывать.
(0015578)
DrKnS (administrator)
2017-09-11 22:51

По второй проблеме - 5027.

- Issue History
Date Modified Username Field Change
2017-09-09 12:14 JohnDoe New Issue
2017-09-09 12:14 JohnDoe File Added: crash.hlf
2017-09-09 12:17 DrKnS Note Added: 0015557
2017-09-09 12:28 JohnDoe Note Added: 0015558
2017-09-09 12:29 DrKnS Note Added: 0015559
2017-09-09 12:31 JohnDoe Note Added: 0015560
2017-09-09 12:33 JohnDoe Note Added: 0015561
2017-09-09 12:41 JohnDoe Note Added: 0015562
2017-09-09 12:47 JohnDoe Note Added: 0015563
2017-09-09 13:01 JohnDoe Note Added: 0015564
2017-09-09 13:02 DrKnS Note Added: 0015565
2017-09-09 15:32 JohnDoe Note Added: 0015566
2017-09-09 19:35 DrKnS Note Added: 0015567
2017-09-09 19:35 DrKnS Assigned To => DrKnS
2017-09-09 19:35 DrKnS Status new => feedback
2017-09-10 11:01 JohnDoe Note Added: 0015568
2017-09-10 11:01 JohnDoe Status feedback => assigned
2017-09-10 11:03 JohnDoe Note Edited: 0015568 View Revisions
2017-09-10 11:12 JohnDoe Note Added: 0015569
2017-09-10 11:21 DrKnS Note Added: 0015570
2017-09-10 11:26 JohnDoe Note Added: 0015571
2017-09-10 11:28 DrKnS Note Added: 0015572
2017-09-10 11:28 JohnDoe Note Edited: 0015571 View Revisions
2017-09-10 11:36 JohnDoe Note Added: 0015573
2017-09-10 11:37 JohnDoe Note Edited: 0015573 View Revisions
2017-09-10 13:18 JohnDoe Note Added: 0015575
2017-09-10 13:22 DrKnS Note Added: 0015576
2017-09-10 13:23 DrKnS Build => 5025
2017-09-10 13:23 DrKnS Status assigned => closed
2017-09-10 13:23 DrKnS Resolution open => fixed
2017-09-10 13:23 DrKnS Fixed in Version => 3.0
2017-09-11 22:51 DrKnS Note Added: 0015578



Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker