SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0001502 | SAS.Планета | [All Projects] Баг | public | 14-08-2012 15:13 | 14-12-2019 12:19 |
|
Reporter | valebog | |
Assigned To | | |
Priority | normal | Severity | minor | Reproducibility | random |
Status | confirmed | Resolution | open | |
Platform | Windows 7 | OS | максимальная | OS Version | SP1 x64 |
Product Version | 120808 | |
Target Version | 40xxxx | Fixed in Version | | |
|
Summary | 0001502: Программа зависает при выходе если включен GPS |
Description | При выходе из программы она иногда виснет, если подключен GPS приемник (Gobi 1000). |
Steps To Reproduce | |
Additional Information | |
Tags | No tags attached. |
Relationships | related to | 0003596 | resolved | zed | GPS connexion not possible with u-blox device combining NMEA and proprietary UBX binary protocol |
|
Attached Files | DB лог при зависании 1502 без отключения GPS.txt (19,439) 14-08-2012 17:37 http://www.sasgis.org/mantis/file_download.php?file_id=942&type=bug SAS работа прекращена 05.PNG (23,670) 14-08-2012 17:41 http://www.sasgis.org/mantis/file_download.php?file_id=943&type=bug
DB лог при зависании 1502 без отключения GPS 01.txt (110,793) 14-08-2012 17:45 http://www.sasgis.org/mantis/file_download.php?file_id=944&type=bug DB без зависания 1502_second без отключения GPS.txt (189,298) 14-08-2012 18:33 http://www.sasgis.org/mantis/file_download.php?file_id=947&type=bug DB лог при зависании 1502_eureka без отключения GPS.txt (318,266) 14-08-2012 18:42 http://www.sasgis.org/mantis/file_download.php?file_id=949&type=bug DB лог при зависании 1502_second без отключения GPS.txt (318,266) 14-08-2012 18:49 http://www.sasgis.org/mantis/file_download.php?file_id=950&type=bug SASPlanet.elf (43,380) 14-08-2012 18:55 http://www.sasgis.org/mantis/file_download.php?file_id=951&type=bug EUREKA.PNG (12,737) 14-08-2012 18:57 http://www.sasgis.org/mantis/file_download.php?file_id=952&type=bug
SAS 1502.PNG (7,995) 14-08-2012 20:09 http://www.sasgis.org/mantis/file_download.php?file_id=955&type=bug
SAS EUREKA.PNG (10,388) 14-08-2012 20:14 http://www.sasgis.org/mantis/file_download.php?file_id=956&type=bug
SASPlanet.elf new (92,718) 14-08-2012 20:23 http://www.sasgis.org/mantis/file_download.php?file_id=957&type=bug DB лог при зависании 1502_new без отключения GPS.txt (51,819) 14-08-2012 20:28 http://www.sasgis.org/mantis/file_download.php?file_id=958&type=bug SASPlanet01.elf (39,848) 15-08-2012 05:46 http://www.sasgis.org/mantis/file_download.php?file_id=962&type=bug DB лог при зависании 1502_NIGHT без отключения GPS.txt (134,488) 15-08-2012 05:48 http://www.sasgis.org/mantis/file_download.php?file_id=963&type=bug DB лог при зависании 1502_NOLOCK без отключения GPS.txt (60,015) 15-08-2012 15:29 http://www.sasgis.org/mantis/file_download.php?file_id=967&type=bug SASPlanet02.elf (42,545) 15-08-2012 15:30 http://www.sasgis.org/mantis/file_download.php?file_id=968&type=bug SASPlanet_bug1502_EUREKA.rar (2,117,893) 15-08-2012 18:43 http://www.sasgis.org/mantis/file_download.php?file_id=969&type=bug SASPlanet_bug1502_NOW.rar (1,675,145) 15-08-2012 18:43 http://www.sasgis.org/mantis/file_download.php?file_id=970&type=bug DB лог при зависании 1502_NOW без отключения GPS.txt (61,097) 15-08-2012 19:36 http://www.sasgis.org/mantis/file_download.php?file_id=971&type=bug SASPlanet03.elf (46,478) 15-08-2012 19:36 http://www.sasgis.org/mantis/file_download.php?file_id=972&type=bug DB лог при зависании 1502_NOW без отключения GPS 01.txt (36,480) 15-08-2012 20:16 http://www.sasgis.org/mantis/file_download.php?file_id=973&type=bug |
|
Issue History |
Date Modified | Username | Field | Change |
14-08-2012 15:13 | valebog | New Issue | |
14-08-2012 15:13 | valebog | File Added: DB лог при зависании без отключения GPS.txt | |
14-08-2012 15:56 | vasketsov | Assigned To | => vasketsov |
14-08-2012 15:56 | vasketsov | Status | new => assigned |
14-08-2012 16:43 | vasketsov | File Added: SASPlanet_bug1502_debug.rar | |
14-08-2012 16:44 | vasketsov | Note Added: 0008501 | |
14-08-2012 17:37 | valebog | File Added: DB лог при зависании 1502 без отключения GPS.txt | |
14-08-2012 17:39 | valebog | Note Added: 0008503 | |
14-08-2012 17:41 | valebog | File Added: SAS работа прекращена 05.PNG | |
14-08-2012 17:45 | valebog | File Added: DB лог при зависании 1502 без отключения GPS 01.txt | |
14-08-2012 17:46 | valebog | Note Edited: 0008503 | bug_revision_view_page.php?bugnote_id=8503#r4132 |
14-08-2012 17:47 | vasketsov | Note Added: 0008504 | |
14-08-2012 17:47 | valebog | Note Edited: 0008503 | bug_revision_view_page.php?bugnote_id=8503#r4133 |
14-08-2012 17:50 | valebog | Note Added: 0008505 | |
14-08-2012 17:50 | valebog | Note Deleted: 0008505 | |
14-08-2012 17:51 | valebog | Note Added: 0008506 | |
14-08-2012 18:07 | vasketsov | File Deleted: SASPlanet_bug1502_debug.rar | |
14-08-2012 18:07 | vasketsov | File Deleted: DB лог при зависании без отключения GPS.txt | |
14-08-2012 18:10 | vasketsov | Note Added: 0008507 | |
14-08-2012 18:10 | vasketsov | File Added: SASPlanet_bug1502_SECOND.rar | |
14-08-2012 18:16 | vasketsov | File Added: SASPlanet_bug1502_EUREKA.rar | |
14-08-2012 18:33 | valebog | Note Added: 0008508 | |
14-08-2012 18:33 | valebog | File Added: DB без зависания 1502_second без отключения GPS.txt | |
14-08-2012 18:34 | valebog | Note Edited: 0008508 | bug_revision_view_page.php?bugnote_id=8508#r4135 |
14-08-2012 18:34 | valebog | Note Edited: 0008508 | bug_revision_view_page.php?bugnote_id=8508#r4136 |
14-08-2012 18:37 | vasketsov | Note Added: 0008509 | |
14-08-2012 18:37 | vasketsov | Note Edited: 0008509 | bug_revision_view_page.php?bugnote_id=8509#r4138 |
14-08-2012 18:40 | valebog | Note Added: 0008510 | |
14-08-2012 18:40 | vasketsov | File Deleted: SASPlanet_bug1502_EUREKA.rar | |
14-08-2012 18:41 | vasketsov | File Added: SASPlanet_bug1502_EUREKA.rar | |
14-08-2012 18:42 | valebog | File Added: DB лог при зависании 1502_eureka без отключения GPS.txt | |
14-08-2012 18:46 | valebog | Note Edited: 0008510 | bug_revision_view_page.php?bugnote_id=8510#r4140 |
14-08-2012 18:48 | vasketsov | Note Added: 0008511 | |
14-08-2012 18:48 | valebog | Note Edited: 0008510 | bug_revision_view_page.php?bugnote_id=8510#r4141 |
14-08-2012 18:49 | valebog | File Added: DB лог при зависании 1502_second без отключения GPS.txt | |
14-08-2012 18:55 | valebog | File Added: SASPlanet.elf | |
14-08-2012 18:57 | valebog | File Added: EUREKA.PNG | |
14-08-2012 19:23 | zed | Note Added: 0008512 | |
14-08-2012 19:59 | vasketsov | File Deleted: SASPlanet_bug1502_SECOND.rar | |
14-08-2012 19:59 | vasketsov | File Deleted: SASPlanet_bug1502_EUREKA.rar | |
14-08-2012 20:00 | vasketsov | File Added: SASPlanet_bug1502_EUREKA.rar | |
14-08-2012 20:01 | vasketsov | File Added: SASPlanet_bug1502_NEW.rar | |
14-08-2012 20:02 | vasketsov | Note Added: 0008513 | |
14-08-2012 20:08 | valebog | Note Added: 0008514 | |
14-08-2012 20:09 | valebog | File Added: SAS 1502.PNG | |
14-08-2012 20:14 | valebog | File Added: SAS EUREKA.PNG | |
14-08-2012 20:16 | vasketsov | Note Added: 0008515 | |
14-08-2012 20:19 | valebog | Note Edited: 0008514 | bug_revision_view_page.php?bugnote_id=8514#r4143 |
14-08-2012 20:21 | valebog | Note Added: 0008516 | |
14-08-2012 20:23 | valebog | File Added: SASPlanet.elf new | |
14-08-2012 20:28 | valebog | File Added: DB лог при зависании 1502_new без отключения GPS.txt | |
14-08-2012 20:30 | valebog | Note Edited: 0008516 | bug_revision_view_page.php?bugnote_id=8516#r4145 |
14-08-2012 20:39 | valebog | Note Added: 0008517 | |
14-08-2012 20:43 | valebog | Note Edited: 0008517 | bug_revision_view_page.php?bugnote_id=8517#r4147 |
14-08-2012 21:01 | vasketsov | File Deleted: SASPlanet_bug1502_EUREKA.rar | |
14-08-2012 21:01 | vasketsov | File Deleted: SASPlanet_bug1502_NEW.rar | |
14-08-2012 21:02 | vasketsov | File Added: SASPlanet_bug1502_EUREKA.rar | |
14-08-2012 21:02 | vasketsov | File Added: SASPlanet_bug1502_NIGHT.rar | |
14-08-2012 21:05 | vasketsov | Note Added: 0008518 | |
15-08-2012 04:10 | Tolik | Summary | При отключении программа виснет. => Программа зависает при выходе |
15-08-2012 04:10 | Tolik | Description Updated | bug_revision_view_page.php?rev_id=4149#r4149 |
15-08-2012 05:46 | valebog | File Added: SASPlanet01.elf | |
15-08-2012 05:48 | valebog | File Added: DB лог при зависании 1502_NIGHT без отключения GPS.txt | |
15-08-2012 06:08 | valebog | Note Added: 0008521 | |
15-08-2012 10:29 | vasketsov | File Deleted: SASPlanet_bug1502_EUREKA.rar | |
15-08-2012 10:29 | vasketsov | File Deleted: SASPlanet_bug1502_NIGHT.rar | |
15-08-2012 10:30 | vasketsov | File Added: SASPlanet_bug1502_NOLOCK.rar | |
15-08-2012 10:30 | vasketsov | File Added: SASPlanet_bug1502_EUREKA.rar | |
15-08-2012 10:32 | vasketsov | Note Added: 0008522 | |
15-08-2012 13:58 | vdemidov | Note Added: 0008524 | |
15-08-2012 14:13 | vasketsov | Note Added: 0008525 | |
15-08-2012 14:14 | vdemidov | Note Added: 0008526 | |
15-08-2012 14:19 | vasketsov | Note Added: 0008528 | |
15-08-2012 14:21 | vasketsov | Note Added: 0008529 | |
15-08-2012 14:34 | vdemidov | Note Added: 0008530 | |
15-08-2012 14:42 | vasketsov | Note Added: 0008531 | |
15-08-2012 15:05 | vdemidov | Note Added: 0008532 | |
15-08-2012 15:29 | valebog | File Added: DB лог при зависании 1502_NOLOCK без отключения GPS.txt | |
15-08-2012 15:30 | valebog | File Added: SASPlanet02.elf | |
15-08-2012 15:31 | valebog | Note Added: 0008533 | |
15-08-2012 15:36 | vasketsov | Note Added: 0008534 | |
15-08-2012 15:43 | vdemidov | Note Added: 0008535 | |
15-08-2012 15:54 | vasketsov | Note Added: 0008536 | |
15-08-2012 15:57 | vasketsov | Note Edited: 0008536 | bug_revision_view_page.php?bugnote_id=8536#r4153 |
15-08-2012 16:08 | Tolik | Note Added: 0008540 | |
15-08-2012 18:41 | vasketsov | File Deleted: SASPlanet_bug1502_NOLOCK.rar | |
15-08-2012 18:41 | vasketsov | File Deleted: SASPlanet_bug1502_EUREKA.rar | |
15-08-2012 18:43 | vasketsov | File Added: SASPlanet_bug1502_EUREKA.rar | |
15-08-2012 18:43 | vasketsov | File Added: SASPlanet_bug1502_NOW.rar | |
15-08-2012 18:44 | vasketsov | Note Added: 0008547 | |
15-08-2012 19:36 | valebog | File Added: DB лог при зависании 1502_NOW без отключения GPS.txt | |
15-08-2012 19:36 | valebog | File Added: SASPlanet03.elf | |
15-08-2012 19:37 | valebog | Note Added: 0008548 | |
15-08-2012 19:53 | vasketsov | Note Added: 0008549 | |
15-08-2012 20:08 | valebog | Note Added: 0008550 | |
15-08-2012 20:16 | valebog | Note Added: 0008551 | |
15-08-2012 20:16 | valebog | File Added: DB лог при зависании 1502_NOW без отключения GPS 01.txt | |
16-08-2012 14:36 | vasketsov | Note Added: 0008556 | |
16-08-2012 15:00 | valebog | Note Added: 0008557 | |
16-08-2012 15:19 | vasketsov | Note Added: 0008558 | |
16-08-2012 16:33 | valebog | Note Added: 0008559 | |
29-08-2012 06:54 | vdemidov | Summary | Программа зависает при выходе => Программа зависает при выходе если включен GPS |
29-08-2012 06:54 | vdemidov | Target Version | => 24xxxx |
04-11-2014 12:04 | vdemidov | Assigned To | vasketsov => |
04-11-2014 12:04 | vdemidov | Target Version | 24xxxx => 40xxxx |
04-11-2014 12:06 | vdemidov | Status | assigned => confirmed |
14-12-2019 12:19 | zed | Relationship added | related to 0003596 |
Notes |
|
|
Загрузил SASPlanet_bug1502_debug.rar
Попробуйте её (по прежнему напрямую с dbmon).
Если зависнет - надо подождать минуту.
Если будут сообщения или файлы elf создаваться - их тоже сюда. |
|
|
(0008503)
|
valebog
|
14-08-2012 17:39
(edited on: 14-08-2012 17:47) |
|
Где искать файлы elf и сообщения?
Добавил от повторного зависания скришот и лог. Не нужное удалите.
|
|
|
|
Ну сообщения - если бы вылезли.
Файлы elf - если создадутся, то в папке с программой. |
|
|
|
Сообщение только о прекращении работы, а файлов elf нет. |
|
|
|
Значит я чё-то не так делаю, должны появляться при зависании.
Возьмите завтра свежую ночную версию, и запустите оттуда отладочную версию саса (она имеет в имени файла debug, не забудьте положить ini-шку туда с readonly=1).
Это если сегодня не разберёмся.
Вот новую версию приаттачил SASPlanet_bug1502_SECOND, пробуйте, традиционно потом лог dbmon в студию. |
|
|
(0008508)
|
valebog
|
14-08-2012 18:33
(edited on: 14-08-2012 18:34) |
|
Перестала зависать. Лог без зависания отправляю.
EUREKA - пробовать?
|
|
|
|
EUREKA имеет смысл пробовать при воспроизведении зависания.
Плохо что перестало зависать, надо чтобы зависало!!!!
зы. но DB без зависания 1502_second без отключения GPS.txt попрошу оставить и не удалять.
|
|
|
(0008510)
|
valebog
|
14-08-2012 18:40
(edited on: 14-08-2012 18:48) |
|
Вот зависла наверно с шестого раза. Отправляю лог. Но это не EUREKA, а second, ошибся в названии. Еще раз отправляю, исправив название, а EUREKA удалите.
|
|
|
|
Заменил EUREKA, её надо запускать без dbmon, попробуйте чтобы в ней зависло, и подождите минуту, должен появиться файл elf, если появится - файл в студию. |
|
|
(0008512)
|
zed
|
14-08-2012 19:23
|
|
Видимо это таки 0001336 не вылечился. |
|
|
|
Залил новые версии SASPlanet_bug1502_EUREKA.rar и SASPlanet_bug1502_NEW.rar.
Пробуйте. |
|
|
(0008514)
|
valebog
|
14-08-2012 20:08
(edited on: 14-08-2012 20:19) |
|
SASPlanet_bug1502_NEW.rar. повисла капитально. И EUREKA тоже, даже файла elf не записала.
|
|
|
|
А лог dbmon от NEW и elf от EUREKA будет? |
|
|
(0008516)
|
valebog
|
14-08-2012 20:21
(edited on: 14-08-2012 20:30) |
|
Записался elf, отправляю и буду делать лог с dbmon.
|
|
|
(0008517)
|
valebog
|
14-08-2012 20:39
(edited on: 14-08-2012 20:43) |
|
NEW первый раз с dbmon зависла, лог выслал, а сейчас три раза запускал без него и закрывалась без проблем. Однако нестабильность какая то.
|
|
|
|
Собрал новые версии SASPlanet_bug1502_EUREKA.rar и SASPlanet_bug1502_NIGHT.rar.
Пробуйте.
зы. Видимо это последнее, на сегодня игр уже хватит. |
|
|
|
|
|
|
Собрал по новой SASPlanet_bug1502_NOLOCK.rar и SASPlanet_bug1502_EUREKA.rar.
На этот раз вообще убрал блокировку, жду лог и файл elf даже если и не зависнет и даже если не будет ошибок (если зависнет или будут ошибки - тем более жду)))). |
|
|
|
vasketsov Посмотрел внимательнее на работу с тредом у тебя. Это тихий ужас. Там пространства авешек уйма.
Надеюсь ты понимаешь, что вот эта функция
function _CheckTerminated: Boolean;
begin
Result := ((nil=FPacketThread) or (FPacketThread.Terminated));
end;
Ни разу не тредсейфовая. Да и вообще не нужна. Достаточно было передать в функцию InternalThreadRoutine_for_Packets параметром TThread. Или не стоит пытаться удалить тред снаружи самого треда.
Как сейчас выходит зависание.
Онсовной тред начинает удалять все. Заходит в критическую секцию и вызывает удаление FPacketThread.
В деструкторе треда есть ожидание завершение самого треда. Поэтому основной поток замораживается.
Поток треда получате команду на завершение и пытается завершиться.
Но у него есть OnTerminate в котором есть захват критической секции уже захваченной основным тредом.
Все. Дедлок классический. |
|
|
|
>Там пространства авешек уйма
Но в месте с тем их там нет. Там проблема в другом.
> Надеюсь ты понимаешь, что вот эта функция ни разу не тредсейфовая
Да.
>Достаточно было передать в функцию InternalThreadRoutine_for_Packets параметром TThread
Не достаточно.
>у него есть OnTerminate в котором есть захват критической секции уже захваченной основным тредом
Если ты помнишь, он появился после твоих советов. И в приаттаченной сюда версии его уже нет. |
|
|
|
Ну я тоже могу ошибаться. На самом деле нужно было убирать все убиение треда из деструктора. |
|
|
|
>Дедлок классический
Последняя запись в логе dbmon - это
3276: [THR=872]TVSAGPS_UNITS.Lock_CS_Runtime: in
3276: [THR=872]TVSAGPS_UNITS.Lock_CS_Runtime: ok
3276: [THR=872]TVSAGPS_UNITS.Lock_CS_Runtime: in
3276: [THR=872]TVSAGPS_UNITS.Lock_CS_Runtime: ok
3276: [THR=872]TVSAGPS_UNITS.Unlock_CS_Runtime: in
3276: [THR=872]TVSAGPS_UNITS.Unlock_CS_Runtime: ok
3276: [THR=872]TVSAGPS_UNITS.Unlock_CS_Runtime: in
Попробуй для начала объяснить, почему на LeaveCriticalSection виснет поток, при том что на не убита. Если так типа всё просто.
зы. И вообще предлагаю заняться своими делами. |
|
|
|
>На самом деле нужно было убирать все убиение треда из деструктора
А кто и откуда его должен убить, если поток завис? |
|
|
|
Если тред завис, то при помощи деструктора, ты его не убьешь, ибо в деструкторе есть вызов WaitFor и зависнет вся программа. И вообще убивать треды насильно это очень плохая идея. |
|
|
|
>ибо в деструкторе есть вызов WaitFor
подсказко: if (FThreadID <> 0) and not FFinished then |
|
|
|
И с какой же радости это условие невыполниться, если FThreadID нигде не обнуляется а FFinished устанавливается уже после окончания треда и выполнения OnTerminate |
|
|
|
|
|
|
>если FThreadID нигде не обнуляется а FFinished устанавливается
А если обнулится и установится? С этим проблема?
Ещё одна подсказка:
CloseHandle(Handle);
PHandle(@(Handle))^:=0;
PDWORD(@(ThreadID))^:=0; |
|
|
|
Если речь о KillNow то его вызова для FPacketThread я что-то не вижу. |
|
|
(0008536)
|
vasketsov
|
15-08-2012 15:54
(edited on: 15-08-2012 15:57) |
|
Ну может в этом и есть беда.
Потому что в деструкторе Tvsagps_object.Destroy уже объективно поток должен быть мёртвый (и соответственно поле должно быть NIL).
Ща поиграемся.
зы. Но там другая беда: из двух потоков залетает в Tvsagps_Packet_Thread.Destroy.
|
|
|
(0008540)
|
Tolik
|
15-08-2012 16:08
|
|
Так прикольно всё это читать! Все слова вроде понятные, а в целом - ни хрена не понятно :)))) Моск просто отдыхает :)
(сорри) |
|
|
|
Собрал новые версии SASPlanet_bug1502_EUREKA.rar и SASPlanet_bug1502_NOW.rar.
Пробуйте. |
|
|
|
|
|
|
А зависало? А то я что-то не вижу зависания в логе. |
|
|
|
|
|
|
Отправляю еше один лог с зависанием. |
|
|
|
Сейчас залью в репо наименее склонный к зависанию вариант, в сентябре продолжим. |
|
|
|
|
|
|
Это то, откуда собираются официальные "ночные" версии.
С завтрешней "ночнушки" будет некая промежуточная квазистабильная версия.
Если есть желание - можете попробовать её. Но я уже буду до сентября недоступен. |
|
|
|
Понял, попробую, СПАСИБО. |
|