|
|
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
1. Рантаймы(msvc*80.dll) у снапшотов и релиза разных версий. Причём в релизе лежит рантайм от 2005 года. Релиз: 8.0.50727.42, 22.09.2005 Снапшоты: 8.0.50727.6196, 14.05.2011 И манифесты разные, естественно. И в бинарниках FB прописана разная версия в релизе и снапшотах. Получается что тестируется и отлаживается всё с одним рантаймом, а пользователям релизится с другим. 2. Как юзеру задеплоить несколько UDR с разными рантаймами? Например кто-нибудь напишет UDR, использующую 10-й рантайм. Другой напишет UDR с рантаймом 8.0.50727.6196, третий с 8.0.50727.42. Пользователь в одну папку всё это физически не положит, нужно будет по разным раскладывать. Где можно указать, что udr с именем udr1.dll нужно искать в папке "$(dir_plugins)\udr\udr1\", а udr2.dll нужно искать в папке "$(dir_plugins)\udr\udr2\"? 3. Как уживаются несколько рантаймов в одном процессе? Если например из UDR или плагина подгрузить fbembed.dll от 2.5. или от 1.5, или от firebird.dll от другой тройки (т.е. из другого пути, возможно с другими версиями icu*.dll, с другими плагинами (которые тоже неизвестно чего грузят)), то там никому не поплохеет, чисто теоретически? Этот вопрос относится и к рантаймам и вообще к возможности работы нескольких FB разных версий в одном процессе. 3.1. Например прога с fbembed.dll у меня создаёт файлики: C:\Users\All Users\firebird\fb_trace C:\Users\All Users\firebird\fb_trace_mqpkf1 C:\Users\All Users\firebird\fb_lock_fcb7693a00000400a2640400 Первый файлик архистранный. После остановки проги я почистил C:\Users\All Users\firebird\ и запустил заново, там появились файлики: fb_trace.1 fb_trace_h2abg1 fb_lock_fcb7693a00000400a2640400 Не останавливая прогу я запустил ещё одну, из другой папки, добавился только файл: fb_lock_fcb7693a000002000aa60900 Два других остались такими же (т.е. не перезаписались). Т.е. один exe-шник создаёт себе fb_trace.1, а другой уже нет. 3.1.1. Дальше с файликами fb_lock_*. Что там за инфа? И как её будут делить разные fbembed.dll от разных серверов в рамках одного процесса? Я бы предпочёл чтобы разные dll-инстансы разных версий FB (и вообще FB из разных папок), работающие в одном процессе, использовали разные временные файлы. Например можно добавлять к имени лок-файла или fb_trace-файла вот это: "hash(upper(full_dll_path))", ну и PID конечно к fb_trace нужен. Тогда коллизий на файлах не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 20:55 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
NickDee1. Рантаймы(msvc*80.dll) у снапшотов и релиза разных версий. 1. поздравляю с открытием америки! 2. в тройке это не так Получается что тестируется и отлаживается всё с одним рантаймом, а пользователям релизится с другим. ты не в состоянии решить эту высосанную из пальца проблему? 2. Как юзеру задеплоить несколько UDR с разными рантаймами? нормально ставить рантаймы (redist-ом) 3. Как уживаются несколько рантаймов в одном процессе? замечательно Дальше с файликами fb_lock_*. Что там за инфа? И как её будут делить разные fbembed.dll от разных серверов в рамках одного процесса? нормально будут делить. Если, конечно, ты не собираешься работать с одной базой разными версиями fbembed одновременно. Я бы предпочёл чтобы разные dll-инстансы разных версий FB (и вообще FB из разных папок), работающие в одном процессе, использовали разные временные файлы. Например можно добавлять к имени лок-файла или fb_trace-файла вот это: "hash(upper(full_dll_path))", ну и PID конечно к fb_trace нужен. Тогда коллизий на файлах не будет. ты вообще не понимаешь, что это за файлы и почему это сделано именно так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 21:59 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
dimitrнормально ставить рантаймы (redist-ом)Есть ньюанс - эти рантаймы обновляются с каждым фиксом. А иногда и ещё и исправлениями по безопасности. Можно, конечно, и доставлять новые билды по мере надобности, но "как-то это неаккуратненько". У меня складывается впечатление, что в пределах версии старший билд рантайма может замещать младшие. Это всегда так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 22:09 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
1. В чём проблема ? 2. а) устанавливать рантаймы их родными инсталляторами в SxS и винда сама разберётся кто кого хочет б) устанавливать udr\udf с нестандартным рантаймом в отдельный каталог, регистрировать в БД соотв. образом и\или настраивать firebird.conf 3. Нормально уживаются. 3.1 После штатной остановки embedded\полного сервера никаких файлов там не остаётся. После нештатной остановки что-то может и остаться, удалять это при запущенном сервере\embedded крайне не рекомендую. fbtrace.1 в твоём случае говорит о том, что ты сломал себе трейс. Он починится после завершения сервера и всех embedded. 3.1.1 Там лок-таблица. Её абсолютно нормально делят все заинтересованные процессы. Предпочти не делать глупых предложений, не основанных на знании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 23:00 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЕсть ньюанс - эти рантаймы обновляются с каждым фиксом. А иногда и ещё и исправлениями по безопасности.Они не замещают предыдущие версии рантаймов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 23:02 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
NickDeeЕсли например из UDR или плагина подгрузить fbembed.dll от 2.5. или от 1.5, или от firebird.dll от другой тройки (т.е. из другого пути, возможно с другими версиями icu*.dll, с другими плагинами (которые тоже неизвестно чего грузят)), то там никому не поплохеет, чисто теоретически? Если главный процесс установит переменную FIREIBIRD, потом загрузит embedded, который в udr будет грузить embedded других версий, то конечно получится фигня. Глобальные переменные - зло :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2014, 00:36 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
NickDee, Зло - это впадение в маразм такого рода: "embedded, который в udr будет грузить embedded других версий" Тебе заняться ночером нечем, кроме махания ерундой на форуме ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2014, 01:04 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
NickDeeпотом загрузит embedded, который в udr будет грузить embedded других версий который в udr будет грузить embedded других версий, и в конце-концов сойдет с ума. Похоже, опыт других людей с коннектом в UDF ничему не учит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2014, 01:28 |
|
||
|
рантаймы, коллизии
|
|||
|---|---|---|---|
|
#18+
hvladЗло - это впадение в маразм такого рода: "embedded, который в udr будет грузить embedded других версий" Правильным было бы, в качестве альтернативы глобальным переменным, сделать процедурку в клиентской либе, которая бы устанавливала всё что приходится устанавливать глобальными переменными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2014, 06:43 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=89&tid=1563339]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 353ms |

| 0 / 0 |
