View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003444 | Plugins | LuaMacro / Macro Browser | public | 2017-06-09 17:59 | 2017-06-13 15:55 |
Reporter | ccaid | Assigned To | shmuel | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x64 | OS | Windows | OS Version | 10 |
Product Version | 3.0 | ||||
Summary | 0003444: log10(0) в присутствии MoreHistory роняет Far | ||||
Description | Вычисление выражения log10(0) в Lua, если загружен плагин MoreHistory, приводит к мгновенному падению Far без каких-либо сообщений. Происходит только на платформе x64. Обнаружено под Windows 10, как под другими версиями — не выяснял. | ||||
Steps To Reproduce | распаковываем Far Manager v3.0 build 4972 x64 в какую-нибудь папку (проверялось именно на этом билде) стандартные плагины можно оставить, можно убрать, кроме LuaMacro. добавляем плагин MoreHistory http://forum.farmanager.com/viewtopic.php?f=5&t=3817 загружаем Far, можно с созданием локального профиля: far -s Profile выполняем в комстроке команду: lua:math.log10(0) получаем падение Far | ||||
Additional Information | http://forum.farmanager.com/viewtopic.php?p=144341#p144341 | ||||
Tags | No tags attached. | ||||
|
На Windows 7 то же самое, но только на Far x64. |
|
не понял про «но». у меня тоже только Far x64 |
|
Я хотел сказать что на той же Windows 7 x64 Far 3 x86 не падает, падает только Far 3 x64. |
|
да, то что у меня под Win 10 x64 + Far x86 проблемы нет я забыл упомянуть. |
|
|
|
Попробуйте заменить lua51.dll в папке Far на приложенный файл. |
|
с ним не падает |
|
Хорошо, тогда проверяйте на следующей ночной сборке. |
|
не падает |
|
Проблема была решена заменой LuaJIT 2.0.5 на LuaJIT 2.1.0-beta3. Объяснение данному явлению можно найти здесь: [1] https://www.freelists.org/post/luajit/Floating-point-exception-on-x64 [2] https://www.freelists.org/post/luajit/Floating-point-exception-on-x64,1 |
|
Может нам эти control87 & control87_2 в фар засунуть? Перед вызовом каждого плагинового экспорта. У меня есть подозрение, что эти паскакальные рантаймы ломают математику не только в луа. |
|
В связи со спецификой LuaMacro приходится вызывать _control87 не только при получении управления от Фара, но и во время его работы, после возврата из любой макрофункции (например, Plugin.Call может вызвать паскалевский плагин). Если есть намерение "защищать" (скажем так) и сам Фар, а не только плагины, то нужно будет вызывать защиту и после возвращения плагиновых экспортов. |
|
Да, перед и после. |
|
Интересно, а где живёт (в какой DLL) этот __control87_2 ? MinGW 7.1.0 его вообще не знает. Сделал поиск __control87_2 на своём компьютере среди *.dll, прервал поиск через примерно час. Нашёл за это время 16 файлов, к моему удивлению все они - 32-битные DLL. |
|
https://msdn.microsoft.com/en-us/library/e9b52ceh.aspx Note __control87_2 is not supported on the ARM or x64 architectures. If you use __control87_2 and compile your program for the ARM or x64 architectures, the compiler generates an error. |
|
Что ж, получается что и большие авторитеты бывают неправы. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-06-09 17:59 | ccaid | New Issue | |
2017-06-09 18:40 | shmuel | Note Added: 0015407 | |
2017-06-09 18:58 | ccaid | Note Added: 0015408 | |
2017-06-09 19:02 | shmuel | Note Added: 0015409 | |
2017-06-09 19:50 | ccaid | Note Added: 0015410 | |
2017-06-10 19:22 | shmuel | File Added: luajit-2.1.0-b3-x64.7z | |
2017-06-10 19:24 | shmuel | Note Added: 0015413 | |
2017-06-11 10:49 | ccaid | Note Added: 0015414 | |
2017-06-11 13:00 | shmuel | Note Added: 0015415 | |
2017-06-11 13:00 | shmuel | Assigned To | => shmuel |
2017-06-11 13:00 | shmuel | Status | new => feedback |
2017-06-13 07:03 | ccaid | Note Added: 0015416 | |
2017-06-13 07:03 | ccaid | Status | feedback => assigned |
2017-06-13 07:21 | shmuel | Note Added: 0015417 | |
2017-06-13 07:21 | shmuel | Status | assigned => closed |
2017-06-13 07:21 | shmuel | Resolution | open => fixed |
2017-06-13 08:06 | DrKnS | Note Added: 0015418 | |
2017-06-13 09:15 | shmuel | Note Added: 0015419 | |
2017-06-13 09:18 | DrKnS | Note Added: 0015420 | |
2017-06-13 11:46 | shmuel | Note Added: 0015421 | |
2017-06-13 14:50 | shmuel | Note Edited: 0015421 | |
2017-06-13 15:22 | DrKnS | Note Added: 0015422 | |
2017-06-13 15:55 | shmuel | Note Added: 0015423 |