Здравствуйте, гость ( Вход | Регистрация )

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> 2.17 вылет
DarkMaster
сообщение 27.12.2012, 12:29
Сообщение #21


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



Да.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 27.12.2012, 14:38
Сообщение #22


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Судя по тому что в описании написано про операции с неверными пойнтерами, оно какраз вполне может выскакивать при обращении к изменяемому в данный момент массиву.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 27.12.2012, 15:13
Сообщение #23


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Цитата(WKnight @ 26.12.2012, 14:09) *

Дык я про то и говорю, что все основные отлавливаются оптом с персональным описанием. Т.е. всякие хеапы и прочие вполне корретно выводятся, типа деление на 0, ошибка преобразования итд.
Какая ошибка вываливается под данным eexternal даже сама дельфя предположить не может.

У тебя массивы изменяются во время обращения к ним из параллельных скриптов?

Может. Но ты выводи адрес загрузки приложения и адрес, где упало. Потом по мапу сможешь понять в какой строчке падение. Если, конечно, ехе не упакованный.

Цитата(WKnight @ 27.12.2012, 15:38) *

Судя по тому что в описании написано про операции с неверными пойнтерами, оно какраз вполне может выскакивать при обращении к изменяемому в данный момент массиву.
Э-э-э... Кнайт... А как-бы критические секции, Interlocked операции, не?


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 27.12.2012, 15:57
Сообщение #24


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Ехе какраз пакованный...

Та както не думалось что оно так падать на этом будет. Теперь то придется чето придумывать, и все подобные операции в это заворачивать.

Раз ты тут появился, может подскажешь (IMG:style_emoticons/default/smile.gif)
как загрузить самописанный драйвер в семерке?
Тестовый режим включен, файло подписано "dseo v1.3b".
В хп работает прекрасно, в семерке пишет загрузка была заблокирована. В доверенные места сувать пробовал, никаких изменений.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 27.12.2012, 16:31
Сообщение #25


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Не знаю, но журнал посмотри. Скорее всего там больше инфы просто.


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 27.12.2012, 17:00
Сообщение #26


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Так.
Погонял скрипт часов 15 без привязки.
Из них 5 часов висел в строках
Код

    if  timer > #lagBuyTimer or timer > #lagBuyTimer2
        while_not #mainMenuX #mainMenuY #mainMenuC
            send Escape
            wait 1000
        end_while

Естественно,
а 10 часов во всем остальном после удаления этой части с таймером.

Вылета не разу не было, версия разумеется 2.17

-----------------------------------------------------------
Попишу теперь в какое-нибудь приложение, что бы цифры могли меняться.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 27.12.2012, 20:10
Сообщение #27


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



есть подозрение из-за чего вся эта хрень пошла.
1) были странные ошибки с таймером, долго не мог понять в чем дело, тупо переписал кусок 1 в 1 только поменял имена переменных. Заработало.
2) Кнайт сказал, что не надо бы изменять массив другим скриптом. Переписываю. Начинаются _те_же_самые_ ошибки. Предыдущий стабильный момент списываю на случайность. Много чего переделываю, откручиваю - результат тот же.
3) Конструкция set workwindow %arr.0 [ #n 1 ] ужасно крашит, это дает лишнее подтверждение, что виноваты массивы.
4) Задолбавшись делаю шаг назад, получаю относительную стабильность. По крайней мере на скриптах-сателитах.

Как не стыдно, но сателиты с таймерами похоже сыпались все из-за тех же старт/стопов скриптов. Причем старт/стопы были не перекрестными, где обычно были проблемы. Старая версия скрипта со стартами работала без крашей неделями атайма. Судя по наблюдениям перезапуск скрипта 1, мог привести со временем к крашу скрипта 2(скрипты полностью идентичны и подгружаются и одного файла). Когда кнайт сказал, что массивы лучше не трогать другими скриптами, и после диких крашей set workwindow %arr.0 [ #n 1 ], я просто стал стартовать скрипт заново, а не ставить на паузу. Да и краши были далеко не сразу после перезапуска. Как адекватно передать новый хендл скрипту не очень понятно. В соседний скрипт не обратиться, напрямую другим скриптом не задать. Попробую переменную в сателите выделить под это дело и переписывать ее основным скриптом.

Сообщение отредактировал DarkMaster - 27.12.2012, 20:46


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 27.12.2012, 21:45
Сообщение #28


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Кнайт, дай исходники погонять ))


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 28.12.2012, 14:45
Сообщение #29


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Стыдно, там багов много (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 28.12.2012, 14:48
Сообщение #30


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Цитата(WKnight @ 28.12.2012, 15:45) *

Стыдно, там багов много (IMG:style_emoticons/default/smile.gif)
гг... Я все понимаю... У самого дофига (известно где).
Дай, короче, поковыряться... Может чего-нить поправлю )) Да и интересно просто.

Сообщение отредактировал Warstone - 28.12.2012, 14:56


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.12.2012, 22:57
Сообщение #31


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



А все равно спотыкается.
Из того, что точно влияет на ошибки:
1) Чем чаще происходит перезпуск клиента игры, а соответственно и изменение хендла рабочего окна, тем чаще идет крит.
2) Конструкция set workwindow %arr [ #n 1 ] - тут вылет чуть ли не мгновенный.
3) Если ошибка вылетела - перезапускать пилот. В дальнейшем вылетать будет чаще.

Сейчас буду пробовать очередные способы искуственно завалить скрипт. Кнайт давай уже 2.33. Я замучался) Старый скрипт на 1 окно имел аптаймы неделями. Этот же гад ну ни в какую не хочет работать, я даже не могу толком хендл передать из-за отсутствия функционала.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 29.12.2012, 17:27
Сообщение #32


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(DarkMaster @ 28.12.2012, 23:57) *

А все равно спотыкается.


Столько всего уже понаписали, что я уже запутался. Нужно ли всё ещё искать причину бага или нет?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.12.2012, 17:39
Сообщение #33


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



Нужно. Сейчас выложу наиболее стабильную версию.
Скрипт
Код
set linedelay 3
set workwindow #handleSTO.0
set #windowN #windowN.0
set #sateliteStarted.0 1
set #lagBuyTimer 10000
set #lagBuyTimer2 10000
set #lagInvTimer 5000
set #buyWeaponMenuX 269
set #buyWeaponMenuY 109
set #buyWeaponMenuC 4467471
set #disWeaponAcceptX 133
set #disWeaponAcceptY 142
set #disWeaponAcceptC 3876622
set #mainMenuX 120
set #mainMenuY 96
set #mainMenuC 5387026  
set #invX 7
set #invY 7
set #invC 3613452

set #invBackgroundX 9
set #invBackgroundY 24
set #invBackgroundC1 0
set #invBackgroundC2 2105376

set #disconnectX 195
set #disconnectY 82
set #disconnectC 16050913

:start

//set workwindow %clientHandle [ #windowN ]
set #temp %clientHandle.0 [ #windowN ]
if  #temp  <> workwindow
    set workwindow  #temp
end_if
if_not #disconnectX #disconnectY #disconnectC
    send {F5}
    wait 20
    send {Enter}
    wait 20
    // Отсрочка таймера детектора
    if_not  #invBackgroundX #invBackgroundY #invBackgroundC1 #invBackgroundC2   // первый слот в инвентаре
        set #lagBuyTimer  timer + 10000
    end_if
    if  #invBackgroundX #invBackgroundY #invBackgroundC1 #invBackgroundC2  // первый слот в инвентаре
        set #lagBuyTimer2  timer + 30000
    end_if
    // Детект инвентаря
    if #invX #invY #invC
        set #lagInvTimer  timer + 5000
    end_if
    
    gosub antiFreeze
end_if

goto start  
    
:antifreeze  
    if #lagInvTimer < timer
        set #lagInvTimer  timer + 5000
        send i
    end_if
    if  timer > #lagBuyTimer or timer > #lagBuyTimer2
        set %clientDisable.0 [ #windowN ] %clientDisable.0 [ #windowN ] + 1
        set #breakTimer timer + 20000
        while_not #mainMenuX #mainMenuY #mainMenuC or #breakTimer < timer
            send Escape
            wait 1000
        end_while
        send Escape
        wait 1000
        send i
        set #lagBuyTimer  timer + 10000
        set #lagBuyTimer2  timer + 10000
        set %clientDisable.0 [ #windowN ] %clientDisable.0 [ #windowN ] - 1
    end_if
    return

Сразу говорю конструкция:
set #temp %clientHandle.0 [ #windowN ]
if #temp <> workwindow
оказалась не корректной для 2.17, но вроде ничего жуткого не вызвала.
Ошибку обычно сыпит про 50 строку.

workwindow в 2.17 не является еще полноценной переменной, но привязывать можно.

Сообщение отредактировал DarkMaster - 29.12.2012, 17:38


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 29.12.2012, 17:40
Сообщение #34


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(DarkMaster @ 29.12.2012, 18:39) *

workwindow в 2.17 не является еще полноценной переменной, но привязывать можно.

Любопытно. Учту.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.12.2012, 18:05
Сообщение #35


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



%clientHandle.0
имеет смысл менять. Как-то эти вылеты связаны с привязкой к новым окнам. Это 100%. Но как, я пока не понял.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.12.2012, 0:36
Сообщение #36


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



Временно сворачиваю эту возню. Идеи кончились, времени потрачено очень много. Возможно в 2.33 получится адекватно отдебажить, ну или сразу может заведется. На данный момент чуток поправил логику скриптов, чтобы могли нормально перезапускаться. Собственно затычка:
AntiError UOPilot 0.1
Код
set #handleError findwindow (UOPilot Message)
if #handleError > 0
    while #handleError > 0
        set #handleError getwindow ( #handleError CHILD )
        set workwindow #handleError
        send Tab  
        send Spacebar
        wait 100
        set #handleError findwindow (UOPilot Message)
    end_while
    start_script 0
    start_script 1
    start_script 3
    start_script 4
    start_script 5
end_if
wait 1000


Сообщение отредактировал DarkMaster - 30.12.2012, 0:37


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.4.2024, 10:58
Designed by Nickostyle