Обновился из svn InputQuery стала вызывать ошибки, как быть?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Обновился из svn InputQuery стала вызывать ошибки, как быть?

Сообщение leo_bs » 31.03.2010 12:22:32

Написал программу, пора ставить на работу, дёрнул меня чёрт обновиться с svn, результат: InputQuery при вызове стала вызывать ошибку 'External SIGSEGV', далее если жать кнопку "Запустить" на панели Lazarusа вываливается RunError(216) и потом EAccessViolation... при нажатии на кнопку "Остановить" в последнем окне отладчик показывает строку файла sсrollingwincontrol.inc... куда дальше двигаться понять не могу... подсобите?
leo_bs
новенький
 
Сообщения: 10
Зарегистрирован: 27.01.2010 03:06:48
Откуда: Йошкар-Ола, Респ. Марий Эл

Re: Обновился из svn InputQuery стала вызывать ошибки, как быть?

Сообщение скалогрыз » 31.03.2010 12:24:38

leo_bs писал(а):Написал программу, пора ставить на работу, дёрнул меня чёрт обновиться с svn, результат: InputQuery при вызове стала вызывать ошибку 'External SIGSEGV', далее если жать кнопку "Запустить" на панели Lazarusа вываливается RunError(216) и потом EAccessViolation... при нажатии на кнопку "Остановить" в последнем окне отладчик показывает строку файла sсrollingwincontrol.inc... куда дальше двигаться понять не могу... подсобите?


шаг №1
Код: Выделить всё
svn update -r XXX

где XXX номер последней работоспособной ревизии.
пересобрать лазарус

шаг №2
bugs.freepascal.org
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Обновился из svn InputQuery стала вызывать ошибки, как быть?

Сообщение Odyssey » 31.03.2010 16:19:51

Ещё как вариант можно попробовать пересобрать так:
Код: Выделить всё
make OPT="-dOldAutoSize"

или
Код: Выделить всё
make bigide OPT="-dOldAutoSize"
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Обновился из svn InputQuery стала вызывать ошибки, как быть?

Сообщение leo_bs » 31.03.2010 21:59:29

Код: Выделить всё
make OPT="-dOldAutoSize"

Этот код работает (если можно так сказать), InputQuery выводится, но криво. Окно кривое, Edit шире окна...
После обычной компиляции SIGSEGV возвращается... :(
ОС Ubuntu 9.10
Ревизия 24320...
Откатывал к предыдущим ревизиям, после чего пересобирал Лазарус, не помогает...
И ещё вопрос: для работы с базой данных в своём приложении я добавил к TTreeView два свойства - PrimaryID и ParentID - для того чтобы строить дерево из базы... после чего при обновлении командой svn со эти свойства остаются, а если просто залить (к примеру в отдельную папку) этой же командой исходники с сервера - их там уже нет - каким образом такие изменения попадают в trunk? другая команда svn? Если не в напряг - опишите кратко...
Огромное всем спасибо за диалог.
leo_bs
новенький
 
Сообщения: 10
Зарегистрирован: 27.01.2010 03:06:48
Откуда: Йошкар-Ола, Респ. Марий Эл

Re: Обновился из svn InputQuery стала вызывать ошибки, как быть?

Сообщение Odyssey » 31.03.2010 22:26:13

leo_bs писал(а):Этот код работает (если можно так сказать), InputQuery выводится, но криво. Окно кривое, Edit шире окна...
После обычной компиляции SIGSEGV возвращается... :(
ОС Ubuntu 9.10
Ревизия 24320...


Значит, SIGSEGV был из-за нового алгоритма автосайза :( Если не трудно, сделайте багрепорт на bugs.freepascal.org, как писал скалогрыз. Желательно прикрепить тестовый пример. Если с английским сложно, можно выложить тестовый пример сюда.

По поводу дальнейших действий могу предложить:
1. Компилировать с -dOldAutoSize, пока все с ним связанные баги не будут исправлены;
2. Заглянуть в <Lazarus directory>/lcl/include/inputdialog.inc, и если сможете, пофиксить проблему с кривым окном там. После внесения изменений нужно будет сделать make OPT="-dOldAutoSize" в директории lcl. Если всё получится, то было бы здорово отправить патч в багтрекер, или сюда;
3. Если с inputdialog.inc возникнут сложности, придётся переопределить InputDialog, т.е. создать собственную форму с Edit'ом и показывать её.

leo_bs писал(а):каким образом такие изменения попадают в trunk? другая команда svn?

Точно, svn commit, но на эту команду нужны соответствующие права доступа к trunk.
Есть ещё один способ:
Код: Выделить всё
svn diff > mychanges.patch

Полученный патч можно прикрепить к сообщению об ошибке или отправить по почте разработчикам (предпочтительнее первый способ). Тогда кто-нибудь из разработчиков сможет включить его в trunk.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Обновился из svn InputQuery стала вызывать ошибки, как быть?

Сообщение leo_bs » 31.03.2010 22:49:12

Знаете, странное дело, опишу что делал и что получил:
1. Были исходники лазаруса, которые я получил с svn, 0.9.29... какая-то там ревизия - давно было - в январе - не помню...
2. Работало всё работало... и потом вдруг бац - SIGSEGV при вызове InputQuery...
3. Стал искать проблему, сделал резервную копию (!) тех старых исходников ЛАЗАРУСА в отдельную папку, а над текущей стал издеваться - обновил по svn - не помогло, потом создал новую папку для лазаруса - скачал всё заново с svn, скомпилировал с разными параметрами - не помогло (make OPT="-dOldAutoSize" не в счёт)
4. Сейчас незадолго до этого поста... вернул старые сорцы на место - ВСЁ РАБОТАЕТ - удивительно просто... никакого SIGSEGV... никаких ошибок...
// ошибка провоцировалась следующим образом - простым вызовом InputQuery - пробовал по разному: в текущем проекте - присутствовала, перезагружал, пересобирал, создавал тестовый проект - ПРИСУТСТВОВАЛА... а сейчас - нет - все те же самые манипуляции, но ошибки нет... :shock: :?:
=========
сделайте багрепорт на bugs.freepascal.org,

сейчас пытался разобраться с работой этого сайта... по-моему не получается залогинится... - в Community получается а в BugTracker'e - нет :(
=========
сейчас скомпилирую свой проект по-нормальному продолжу с этой темой - опять верну новые ревизии - интересно посмотреть - в них тоже баг пропал или нет...

Добавлено спустя 11 часов 52 минуты 5 секунд:
Нет... немного не верно вспомнил - обновиться через svn я решил когда у меня неправильно работал LazReport... после этого стал вываливаться SIGSEGV... после обновления LazReport заработал, а InputQuery - перестал... вот так было дело.
leo_bs
новенький
 
Сообщения: 10
Зарегистрирован: 27.01.2010 03:06:48
Откуда: Йошкар-Ола, Респ. Марий Эл


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

Рейтинг@Mail.ru