Обновился из svn InputQuery стала вызывать ошибки, как быть?
Модератор: Модераторы
-
leo_bs
- новенький
- Сообщения: 10
- Зарегистрирован: 27.01.2010 02:06:48
- Откуда: Йошкар-Ола, Респ. Марий Эл
- Контактная информация:
Обновился из svn InputQuery стала вызывать ошибки, как быть?
Написал программу, пора ставить на работу, дёрнул меня чёрт обновиться с svn, результат: InputQuery при вызове стала вызывать ошибку 'External SIGSEGV', далее если жать кнопку "Запустить" на панели Lazarusа вываливается RunError(216) и потом EAccessViolation... при нажатии на кнопку "Остановить" в последнем окне отладчик показывает строку файла sсrollingwincontrol.inc... куда дальше двигаться понять не могу... подсобите?
leo_bs писал(а):Написал программу, пора ставить на работу, дёрнул меня чёрт обновиться с svn, результат: InputQuery при вызове стала вызывать ошибку 'External SIGSEGV', далее если жать кнопку "Запустить" на панели Lazarusа вываливается RunError(216) и потом EAccessViolation... при нажатии на кнопку "Остановить" в последнем окне отладчик показывает строку файла sсrollingwincontrol.inc... куда дальше двигаться понять не могу... подсобите?
шаг №1
Код: Выделить всё
svn update -r XXX
где XXX номер последней работоспособной ревизии.
пересобрать лазарус
шаг №2
bugs.freepascal.org
Ещё как вариант можно попробовать пересобрать так:
или
Код: Выделить всё
make OPT="-dOldAutoSize"или
Код: Выделить всё
make bigide OPT="-dOldAutoSize"-
leo_bs
- новенький
- Сообщения: 10
- Зарегистрирован: 27.01.2010 02:06:48
- Откуда: Йошкар-Ола, Респ. Марий Эл
- Контактная информация:
Код: Выделить всё
make OPT="-dOldAutoSize"Этот код работает (если можно так сказать), InputQuery выводится, но криво. Окно кривое, Edit шире окна...
После обычной компиляции SIGSEGV возвращается...
ОС Ubuntu 9.10
Ревизия 24320...
Откатывал к предыдущим ревизиям, после чего пересобирал Лазарус, не помогает...
И ещё вопрос: для работы с базой данных в своём приложении я добавил к TTreeView два свойства - PrimaryID и ParentID - для того чтобы строить дерево из базы... после чего при обновлении командой svn со эти свойства остаются, а если просто залить (к примеру в отдельную папку) этой же командой исходники с сервера - их там уже нет - каким образом такие изменения попадают в trunk? другая команда svn? Если не в напряг - опишите кратко...
Огромное всем спасибо за диалог.
leo_bs писал(а):Этот код работает (если можно так сказать), InputQuery выводится, но криво. Окно кривое, Edit шире окна...
После обычной компиляции SIGSEGV возвращается...
ОС Ubuntu 9.10
Ревизия 24320...
Значит, SIGSEGV был из-за нового алгоритма автосайза
По поводу дальнейших действий могу предложить:
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.
-
leo_bs
- новенький
- Сообщения: 10
- Зарегистрирован: 27.01.2010 02:06:48
- Откуда: Йошкар-Ола, Респ. Марий Эл
- Контактная информация:
Знаете, странное дело, опишу что делал и что получил:
1. Были исходники лазаруса, которые я получил с svn, 0.9.29... какая-то там ревизия - давно было - в январе - не помню...
2. Работало всё работало... и потом вдруг бац - SIGSEGV при вызове InputQuery...
3. Стал искать проблему, сделал резервную копию (!) тех старых исходников ЛАЗАРУСА в отдельную папку, а над текущей стал издеваться - обновил по svn - не помогло, потом создал новую папку для лазаруса - скачал всё заново с svn, скомпилировал с разными параметрами - не помогло (make OPT="-dOldAutoSize" не в счёт)
4. Сейчас незадолго до этого поста... вернул старые сорцы на место - ВСЁ РАБОТАЕТ - удивительно просто... никакого SIGSEGV... никаких ошибок...
// ошибка провоцировалась следующим образом - простым вызовом InputQuery - пробовал по разному: в текущем проекте - присутствовала, перезагружал, пересобирал, создавал тестовый проект - ПРИСУТСТВОВАЛА... а сейчас - нет - все те же самые манипуляции, но ошибки нет...

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