Anonymous | Login | Signup for a new account | 21-11-24 13:20 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0002925 | SAS.Планета | [All Projects] Баг | public | 12-12-2015 12:12 | 08-01-2021 17:51 | ||||
Reporter | Djam | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | wine 1.7.55 | OS | ROSA Linux Fresh R6 | OS Version | 2014.1 | ||||
Product Version | 151111 | ||||||||
Target Version | 160606 | Fixed in Version | 160606 | ||||||
Summary | 0002925: SAS.Planet 151111 не запускается под wine 1.7 и выше | ||||||||
Description | С версий 15xxx SAS.Planet перестал запускаться. При установке различных конфигураций OSWindows XP-Seven, в то время как версии <15xxx исправно продолжают работать. | ||||||||
Steps To Reproduce | 1. в ROSA Linux Fresh R6 с wine 1.7.55 скопировать в домашнюю директорию wine $HOME/.wine/wine_c/ загрузить и распаковать дистрибутивы SAS.Planet 14xx и 15хх 2. запустить из папки SAS.Planet 14xx файл SASPlanet.exe убедиться что программа работает 3. запустить из папки с SAS.Planet 15xx SASPlanet.exe или SASPlanet.Unicode.exe убедиться в том что программа падает при запуске. | ||||||||
Additional Information | лог прилагаю | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | SASPlanet.Unicode.elf [^] (71,034 bytes) 12-12-2015 12:12 | ||||||||
Notes | |
(0016930) zed (manager) 13-12-2015 18:03 |
На wine 1.6 точно работало. |
(0016931) Djam (reporter) 13-12-2015 19:12 |
но 14е версии как работали так и работают. |
(0016932) zed (manager) 13-12-2015 19:13 |
И какие будут предложения? |
(0016933) Djam (reporter) 13-12-2015 19:23 |
по логам возможно понять что не так с песочницей? Отладить под 1.7.x вином. Со своей стороны так как работаю в лине, могу потестировать, если что-то подправить надо, думаю смогу. Жаль что нет нативной версии. Как и под lazarus(freepascal) но тут наверное бесполезно об этом думать |
(0016934) zed (manager) 13-12-2015 19:43 |
По логу видно, что это внешняя ошибка в ntdll.dll: 2.2 Address : 7BC48889 2.3 Module Name : ntdll.dll - (Wine ntdll) 2.4 Module Version: 5.1.2600.2180 2.5 Type : EExternalException 2.6 Message : External exception C0000264. Ошибка произошла в объекте синхронизации:
этот объект как раз и поставляется либой ntdll.dll: |
(0016935) Djam (reporter) 13-12-2015 20:08 |
Хм, странно, но от чего же ж в 14х версиях такого на замечено? Хм, если я правильно понимаю, то это для Vista and newer? Может какое-то исключение необходимо для обхода этой проблемы? |
(0016936) Djam (reporter) 13-12-2015 20:17 |
для чистоты эксперимента удалил старую песочницу и пересоздал новую, по дефолту поставил Windows7. Ситуация ни как не изменилась. 14ххх - работает без проблем 151111 - крошится с теми же ошибками. |
(0016939) vdemidov (manager) 14-12-2015 09:06 |
Вариантов несколько. Или Wine врет насчет поддержки этого примитива синхронизации, или есть какие-то особенности его реализации, какие не знаю. Рекурсивного вызова нет, освобождения без захвата тоже. У меня идей нет. Можно, конечно при создании фабрики синхронизаторов пытаться создавать синхронизатор и тестировать его использование, но мне такое делать лень. Если кому сильно надо работа под Wine, то жду пул реквеста или предложения с оплатой. |
(0016940) zed (manager) 14-12-2015 10:02 |
Можете попробовать PlayOnLinux - если не ошибаюсь, эта штука позволяет выбрать подходящую версию wine для запуска приложения. Можете ещё попробовать в wine выставить конфигурацию Win2000 если там такая есть. |
(0016943) Djam (reporter) 14-12-2015 12:49 |
Хм, ничего не изменилось: Operating System: -------------------------------------- 6.1 Type : Microsoft Windows 2000 6.2 Build # : 2195 6.3 Update : Service Pack 4 6.4 Language: Russian 6.5 Charset : 204 Application: ------------------------------------------------------- 1.1 Start Date : Mon, 14 Dec 2015 15:47:11 +0300 1.2 Name/Description: SASPlanet.Unicode.exe 1.3 Version Number : 15.11.11.9233 1.4 Parameters : 1.5 Compilation Date: Wed, 11 Nov 2015 15:55:30 +0300 1.6 Up Time : 5 seconds Exception: ----------------------------------------------------- 2.1 Date : Mon, 14 Dec 2015 15:47:16 +0300 2.2 Address : 7BC48889 2.3 Module Name : ntdll.dll - (Wine ntdll) 2.4 Module Version: 5.1.2600.2180 2.5 Type : EExternalException 2.6 Message : External exception C0000264. 2.7 ID : 0D21 2.8 Count : 1 2.9 Status : New 2.10 Note : User: ------------------------------------------------------- 3.5 Privileges: SeChangeNotifyPrivilege - ON SeSecurityPrivilege - OFF SeBackupPrivilege - OFF SeRestorePrivilege - OFF SeSystemtimePrivilege - OFF SeShutdownPrivilege - OFF SeRemoteShutdownPrivilege - OFF SeTakeOwnershipPrivilege - OFF SeDebugPrivilege - OFF SeSystemEnvironmentPrivilege - OFF SeSystemProfilePrivilege - OFF SeProfileSingleProcessPrivilege - OFF SeIncreaseBasePriorityPrivilege - OFF SeLoadDriverPrivilege - ON SeCreatePagefilePrivilege - OFF SeIncreaseQuotaPrivilege - OFF SeUndockPrivilege - OFF SeManageVolumePrivilege - OFF SeImpersonatePrivilege - ON SeCreateGlobalPrivilege - ON Computer: ----------------------------------------------------- 5.3 Free Memory : 5256 Mb 5.5 Free Disk : 10,17 Gb 5.7 Processor : Intel(R) Pentium(R) 4 CPU 2.40GHz 5.8 Display Mode: 1366 x 768, 32 bit 5.9 Display DPI : 96 5.10 Video Card : Wine Display Adapter (driver ) все также 14хх без проблем, 15ххх - проблема |
(0016963) zed (manager) 26-12-2015 19:39 |
Немного потестил SAS под wine в Ubuntu 14.04 через PlayOnLinux. Версия 1.8.rc4 падает с такой же ошибкой, что и 1.7.55. При этом в логе wine пишется пара строчек: > err:win:DefWindowProcA called for other process window 0x10020 > fixme:win:EnumDisplayDevicesW ((null),0,0x15ddac8,0x00000000), stub! Версии 1.6.2 и 1.4.1 работают без ошибок. При этом 1.6 безбожно тормозит и реально пользоваться можно только на версии 1.4. |
(0016964) vdemidov (manager) 26-12-2015 19:53 |
Можешь попробовать принудительно включить использование только самых простых примитивов синхронизации и проверить. Если дело в них, то можно сделать настройку, которая будет вызывать переход на них пусть и с потерей производительности. |
(0016965) zed (manager) 26-12-2015 19:55 |
Как это включить? Т.е. там же по-моему это не получится сделать изменив одну строчку? |
(0016966) vdemidov (manager) 26-12-2015 21:54 |
Ну, в одну строку нет, но и не сильно много. Заменить этот код в конструкторе
на
Тоесть для всех типов синхронизаторов будет использоваться критическая секция со спинлоком TSynchronizerCSSCFactory |
(0016967) zed (manager) 27-12-2015 09:00 |
Да, это решает проблему. И, кстати, под 1.8 тормозов как на 1.6 не наблюдается. Значит, нужно детектить версию ОС, и если там XP и ниже, использовать критическую секцию? |
(0016968) vdemidov (manager) 27-12-2015 09:12 |
Не обязательно именно критическую секцию. Желательно проверить другие примитивы. Главное не путать допускающие рекурсивный вызов с не допускающими. А еще вместо определения ОС можно в процессе создания фабрик создавать тестовый экземпляр и пробовать его лочить, и если вылетел ексепшен, то не пользоваться этой фабрикой. Если у тебя есть время и возможность, было бы хорошо, если бы ты этим занялся. |
(0016969) zed (manager) 27-12-2015 11:01 |
Похоже, достаточно сделать проверку на версию ОС в одном месте, чтобы оно даже не пыталось создать примитив, заведомо не существующий в данной ОС. Теперь, под wine 1.8, если выбрать профиль WinXP, то всё работает, а если Vista и выше - нет. Djam, после тестов можете попробовать сообщить разработчикам wine о проблеме с SRW локом. |
(0020041) zed (manager) 08-01-2021 17:51 |
Wine 5.0 по дефолту представляется как Windows 7 и с AV уже не падает, но в консоль всё-равно пишет ошибки, связанные с этим локом:
Поэтому, отключил этот лок, если программа запущена под wine. |
Users who viewed this issue | |
User List | Anonymous (5719x), mrjack (2x), ingener (1x), vdemidov (26x), zed (38x), leremin (2x), netsky (4x), NK0 (1x), vitiek0 (1x), Tolik (5x), viktor6 (1x), Garl (2x), bk99 (1x), lokrifa (1x), Djam (22x), GunSmoker (1x) |
Total Views | 5827 |
Last View | 21-11-2024 13:20 |
Issue History | |||
Date Modified | Username | Field | Change |
12-12-2015 12:12 | Djam | New Issue | |
12-12-2015 12:12 | Djam | File Added: SASPlanet.Unicode.elf | |
13-12-2015 18:03 | zed | Note Added: 0016930 | |
13-12-2015 19:12 | Djam | Note Added: 0016931 | |
13-12-2015 19:13 | zed | Note Added: 0016932 | |
13-12-2015 19:23 | Djam | Note Added: 0016933 | |
13-12-2015 19:43 | zed | Note Added: 0016934 | |
13-12-2015 20:08 | Djam | Note Added: 0016935 | |
13-12-2015 20:17 | Djam | Note Added: 0016936 | |
14-12-2015 09:06 | vdemidov | Note Added: 0016939 | |
14-12-2015 10:02 | zed | Note Added: 0016940 | |
14-12-2015 12:49 | Djam | Note Added: 0016943 | |
16-12-2015 10:16 | vdemidov | Status | new => confirmed |
16-12-2015 10:16 | vdemidov | Target Version | => 30xxxx.Vip |
26-12-2015 19:39 | zed | Note Added: 0016963 | |
26-12-2015 19:53 | vdemidov | Note Added: 0016964 | |
26-12-2015 19:55 | zed | Note Added: 0016965 | |
26-12-2015 21:54 | vdemidov | Note Added: 0016966 | |
27-12-2015 09:00 | zed | Note Added: 0016967 | |
27-12-2015 09:01 | zed | Summary | SAS.Planet 151111 не запускается под wine => SAS.Planet 151111 не запускается под wine 1.7 и выше |
27-12-2015 09:12 | vdemidov | Note Added: 0016968 | |
27-12-2015 11:01 | zed | Note Added: 0016969 | |
27-12-2015 14:32 | zed | Status | confirmed => feedback |
27-12-2015 14:32 | zed | Target Version | 30xxxx.Vip => 160606 |
03-01-2016 21:37 | zed | Status | feedback => resolved |
03-01-2016 21:37 | zed | Fixed in Version | => 160606 |
03-01-2016 21:37 | zed | Resolution | open => fixed |
03-01-2016 21:37 | zed | Assigned To | => zed |
08-01-2021 17:51 | zed | Note Added: 0020041 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |