FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC
Модератор: Модераторы
FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC
Здравствуйте коллеги !
(Заголовок сообщения подвергнут цензуре !)
Есть два компьютера с FreeBSD 6.3 : боевой и тестовый примерно одинаковой конфигурации.
На тестовом стоит FPC 2.4.0 - там я и компилирую свое простое приложение :
утилита для CGI - читает пару переменных окружения и запускает другую программу:
fpc -Mdelphi web.pas
пробовал параметр -XD
но все равно выходит статическая линковка :
(
%ldd ./web.cgi
ldd: ./web.cgi: not a dynamic executable
)
Внимание вопрос :
ПОЧЕМУ на тестовом компьютере приложение работает, а на боевом НЕТ !?!
(а выдает невразумительное : Runtime error 216 at $111916B2 )
Спасибо !
(Заголовок сообщения подвергнут цензуре !)
Есть два компьютера с FreeBSD 6.3 : боевой и тестовый примерно одинаковой конфигурации.
На тестовом стоит FPC 2.4.0 - там я и компилирую свое простое приложение :
утилита для CGI - читает пару переменных окружения и запускает другую программу:
fpc -Mdelphi web.pas
пробовал параметр -XD
но все равно выходит статическая линковка :
(
%ldd ./web.cgi
ldd: ./web.cgi: not a dynamic executable
)
Внимание вопрос :
ПОЧЕМУ на тестовом компьютере приложение работает, а на боевом НЕТ !?!
(а выдает невразумительное : Runtime error 216 at $111916B2 )
Спасибо !
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
grot
ldd: ./web.cgi: not a dynamic executable
Подобную ошибку выдает ldd если его натравить на скрипт
coyot.rush писал(а):grot
ldd: ./web.cgi: not a dynamic executable
Подобную ошибку выдает ldd если его натравить на скрипт
Ошибку? Где ? Чью ? Я что-то недопонимаю ...
В данном случае ldd просто информирует, что
данное приложение слинковано статически и все !
А есть что сказать по существу вопроса ?
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
ПОЧЕМУ на тестовом компьютере приложение работает, а на боевом НЕТ !?!
Сам же написал на тестовом стоит fpc. значит с его устоновкой произошла какаята донастройка ситемы
Может каието ограничения в виде ulimit
PS эт только домыслы сам юзаю Linux. хотя там и там POSIX
coyot.rush писал(а):ПОЧЕМУ на тестовом компьютере приложение работает, а на боевом НЕТ !?!
Сам же написал на тестовом стоит fpc. значит с его устоновкой произошла какаята донастройка ситемы![]()
Может каието ограничения в виде ulimit![]()
PS эт только домыслы сам юзаю Linux. хотя там и там POSIX
Зашел как root - безрезультатно !
"Донастройка" при установке FPC возможна ...
Но при статической линковке внешние зависимости стремятся к нулю ...
Ха, ну и как тут возможно "распространять" готовую систему,
если между двумя своими компьютерами НЕ РАБОТАЕТ ?!?
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
Посчитал улетает по адресу aж 273 MB.
Не свойственно для консольного приложения явно косяк вида
Что гдето не так считаеться. Может ошибка в коде
Код: Выделить всё
mov eax,some_var
jmp eaxЧто гдето не так считаеться. Может ошибка в коде
Продолжение истории - делаю, как делал раньше бинарники для FreeBSD:
Захожу на Open SuSE 11.1 с FPC 2.2.2
так-же компилирую и переношу бинарник на FreeBSD 6.3
и запускаю :
%./web.cgi
ELF binary type "0" not known.
./web.cgi: Exec format error. Binary file not executable.
%brandelf -t Linux ./web.cgi
%./web.cgi
Segmentation fault
%ldd ./web.cgi
ldd: ./web.cgi: not a dynamic executable
Старый трюк не прошел,
вы спросите, а при чем здесь Java ...
Захожу на Open SuSE 11.1 с FPC 2.2.2
так-же компилирую и переношу бинарник на FreeBSD 6.3
и запускаю :
%./web.cgi
ELF binary type "0" not known.
./web.cgi: Exec format error. Binary file not executable.
%brandelf -t Linux ./web.cgi
%./web.cgi
Segmentation fault
%ldd ./web.cgi
ldd: ./web.cgi: not a dynamic executable
Старый трюк не прошел,
вы спросите, а при чем здесь Java ...
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
На Open SuSE 11.1 с FPC 2.2.2 запускаеться???
PS FreeBSD 6.3, вышел FreeBSD 8
PS FreeBSD 6.3, вышел FreeBSD 8
coyot.rush писал(а):На Open SuSE 11.1 с FPC 2.2.2 запускаеться???
Конечно !
coyot.rush писал(а):PS FreeBSD 6.3, вышел FreeBSD 8
Не могу - у меня хостинг на 6.3 ...
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
Может это поможет Linux в гостях у FreeBSD http://www.xakep.ru/magazine/xa/101/116/1.asp
Ну приложение в действительности не такое уж и простое - там используются Sockets для подключения к некоему серверу.
( стандартный unit Sockets). С похожими проблемами сталкивался и раньше когда делал клиента для E-mail ( по сути теже Sockets)
из CGI приложения. "Перетоптал" все что нашел - во FreeBSD 6.3 заработало _только_!_!_! приложение на базе Synapse с динамической линковкой. ( делал по вышеприведенному сценарию "из SuSE" ), а все остальное вываливалось с абсолютно неадекватными сообщениями ...
Похоже, придется перелопачивать Sockets в сторону Synapse...
(пи - пи ) или делать как все на этой (пи - пи) Java ?
( стандартный unit Sockets). С похожими проблемами сталкивался и раньше когда делал клиента для E-mail ( по сути теже Sockets)
из CGI приложения. "Перетоптал" все что нашел - во FreeBSD 6.3 заработало _только_!_!_! приложение на базе Synapse с динамической линковкой. ( делал по вышеприведенному сценарию "из SuSE" ), а все остальное вываливалось с абсолютно неадекватными сообщениями ...
Похоже, придется перелопачивать Sockets в сторону Synapse...
(пи - пи ) или делать как все на этой (пи - пи) Java ?
Итак - итоги изысканий FPC vs. Java
на сервере FreeBSD 6.3 ( RAM - 64Mb, HDD 3G, on VirtualBox 3.x )
Испытатель: ab.exe (from Apache 2.2 on Windows) - 1000 запросов
FPC 2.4.0 - взят обрезанный пример из ExtPascal ( модуль fast-cgi на Apache 1.3.x mod_fastcgi )
- выводит только простой текст "Hello World!"
D:\temp>ab -v 0 -n 1000 -c 10 http://192.168.0.4/cgi-bin/web.fcgi
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.0.4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/1.3.39
Server Hostname: 192.168.0.4
Server Port: 80
Document Path: /cgi-bin/web.fcgi
Document Length: 14 bytes
Concurrency Level: 10
Time taken for tests: 33.594 seconds
Complete requests: 1000
Failed requests: 145
(Connect: 0, Receive: 0, Length: 145, Exceptions: 0)
Write errors: 0
Non-2xx responses: 145
Total transferred: 327995 bytes
HTML transferred: 98245 bytes
Requests per second: 29.77 [#/sec] (mean)
Time per request: 335.938 [ms] (mean)
Time per request: 33.594 [ms] (mean, across all concurrent requests)
Transfer rate: 9.53 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 4.2 0 16
Processing: 0 335 234.6 328 1609
Waiting: 0 333 233.6 328 1609
Total: 0 336 234.4 328 1609
Percentage of the requests served within a certain time (ms)
50% 328
66% 375
75% 422
80% 438
90% 516
95% 734
98% 1141
99% 1375
100% 1609 (longest request)
----------------------------------------------------------------------------------------------------
В результате испытуемый модуль просто ВЫЛЕТЕЛ !
========================================================================
Java :
JRE: diablo-latte-freebsd6-i386-1.6.0_07-b02.tar.bz2
apache-tomcat-6.0.18.tar.gz
Испытывается сервлет HelloWorld из прилагаемых примеров :
D:\temp>ab -v 0 -n 1000 -c 10 http://192.168.0.4:8080/examples/servlets/servlet/
HelloWorldExample
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.0.4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache-Coyote/1.1
Server Hostname: 192.168.0.4
Server Port: 8080
Document Path: /examples/servlets/servlet/HelloWorldExample
Document Length: 359 bytes
Concurrency Level: 10
Time taken for tests: 2.500 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 507000 bytes
HTML transferred: 359000 bytes
Requests per second: 400.00 [#/sec] (mean)
Time per request: 25.000 [ms] (mean)
Time per request: 2.500 [ms] (mean, across all concurrent requests)
Transfer rate: 198.05 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 3.1 0 16
Processing: 0 24 16.0 16 125
Waiting: 0 23 15.8 16 125
Total: 0 24 16.2 16 125
Percentage of the requests served within a certain time (ms)
50% 16
66% 31
75% 31
80% 31
90% 31
95% 47
98% 78
99% 109
100% 125 (longest request)
--------------------------------------------------------------------------------------------------------
Сервлет - живой и легко прошел повторный аналогичный тест ...
Думайте и решайте сами ...
на сервере FreeBSD 6.3 ( RAM - 64Mb, HDD 3G, on VirtualBox 3.x )
Испытатель: ab.exe (from Apache 2.2 on Windows) - 1000 запросов
FPC 2.4.0 - взят обрезанный пример из ExtPascal ( модуль fast-cgi на Apache 1.3.x mod_fastcgi )
- выводит только простой текст "Hello World!"
D:\temp>ab -v 0 -n 1000 -c 10 http://192.168.0.4/cgi-bin/web.fcgi
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.0.4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/1.3.39
Server Hostname: 192.168.0.4
Server Port: 80
Document Path: /cgi-bin/web.fcgi
Document Length: 14 bytes
Concurrency Level: 10
Time taken for tests: 33.594 seconds
Complete requests: 1000
Failed requests: 145
(Connect: 0, Receive: 0, Length: 145, Exceptions: 0)
Write errors: 0
Non-2xx responses: 145
Total transferred: 327995 bytes
HTML transferred: 98245 bytes
Requests per second: 29.77 [#/sec] (mean)
Time per request: 335.938 [ms] (mean)
Time per request: 33.594 [ms] (mean, across all concurrent requests)
Transfer rate: 9.53 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 4.2 0 16
Processing: 0 335 234.6 328 1609
Waiting: 0 333 233.6 328 1609
Total: 0 336 234.4 328 1609
Percentage of the requests served within a certain time (ms)
50% 328
66% 375
75% 422
80% 438
90% 516
95% 734
98% 1141
99% 1375
100% 1609 (longest request)
----------------------------------------------------------------------------------------------------
В результате испытуемый модуль просто ВЫЛЕТЕЛ !
========================================================================
Java :
JRE: diablo-latte-freebsd6-i386-1.6.0_07-b02.tar.bz2
apache-tomcat-6.0.18.tar.gz
Испытывается сервлет HelloWorld из прилагаемых примеров :
D:\temp>ab -v 0 -n 1000 -c 10 http://192.168.0.4:8080/examples/servlets/servlet/
HelloWorldExample
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.0.4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache-Coyote/1.1
Server Hostname: 192.168.0.4
Server Port: 8080
Document Path: /examples/servlets/servlet/HelloWorldExample
Document Length: 359 bytes
Concurrency Level: 10
Time taken for tests: 2.500 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 507000 bytes
HTML transferred: 359000 bytes
Requests per second: 400.00 [#/sec] (mean)
Time per request: 25.000 [ms] (mean)
Time per request: 2.500 [ms] (mean, across all concurrent requests)
Transfer rate: 198.05 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 3.1 0 16
Processing: 0 24 16.0 16 125
Waiting: 0 23 15.8 16 125
Total: 0 24 16.2 16 125
Percentage of the requests served within a certain time (ms)
50% 16
66% 31
75% 31
80% 31
90% 31
95% 47
98% 78
99% 109
100% 125 (longest request)
--------------------------------------------------------------------------------------------------------
Сервлет - живой и легко прошел повторный аналогичный тест ...
Думайте и решайте сами ...
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Скорее всего где-то есть ошибка, либо что-то не учли в момент разработки. Более детальный разбор поможет вам в этом.
