Runtime Error 203

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Runtime Error 203

Сообщение minoshi » 04.01.2013 20:27:34

Доброго времени суток!
to ev : если я ошибся темой - перенесите, пожалуйста, куда надо.

Данный пост скорее просто заметка на память, может кому пригодится:

Недавно у меня на сайте появилось сообщение, что
после переустановки Арчика (последний установочный образ с полным переходом на systemd) стала выдавать:
Runtime error 203 at $0805FEDA
$0805FEDA
$08060229
$080B5974
$B74AE605
Подозреваю что это ошибка Паскаля, вылетает независимо от КДЕ или другого ДЕ, не знаю что и делать...
Я предложил парню совместное тестирование, но он куда-то пропал, и я решил, что это действительно глюки rolling release арчлинукса (у меня такой проблемы не было).

Но тут наткнулся на проект archpup (тот же puppylinux, но собранный из пакетов archlinux). Заинтересовавшись я развернул систему на виртуалке и стал тестировать. Среди прочего попытался установить mseide и тут же получил эту самую ошибку. Причем она вываливалась как при запуска mdeide-программ, так и при запуске fp и fpc.
Решение нашлось тутже на форуме archpup,
i found the solution to PacmanXG not running. and that is to remove the file /etc/localtime and symlink /etc/localtime to the file /usr/share/zoneinfo/US/Michigan

I'm guessing any timezone would work but not sure. so running the two commands:

rm /etc/localtime
ln -s /usr/share/zoneinfo/US/Michigan /etc/localtime

will fix the 203 error. u might want to look inside the /usr/share/zoneinfo directory....and try symlinking to your own timezone. I strongly doubt if it's working, just because it's 'Michigan'.

Я попробовал и - о, чудо! - паскалевские программы в archpup стали запускаться.

Ребята, как я уже сказал выше, пост - просто заметка на память,
но если у Вас есть время, можете ли Вы мне объяснить почему так?
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Runtime Error 203

Сообщение Sergei I. Gorelkin » 05.01.2013 14:26:08

RTL при старте читает /etc/localtime, чтобы узнать часовой пояс, это нужно для корректной работы почти всех функций, связанных с датой/временем.
В большинстве линуксов /etc/localtime - это ссылка (symlink) на один из файлов в /usr/share/zoneinfo, который соответствует установленному часовому поясу. Видимо в Арчике /etc/localtime стал чем-то другим, отчего у RTL срывает крышу (ошибка 203 - это нехватка памяти, ее не должно быть по-любому).

Если не сложно, напиши, что представляет собой этот /etc/localtime и его содержимое на свежей системе (когда FPC-программы не запускаются).
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Runtime Error 203

Сообщение bormant » 05.01.2013 15:25:37

Sergei I. Gorelkin писал(а):В большинстве линуксов /etc/localtime - это ссылка (symlink) на один из файлов в /usr/share/zoneinfo, который соответствует установленному часовому поясу.
Не ссылка, а копия одного из файлов в /usr/share/zoneinfo. Представьте, что /usr монтируется по сети, тогда к моменту, когда впервые потребуется /etc/localtime, сеть ещё не поднята и /usr/share/zoneinfo окажется недоступен.
Аватара пользователя
bormant
постоялец
 
Сообщения: 408
Зарегистрирован: 21.03.2012 11:26:01

Re: Runtime Error 203

Сообщение minoshi » 06.01.2013 09:12:15

Sergei I. Gorelkin писал(а):Если не сложно, напиши, что представляет собой этот /etc/localtime и его содержимое на свежей системе (когда FPC-программы не запускаются).

до
Код: Выделить всё
[root@root]uname -a
Linux archpup 3.6.8 #1 SMP Tue Dec 11 12:32:03 CET 2012 i686 GNU/Linux
[root@root]file /etc/localtime
/etc/localtime: ASCII text
[root@root]cat /etc/localtime
/usr/share/zoneinfo/CET

после
Код: Выделить всё
[root@root]file /etc/localtime
/etc/localtime: symbolic link to `/usr/share/zoneinfo/US/Michigan'
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Runtime Error 203

Сообщение Sergei I. Gorelkin » 06.01.2013 12:04:19

bormant писал(а):Не ссылка, а копия одного из файлов в /usr/share/zoneinfo.

Тут мы оба неправы, я проверил в Debian, там это обычный файл, в котором находится строка вида "Europe/Moscow". Т.е. название часового пояса без указания на /usr/... Видимо, в libc есть какие-то другие механизмы получения часового пояса на случай, когда /usr не смонтирован.

Получается, что ошибка возникает из-за абсолютного пути в /etc/timezone.
minoshi, можешь проверить это предположение? Исправить /etc/timezone, чтобы в нем осталося только текст "CET" и посмотреть, будут ли запускаться программы?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Runtime Error 203

Сообщение minoshi » 06.01.2013 19:11:18

предположу, что речь все таки о /etc/localtime? Т.к. /etc/timezone отсутствует
Код: Выделить всё
[root@root] echo CET > /etc/localtime
[root@root]cat /etc/localtime
CET
[root@root]/opt/pacmanxg4/pacmanxg
Runtime error 203 at $0805FEDA
  $0805FEDA
  $08060229
  $080B51C4
  $B745A605
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Runtime Error 203

Сообщение Sergei I. Gorelkin » 07.01.2013 08:55:26

minoshi писал(а):предположу, что речь все таки о /etc/localtime? Т.к. /etc/timezone отсутствует

Да, это я оговорился.

Разобраться с наскока не получилось... Я посмотрел, RTL корректно обрабатывает абсолютный путь в /etc/localtime, но не делает ни одной проверки при чтении собственно файла TZ. Видимо в Арче что-то поменялось в формате этих файлов.
А предложенное решение с симлинком, судя по всему, приводит к тому, что часовой пояс в программах FPC просто не инициализируется.

Надо ставить эту систему и разбираться...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Runtime Error 203

Сообщение minoshi » 07.01.2013 11:23:49

думается, все как-то завязано с переходом на systemd. Тут много изменений - тот же /etc/timezone уже не используется и должен быть удален. Не завидую команде fpc - помимо init и upstart теперь еще поддерживать systemd ...
Мне кажется просто нужно переждать пока все устаканится.
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Runtime Error 203

Сообщение Padre_Mortius » 07.01.2013 13:12:20

в Fedore используется systemd и при этом такой проблемы не возникает, но файлы /etc/timezone и /etc/localtime присутствуют. В Fedora файл /etc/localtime является симлинком.
Код: Выделить всё
$ file /etc/localtime
/etc/localtime: symbolic link to `/usr/share/zoneinfo/Europe/Moscow'
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Runtime Error 203

Сообщение bormant » 07.01.2013 19:50:07

Padre_Mortius писал(а):в Fedore используется systemd ... В Fedora файл /etc/localtime является симлинком.
Второе не страшно по причине первого -- systemd не умеет жить с /usr, вынесенным на отдельный раздел.
Аватара пользователя
bormant
постоялец
 
Сообщения: 408
Зарегистрирован: 21.03.2012 11:26:01

Re: Runtime Error 203

Сообщение minoshi » 07.01.2013 23:06:32

будем надеяться - пока не умеет, а то перекраивать жесткий диск ради пакета - это все-таки наглость
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Runtime Error 203

Сообщение Padre_Mortius » 08.01.2013 12:35:14

systemd не умеет жить с /usr, вынесенным на отдельный раздел.

буквально пару лет назад была новость об этом
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Runtime Error 203

Сообщение Максим » 08.01.2013 17:30:43

По-моему, он умеет, но для этого надо плясать с initrd.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва


Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru