Ошибка (cannot start thread)
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Ошибка (cannot start thread)
Произвожу множественный запрос к базам данных (один и тот же запрос во всех базах данных, которые нашлись в папке).
Примерно после 134 базы данных (более 4400 баз в папках) происходит ошибка Internal Firebird Consistency Check (cannon start thread).
Упростил свою программу до одной функции, использую ее в консольном приложении, проблема все еще проявляется.
Суть программы:
Получаю список файлов.
Перебираю файлы по порядку в списке.
Для каждого файла создаю строку подключения.
Открываю коннект.
Формирую команду.
Произвожу выполнение команды в датаридер.
Перебираю записи в датаридер.
Закрываю ридер.
Закрываю коннект.
Перехожу к следующему файлу.
ну чтобы не быть голословным, приложу несколько картинок: собственно сама ошибка, диспетчер задач, и фрагмент исходного кода.
Как я ранее написал, примерно после 134 обработки файла, выдается вышесказанная ошибка при попытке открыть подключение к файлу.
Использую провайдер под Firebird .net http://sourceforge.net/projects/firebir ... z/download
Использую под VS2008 Express.
Где может вкрасться проблема?
UPD Обновил пост. Может у кого появятся идеи? Пробовал вставлять dispose и sleep после закрытия подключения - проблема все равно осталась...
Примерно после 134 базы данных (более 4400 баз в папках) происходит ошибка Internal Firebird Consistency Check (cannon start thread).
Упростил свою программу до одной функции, использую ее в консольном приложении, проблема все еще проявляется.
Суть программы:
Получаю список файлов.
Перебираю файлы по порядку в списке.
Для каждого файла создаю строку подключения.
Открываю коннект.
Формирую команду.
Произвожу выполнение команды в датаридер.
Перебираю записи в датаридер.
Закрываю ридер.
Закрываю коннект.
Перехожу к следующему файлу.
ну чтобы не быть голословным, приложу несколько картинок: собственно сама ошибка, диспетчер задач, и фрагмент исходного кода.
Как я ранее написал, примерно после 134 обработки файла, выдается вышесказанная ошибка при попытке открыть подключение к файлу.
Использую провайдер под Firebird .net http://sourceforge.net/projects/firebir ... z/download
Использую под VS2008 Express.
Где может вкрасться проблема?
UPD Обновил пост. Может у кого появятся идеи? Пробовал вставлять dispose и sleep после закрытия подключения - проблема все равно осталась...
Последний раз редактировалось pincher1519 25 окт 2012, 11:28, всего редактировалось 1 раз.
Re: Ошибка (cannot start thread)
.net на самом деле не закрывает коннекты, а помещает их в пул.
Сервер обжирается памятью выше 2GB и всё на этом заканчивается.
Сервер обжирается памятью выше 2GB и всё на этом заканчивается.
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Обновил пост. Подключение происходит не к серверу, а напрямую к базе, минуя сервер. из картинок видно, что приложение в памяти не распухло во время работы и количество потоков вполне приемлемое. Проблема в чем-то другом...hvlad писал(а):.net на самом деле не закрывает коннекты, а помещает их в пул.
Сервер обжирается памятью выше 2GB и всё на этом заканчивается.
Re: Ошибка (cannot start thread)
"минуя сервер" к базе никто не подключается, это вы ерунду говорите. Кроме того, у вас там ниже в диспетчере задач есть fbguard, а значит есть и fbserver.exe или fb_inet_server.exe. Также, "распухание" или нет вашего приложения ни о чем не говорит. Смотрите на exe процессов Firebird, в т.ч. и в таблицы mon$.
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Я ерунду не говорю, сервер фаерберда свой, и он чисто физически не может работать с базами, работает только с шифрованными/криптованными файлами. Запущен он для других нужд, и находится ли он в памяти или нет - никакой разницы на указанную проблему не оказывает.kdv писал(а):"минуя сервер" к базе никто не подключается, это вы ерунду говорите. Кроме того, у вас там ниже в диспетчере задач есть fbguard, а значит есть и fbserver.exe или fb_inet_server.exe. Также, "распухание" или нет вашего приложения ни о чем не говорит. Смотрите на exe процессов Firebird, в т.ч. и в таблицы mon$.
Для подключения к базе - используется в качестве имени путь к имени файла, вида: <Drive>:\<Path>\<FileName>
Для подключения к базе через фаерберд сервер используется строка в качестве имени файла: <ServerName>:<Drive>:\<Path>\<FileName>
Почитайте документацию о работе с фаербердсервером. Да и по исходному моему коду видно, что сервер я нигде не заполняю в строке подключения.
Re: Ошибка (cannot start thread)
давайте начнем с того, что ваше приложение не может работать с базой ФБ без сервера ФБ (или без embedded, что также является сервером).сервер фаерберда свой, и он чисто физически не может работать с базами, работает только с шифрованными/криптованными файлами.
Далее, если вы сами модифицировали код ФБ, для работы с "шифрованными-криптованными" файлами, значит, вы сами отвечаете за этот код, и ошибки в нем никто кроме вас исправлять не будет.
вы мне советуете документацию читать? Наоборот, я вам посоветую почитать документацию и сайт ibase.ru.Почитайте документацию о работе с фаербердсервером
Ок, вы подсоединяетесь "локально", без имени сервера, но все равно сервер так и работает. Если у вас embedded, то это тоже сервер, но в DLL.
В общем, советую немного повысить уровень знаний, а затем возвращайтесь. В противном случае, если будете тут буянить - забаню.
Re: Ошибка (cannot start thread)
поговорил сегодня с автором драйвера .Net, он подтвердил вероятность сценария, описанного hvlad. Сказал, что возможно, некорректно (или не полностью) закрываются коннекты (нужно вызывать Dispose для коннекта, тогда будет ок).
И, если используется embedded, то проблема тоже в возможно большом количестве незакрытых коннектов.
Также я не вижу, какая версия Firebird используется (сервер или embedded), и какая версия драйвера .net (сегодня аннонсирована версия 3.0).
И, если используется embedded, то проблема тоже в возможно большом количестве незакрытых коннектов.
Также я не вижу, какая версия Firebird используется (сервер или embedded), и какая версия драйвера .net (сегодня аннонсирована версия 3.0).
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Ну вообще я же использую using(), соответственно в конце блока автоматически вызывается метод object.Dispose(). Но, все же проверил, сделал dispose() всех объектов в конце каждого блока using() руками, также reader поместил в блок using() и вызвал в конце тоже руками dispose(). Проблема так же и осталась.kdv писал(а):поговорил сегодня с автором драйвера .Net, он подтвердил вероятность сценария, описанного hvlad. Сказал, что возможно, некорректно (или не полностью) закрываются коннекты (нужно вызывать Dispose для коннекта, тогда будет ок).
И, если используется embedded, то проблема тоже в возможно большом количестве незакрытых коннектов.
В эксепшене вываливаюсь с callstack:
Код: Выделить всё
FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
FirebirdSql.Data.FirebirdClient.ConnectionPool.Create()
FirebirdSql.Data.FirebirdClient.CheckOut()
FirebirdSql.Data.FirebirdClient.FbConnection.Open()
версия у меня была 2.7.7 для .net 3.5, как я писал в первом посте, брал отсюда: http://sourceforge.net/projects/firebir ... z/downloadkdv писал(а):Также я не вижу, какая версия Firebird используется (сервер или embedded), и какая версия драйвера .net (сегодня аннонсирована версия 3.0).
Проверю 3.0, может там это не проявляется... Взял отсюда: http://sourceforge.net/projects/firebir ... z/download
Последний раз редактировалось pincher1519 29 окт 2012, 11:55, всего редактировалось 1 раз.
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Сервер никакой дополнительно не используется. Если и есть виртуальный сервер, то он в том файле провайдера, который я использую. Никаких дополнительных ДЛЛ программа не использует, ни каких GDS32.dll, ни fbembed, ни fbclient. Вполне вероятно, что, как вы говорите, в драйвере provider'а уже внутри содержится сервер, в такие тонкости я для использования его не залезал.kdv писал(а):давайте начнем с того, что ваше приложение не может работать с базой ФБ без сервера ФБ (или без embedded, что также является сервером).сервер фаерберда свой, и он чисто физически не может работать с базами, работает только с шифрованными/криптованными файлами.
Далее, если вы сами модифицировали код ФБ, для работы с "шифрованными-криптованными" файлами, значит, вы сами отвечаете за этот код, и ошибки в нем никто кроме вас исправлять не будет.
Да, почитаю ibase.ru, может что умного для себя открою. Спасибо.kdv писал(а):вы мне советуете документацию читать? Наоборот, я вам посоветую почитать документацию и сайт ibase.ru.Почитайте документацию о работе с фаербердсервером
Ну вот, сразу угрозы =) я ж сюда за советом пришел, а не буянить. То, что вы у меня увидели фаерберд гуард в процессах, и запущенный сервер, это еще не значит что они у меня используются. Могу в принципе провести трассировку приложения, и поглядеть к каким файлам она обращается за один цикл работы, а также посмотреть какие модули приложения были загружены в память - но уверяю, там ничего такого нет. Проблема где-то кроется в провайдере, который я использую... Ладно, поглядим что версия 3.0 принесла...kdv писал(а):Ок, вы подсоединяетесь "локально", без имени сервера, но все равно сервер так и работает. Если у вас embedded, то это тоже сервер, но в DLL.
В общем, советую немного повысить уровень знаний, а затем возвращайтесь. В противном случае, если будете тут буянить - забаню.
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
В общем 3.0 также дурит.
Немного упростил код программы, оставив только открытие и закрытие коннекта, ну и проверил со sleep. Дал время закрытие коннектов системе, вдруг где-то там тормоза... в итоге ничего не изменилось.
также решил все же выложить информацию о загруженных модулях во время работы программы, может вас это на что-то натолкнет? мне данная информация кажется обыденной и ничего особенного я в ней не вижу:
-------------------------------------------------------------------
видим, что загружается только нам интересный:
6D340000 B0000 ############################\ConsoleApplication1\ConsoleApplication1\bin\Debug\FirebirdSql.Data.FirebirdClient.dll 3.0.0.0 FirebirdClient - ADO.NET Data Provider
более ничего другого не используется от фаерберда, на сколько я могу видеть.
UPD
Поставил себе сервер firebird как службу, пропустил подключение к базам через него, проблема также осталась.
Firebird SQL Server, версия файла: WI-T2.1.0.17755.
Немного упростил код программы, оставив только открытие и закрытие коннекта, ну и проверил со sleep. Дал время закрытие коннектов системе, вдруг где-то там тормоза... в итоге ничего не изменилось.
также решил все же выложить информацию о загруженных модулях во время работы программы, может вас это на что-то натолкнет? мне данная информация кажется обыденной и ничего особенного я в ней не вижу:
-------------------------------------------------------------------
Код: Выделить всё
Модуль: ConsoleApplication1.vshost.exe
Полный путь: ################################################\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe
Версия файла: 9.0.30729.1
Описание: vshost.exe
PID: 2356
Parent PID: 3188 (vcsexpress.exe)
Приоритет: 8
Нитей: 16
Запущен: 10:27:53
Выполняется: 00:00:33
Командная строка:
"############################\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe"
Текущий каталог: ############################\ConsoleApplication1\ConsoleApplication1\bin\Debug\
Переменные окружения:
=::=::\
=C:=################\Microsoft Visual Studio 9.0\Common7\IDE
=D:=############################\ConsoleApplication1
ALLUSERSPROFILE=##############
APPDATA=######################\Roaming
CommonProgramFiles=################\Common Files
COMPUTERNAME=#####
ComSpec=##########\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=##
HOMEPATH=\
HOMESHARE=###################
LOCALAPPDATA=##############\AppData\Local
LOGONSERVER=#######
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=##########\system32;##########;##########\System32\Wbem;##########\System32\WindowsPowerShell\v1.0\;################\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;################\Microsoft SQL Server\100\Tools\Binn\;################\Microsoft SQL Server\100\DTS\Binn\;################\Microsoft SQL Server\90\Tools\binn\;################\Microsoft SQL Server\80\Tools\Binn\#################\MySQL\MySQL Server 5.5\bin; ################\PHP-5.3.6; ################\PHP-5.3.6\ext;#######\bin;################\TortoiseSVN\bin;################\MySQL\Connector ODBC 5.1;################\Microsoft SQL Server\110\Tools\Binn\;######;#######;################\7-Zip;################\Microsoft Visual Studio 9.0\VC\bin; ################\Microsoft Visual Studio 9.0\Common7\IDE;################\Windows Installer XML v3.6\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=##############
ProgramFiles=################
PSModulePath=##########\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=###############
SESSIONNAME=Console
SystemDrive=##
SystemRoot=##########
TEMP=##\Temp
TMP=##\Temp
USERDNSDOMAIN=#########
USERDOMAIN=########
USERNAME=#######
USERPROFILE=##############
VisualStudioDir=##############\Documents\Visual Studio 2008
VS110COMNTOOLS=################\Microsoft Visual Studio 11.0\Common7\Tools\
WecVersionForRosebud.C74=2
windir=##########
WIX=#################Windows Installer XML v3.6\
Объектов GDI: 18
Объектов USER: 17
Процессорное время: 00:00:02.964 0%
Привилегированное время: 00:00:01.341 0%
Пользовательское время: 00:00:01.622 0%
Хэндлов: 569
Байт в страничном файле: 33550336
Байт в стр. файле, пик: 33583104
Рабочее множество: 36106240
Рабочее множество, пик: 36126720
Байт в невыгруж. пуле: 81892
Байт в выгружаемом пуле: 307844
Private Bytes: 33550336
Ошибок страницы: 9347 0/сек
Вирт. память, байт: 195776512
Вирт. память, пик: 197947392
IO - всего байт: 236394 0/сек
Прочитано байт: 236394 0/сек
Записано байт: 0 0/сек
Байт при проч. опер.: 6041750 0/сек
IO - всего операций: 4525 0/сек
Число операций чтения: 4525 0/сек
Число операций записи: 0 0/сек
Число прочих операций: 73833 0/сек
Окно: file:///############################/ConsoleApplication1/ConsoleApplication1/bin/Debug/ConsoleApplication1.EXE
HWND: 00741446
Стиль окна: 14EF0000 WS_VISIBLE WS_CLIPSIBLINGS WS_BORDER WS_DLGFRAME WS_VSCROLL WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX
Расшир. стиль: 00040310 WS_EX_CONTROLPARENT WS_EX_STATICEDGE WS_EX_APPWINDOW WS_EX_LAYERED WS_EX_LAYOUTRTL
Модули:
База Размер Путь, версия, описание
01000000 8000 ############################\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe 9.0.30729.1 vshost.exe
77B40000 13C000 ##########\SYSTEM32\ntdll.dll 6.1.7600.16385 (win7_rtm.090713-1255) Системная библиотека NT
71650000 4A000 ##########\SYSTEM32\MSCOREE.DLL 4.0.40305.0 (Main.040305-0000) Microsoft .NET Runtime Execution Engine
779B0000 D4000 ##########\system32\KERNEL32.dll 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека клиента Windows NT BASE API
75E20000 4A000 ##########\system32\KERNELBASE.dll 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека клиента Windows NT BASE API
774F0000 A0000 ##########\system32\ADVAPI32.dll 6.1.7600.16385 (win7_rtm.090713-1255) Расширенная библиотека API Windows 32
766E0000 AC000 ##########\system32\msvcrt.dll 7.0.7600.16385 (win7_rtm.090713-1255) Windows NT CRT DLL
77C80000 19000 ##########\SYSTEM32\sechost.dll 6.1.7600.16385 (win7_rtm.090713-1255) Host for SCM/SDDL/LSA Lookup APIs
77A90000 A1000 ##########\system32\RPCRT4.dll 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека удаленного вызова процедур
71550000 7A000 ##########\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll 4.0.30319.17929 built by: FX45RTMREL Microsoft .NET Runtime Execution Engine
765B0000 57000 ##########\system32\SHLWAPI.dll 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека небольших программ оболочки
77CC0000 4E000 ##########\system32\GDI32.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) GDI Client DLL
76610000 C9000 ##########\system32\USER32.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Многопользовательская библиотека клиента USER API Windows
77CA0000 A000 ##########\system32\LPK.dll 6.1.7600.16385 (win7_rtm.090713-1255) Language Pack
77810000 9D000 ##########\system32\USP10.dll 1.0626.7601.17514 (win7sp1_rtm.101119-1850) Uniscribe Unicode script processor
763A0000 1F000 ##########\system32\IMM32.DLL 6.1.7601.17514 (win7sp1_rtm.101119-1850) Multi-User Windows IMM32 API Client DLL
773E0000 CC000 ##########\system32\MSCTF.dll 6.1.7600.16385 (win7_rtm.090713-1255) Серверная библиотека MSCTF
66CD0000 5AB000 ##########\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 2.0.50727.5420 (Win7SP1.050727-5400) Microsoft .NET Runtime Common Language Runtime - WorkStation
732C0000 9B000 ##########\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.dll 8.00.50727.6195 MicrosoftR C Runtime Library
76790000 C4A000 ##########\system32\shell32.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Общая библиотека оболочки Windows
763C0000 15C000 ##########\system32\ole32.dll 6.1.7600.16385 (win7_rtm.090713-1255) Microsoft OLE для Windows
75C90000 B000 ##########\system32\profapi.dll 6.1.7600.16385 (win7_rtm.090713-1255) User Profile Basic API
65AA0000 AF8000 ##########\assembly\NativeImages_v2.0.50727_32\mscorlib\62a0b3e4b40ec0e8c5cfaa0c8848e64a\mscorlib.ni.dll 2.0.50727.5420 (Win7SP1.050727-5400) Microsoft Common Language Runtime Class Library
64020000 13000 ##########\Microsoft.NET\Framework\v2.0.50727\mscorsec.dll 2.0.50727.4927 (NetFXspW7.050727-4900) Microsoft .NET Security module
75DA0000 2D000 ##########\system32\WINTRUST.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Microsoft Trust Verification APIs
75E70000 11D000 ##########\system32\CRYPT32.dll 6.1.7600.16385 (win7_rtm.090713-1255) API32 криптографии
75D00000 C000 ##########\system32\MSASN1.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) ASN.1 Runtime APIs
73360000 84000 ##########\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\COMCTL32.dll 6.10 (win7_rtm.090713-1255) Библиотека элементов управления взаимодействия с пользователем
75710000 16000 ##########\system32\CRYPTSP.dll 6.1.7600.16385 (win7_rtm.090713-1255) Cryptographic Service Provider API
754B0000 3B000 ##########\system32\rsaenh.dll 6.1.7600.16385 (win7_rtm.090713-1255) Microsoft Enhanced Cryptographic Provider
75C10000 C000 ##########\system32\CRYPTBASE.dll 6.1.7600.16385 (win7_rtm.090713-1255) Base cryptographic API DLL
76370000 2A000 ##########\system32\imagehlp.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Windows NT Image Helper
75840000 38000 ##########\system32\ncrypt.dll 6.1.7600.16385 (win7_rtm.090713-1255) Криптографическая библиотека (Windows)
75820000 17000 ##########\system32\bcrypt.dll 6.1.7600.16385 (win7_rtm.090713-1255) Windows Cryptographic Primitives Library
753F0000 3D000 ##########\system32\bcryptprimitives.dll 6.1.7600.16385 (win7_rtm.090713-1255) Windows Cryptographic Primitives Library
752E0000 17000 ##########\system32\USERENV.dll 6.1.7600.16385 (win7_rtm.090713-1255) Userenv
752C0000 16000 ##########\system32\GPAPI.dll 6.1.7600.16385 (win7_rtm.090713-1255) Клиентские функции API групповой политики
70E10000 1C000 ##########\system32\cryptnet.dll 6.1.7600.16385 (win7_rtm.090713-1255) Crypto Network Related API
77D20000 45000 ##########\system32\WLDAP32.dll 6.1.7600.16385 (win7_rtm.090713-1255) Win32 LDAP API DLL
6C440000 6000 ##########\system32\SensApi.dll 6.1.7600.16385 (win7_rtm.090713-1255) SENS Connectivity API DLL
73140000 58000 ##########\system32\WINHTTP.dll 6.1.7600.16385 (win7_rtm.090713-1255) Службы HTTP Windows
730F0000 4F000 ##########\system32\webio.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) API протоколов передачи по Веб
774B0000 35000 ##########\system32\WS2_32.dll 6.1.7600.16385 (win7_rtm.090713-1255) 32-разрядная библиотека Windows Socket 2.0
77CB0000 6000 ##########\system32\NSI.dll 6.1.7600.16385 (win7_rtm.090713-1255) NSI User-mode interface DLL
75B70000 1B000 ##########\system32\SspiCli.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Security Support Provider Interface
753B0000 8000 ##########\system32\credssp.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Credential Delegation Security Package
756D0000 3C000 ##########\system32\mswsock.dll 6.1.7600.16385 (win7_rtm.090713-1255) Расширение поставщика службы API Microsoft Windows Sockets 2.0
62230000 6000 ##########\System32\wshqos.dll 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека DLL помощника службы QoS Winsock2
75210000 5000 ##########\system32\wshtcpip.DLL 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека DLL помощника службы Winsock2 (TL/IPv4)
756C0000 6000 ##########\system32\wship6.dll 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека DLL помощника Winsock2 (TL/IPv6)
73950000 1C000 ##########\system32\IPHLPAPI.DLL 6.1.7600.16385 (win7_rtm.090713-1255) IP Helper API
73940000 7000 ##########\system32\WINNSI.DLL 6.1.7600.16385 (win7_rtm.090713-1255) Network Store Information RPC interface
73810000 D000 ##########\system32\dhcpcsvc6.DLL 6.1.7600.16385 (win7_rtm.090713-1255) Клиент DHCPv6
737F0000 12000 ##########\system32\dhcpcsvc.DLL 6.1.7600.16385 (win7_rtm.090713-1255) Служба DHCP-клиента
75DD0000 27000 ##########\system32\CFGMGR32.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Configuration Manager DLL
75590000 44000 ##########\system32\DNSAPI.dll 6.1.7600.16385 (win7_rtm.090713-1255) Динамическая библиотека API DNS-клиента
73550000 6000 ##########\system32\rasadhlp.dll 6.1.7600.16385 (win7_rtm.090713-1255) Remote Access AutoDial Helper
70DD0000 10000 ##########\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll 9.0.30729.1 Microsoft.VisualStudio.HostingProcess.Utilities.dll
6C4D0000 5B000 ##########\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll 2.0.50727.5420 (Win7SP1.050727-5400) Microsoft .NET Runtime Just-In-Time Compiler
76130000 83000 ##########\system32\CLBCatQ.DLL 2001.12.8530.16385 (win7_rtm.090713-1255) COM+ Configuration Catalog
76520000 8F000 ##########\system32\OLEAUT32.dll 6.1.7601.17567
75C80000 E000 ##########\system32\RpcRtRemote.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Remote RPC Extension
634A0000 79C000 ##########\assembly\NativeImages_v2.0.50727_32\System\9e0a3b9b9f457233a335d7fba8f95419\System.ni.dll 2.0.50727.5420 (Win7SP1.050727-5400) .NET Framework
668C0000 188000 ##########\assembly\NativeImages_v2.0.50727_32\System.Drawing\dbfe8642a8ed7b2b103ad28e0c96418a\System.Drawing.ni.dll 2.0.50727.5420 (Win7SP1.050727-5400) .NET Framework
628C0000 BDE000 ##########\assembly\NativeImages_v2.0.50727_32\System.Windows.Forms\3afcd5168c7a6cb02eab99d7fd71e102\System.Windows.Forms.ni.dll 2.0.50727.5420 (Win7SP1.050727-5400) .NET Framework
70DE0000 A000 ##########\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll 9.0.30729.1 Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll
75180000 9000 ##########\system32\VERSION.dll 6.1.7600.16385 (win7_rtm.090713-1255) Version Checking and File Installation Libraries
70DB0000 8000 ##########\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll 9.0.21022.8 Microsoft.VisualStudio.Debugger.Runtime.dll
70DC0000 8000 ################\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\x86\Microsoft.VisualStudio.Debugger.Runtime.Impl.dll 9.0.21022.8 built by: RTM Managed Debugger In-process Helper DLL
72D30000 A3000 ##########\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\MSVCR90.dll 9.00.30729.6161 MicrosoftR C Runtime Library
6FF80000 64000 ##########\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_ru_b77a5c561934e089\mscorlib.resources.dll 2.0.50727.4927 (NetFXspW7.050727-4900) Библиотека классов среды выполнения Microsoft Common Language Runtime
75C20000 5F000 ##########\system32\SXS.DLL 6.1.7600.16385 (win7_rtm.090713-1255) Fusion 2.5
76360000 5000 ##########\system32\psapi.dll 6.1.7600.16385 (win7_rtm.090713-1255) Process Status Helper
682D0000 235000 ##########\assembly\NativeImages_v2.0.50727_32\System.Core\fbc05b5b05dc6366b02b8e2f77d080f1\System.Core.ni.dll 3.5.30729.5420 built by: Win7SP1 .NET Framework
6F040000 66000 ##########\assembly\NativeImages_v2.0.50727_32\System.Xml.Linq\70aac9dff3bdde548962557151c1ff49\System.Xml.Linq.ni.dll 3.5.30729.5420 built by: Win7SP1 .NET Framework
6F1A0000 25000 ##########\assembly\NativeImages_v2.0.50727_32\System.Data.DataSet#\63153843b0717b40be6a061c3efb96b5\System.Data.DataSetExtensions.ni.dll 3.5.30729.5420 built by: Win7SP1 .NET Framework
5F740000 659000 ##########\assembly\NativeImages_v2.0.50727_32\System.Data\1affaec700297e878ddf64f0930d4799\System.Data.ni.dll 2.0.50727.5459 (Win7SP1GDR.050727-5400) .NET Framework
64E70000 2D8000 ##########\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll 2.0.50727.5459 (Win7SP1GDR.050727-5400) .NET Framework
62380000 536000 ##########\assembly\NativeImages_v2.0.50727_32\System.Xml\461d3b6b3f43e6fbe6c897d5936e17e4\System.Xml.ni.dll 2.0.50727.5420 (Win7SP1.050727-5400) .NET Framework
74BA0000 40000 ##########\system32\uxtheme.dll 6.1.7600.16385 (win7_rtm.090713-1255) Библиотека тем UxTheme (Microsoft)
10000000 12000 ################\RocketDock\RocketDock.dll
6C540000 D000 ########\RBTray\RBHook.dll
748F0000 13000 ##########\system32\dwmapi.dll 6.1.7600.16385 (win7_rtm.090713-1255) Интерфейс API диспетчера окон рабочего стола (Майкрософт)
6D340000 B0000 ############################\ConsoleApplication1\ConsoleApplication1\bin\Debug\FirebirdSql.Data.FirebirdClient.dll 3.0.0.0 FirebirdClient - ADO.NET Data Provider
6DDF0000 9C000 ##########\assembly\NativeImages_v2.0.50727_32\System.Transactions\ad18f93fc713db2c4b29b25116c13bd8\System.Transactions.ni.dll 2.0.50727.4927 (NetFXspW7.050727-4900) .NET Framework
67AA0000 43000 ##########\assembly\GAC_32\System.Transactions\2.0.0.0__b77a5c561934e089\System.Transactions.dll 2.0.50727.4927 (NetFXspW7.050727-4900) .NET Framework
667C0000 F1000 ##########\assembly\NativeImages_v2.0.50727_32\System.Configuration\bc09ad2d49d8535371845cd7532f9271\System.Configuration.ni.dll 2.0.50727.5420 (Win7SP1.050727-5400) System.Configuration.dll
73830000 38000 ##########\System32\fwpuclnt.dll 6.1.7600.16385 (win7_rtm.090713-1255) API пользовательского режима FWP/IPsec
74160000 10000 ##########\system32\NLAapi.dll 6.1.7601.17514 (win7sp1_rtm.101119-1850) Network Location Awareness 2
72FF0000 10000 ##########\system32\napinsp.dll 6.1.7600.16385 (win7_rtm.090713-1255) Поставщик оболочки совместимости для имен электронной почты
72FB0000 12000 ##########\system32\pnrpnsp.dll 6.1.7600.16385 (win7_rtm.090713-1255) Поставщик пространства имен PNRP
73000000 8000 ##########\System32\winrnr.dll 6.1.7600.16385 (win7_rtm.090713-1255) LDAP RnR Provider DLL
59B20000 B4D000 ##########\assembly\NativeImages_v2.0.50727_32\System.Web\74729a1896076855e0f6e6d64eb31ad3\System.Web.ni.dll 2.0.50727.5459 (Win7SP1GDR.050727-5400) System.Web.dll
6B190000 9D000 ##########\assembly\NativeImages_v2.0.50727_32\System.EnterpriseSe#\887ef2648686aad19feff405eddbffd2\System.EnterpriseServices.ni.dll 2.0.50727.5420 (Win7SP1.050727-5400) Microsoft .NET Services Support Infrastructure
6D340000 B0000 ############################\ConsoleApplication1\ConsoleApplication1\bin\Debug\FirebirdSql.Data.FirebirdClient.dll 3.0.0.0 FirebirdClient - ADO.NET Data Provider
более ничего другого не используется от фаерберда, на сколько я могу видеть.
UPD
Поставил себе сервер firebird как службу, пропустил подключение к базам через него, проблема также осталась.
Firebird SQL Server, версия файла: WI-T2.1.0.17755.
Re: Ошибка (cannot start thread)
ад и израиль. вы если работаете с ФБ, могли бы хоть faq почитать? Как так можно, работать "непонятно с чем"? Да, .Net драйвер использует прямой протокол работы С СЕРВЕРОМ. И, никакая клиентская библиотека, без embedded, не может работать с файлом БД Firebird. Firebird - это клиент-сервер, это не файл сервер (типа dbf).Сервер никакой дополнительно не используется. Если и есть виртуальный сервер, то он в том файле провайдера, который я использую. Никаких дополнительных ДЛЛ программа не использует, ни каких GDS32.dll, ни fbembed, ни fbclient. Вполне вероятно, что, как вы говорите, в драйвере provider'а уже внутри содержится сервер, в такие тонкости я для использования его не залезал.
Никаких "вероятно" тут нет. Если ваше приложение работает с базой, то есть 2 варианта - либо она использует библиотеку Firebird embedded, либо вы работаете с сервером.
Ваша строка коннекта <Drive>:\<Path>\<FileName> подходит под оба случая, аминь.
Насчет картинки с кодом - я, конечно, могу автору драйвера .Net переслать картинку, но лучше если это будет кусок кода текстом, все же.
какой размер этого файла? если около 500кб то это ТОЛЬКО КЛИЕНТ, и сервер ФБ у вас все же запущен и работает с этой базой. Если более 500кб (под 3мб), то это embedded. В проводнике (explorer) посмотрите в свойствах файла версию этой dll, и сообщите.FirebirdClient.dll
"Версия продукта" должно быть не ниже 2.5.1.26279.
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Как-как... пока работало - не трогал. В мои основные задачи не входит написание программного кода. Пока работал с файлами не более чем с 1-2, проблем не возникало... как потребовалось пакетное внесение изменений данных базах данных - вот и натолкнулся на проблему.kdv писал(а):ад и израиль. вы если работаете с ФБ, могли бы хоть faq почитать? Как так можно, работать "непонятно с чем"?Сервер никакой дополнительно не используется. Если и есть виртуальный сервер, то он в том файле провайдера, который я использую. Никаких дополнительных ДЛЛ программа не использует, ни каких GDS32.dll, ни fbembed, ни fbclient. Вполне вероятно, что, как вы говорите, в драйвере provider'а уже внутри содержится сервер, в такие тонкости я для использования его не залезал.
Вы меня убедили. Запустил на чистой машине (на ней никогда не было установлено фаербердсервера) свою тестовую программулину, действительно, если в качестве сервера ничего не указывать - то она начинает ломиться к localhost...Да, .Net драйвер использует прямой протокол работы С СЕРВЕРОМ. И, никакая клиентская библиотека, без embedded, не может работать с файлом БД Firebird. Firebird - это клиент-сервер, это не файл сервер (типа dbf).
Никаких "вероятно" тут нет. Если ваше приложение работает с базой, то есть 2 варианта - либо она использует библиотеку Firebird embedded, либо вы работаете с сервером.
Ваша строка коннекта <Drive>:\<Path>\<FileName> подходит под оба случая, аминь.
я же ссылку прикладывал =)Насчет картинки с кодом - я, конечно, могу автору драйвера .Net переслать картинку, но лучше если это будет кусок кода текстом, все же.какой размер этого файла?FirebirdClient.dll
Дотнет проекты обычно маленькие, потому ориентироваться на размер их я побаиваюсь. Клиент 600к+ размер.если около 500кб то это ТОЛЬКО КЛИЕНТ, и сервер ФБ у вас все же запущен и работает с этой базой. Если более 500кб (под 3мб), то это embedded. В проводнике (explorer) посмотрите в свойствах файла версию этой dll, и сообщите.
проверял на 2.1, правда старом (сейчас на сайте видел, что появился от 2012 года релиз). Проверял на 2.5 - такая же проблема. Сейчас проверю на свежих 2.1 и 2.5 с официального сайта солью, если проблема повторится, приложу код который вы видите на картинке. Собственно там виден полностью код =) я просто открываю и закрываю коннекты - этого достаточно, чтобы проявилась проблема... На всякий случай уточню, ОС проверялись WinXP SP3 x86, Win7 SP 1 x86, Win7 SP 1 x64. На всех проблема проявляется."Версия продукта" должно быть не ниже 2.5.1.26279.
Re: Ошибка (cannot start thread)
Ты обработай 100 файлов (чтобы сервер наелся, но ещё не до упора), а потом, например в IBE, выполни 'Настройки сервера\протокол' из его меню 'Службы'
Он покажет кол-во коннектов и подключенных БД, как-то так
Он покажет кол-во коннектов и подключенных БД, как-то так
Database Info
---------------------------------------------------------------------------
Number of connections: 1
Number of databases: 1
Databases: ...
Re: Ошибка (cannot start thread)
Не сбивай егоkdv писал(а):какой размер этого файла?FirebirdClient.dll
FirebirdClient.dll - это .net provider и он сам себе клиент
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Аллилуя, на сервере с именем моей машины все они родимые висят... все 100 баз, хотя коннекты закрываются программно. При пошаговой проверке у FBConnection.State присваивается значение Closed после FBConnection.Close();hvlad писал(а):Ты обработай 100 файлов (чтобы сервер наелся, но ещё не до упора), а потом, например в IBE, выполни 'Настройки сервера\протокол' из его меню 'Службы'
Он покажет кол-во коннектов и подключенных БД, как-то так
Database Info
---------------------------------------------------------------------------
Number of connections: 1
Number of databases: 1
Databases: ...
Перенастраивать сервер фаерберда - это конечно не лучший вариант проблемы (я думаю, если там таймауты пообрезать, то может все и заработает)... Как бы сделать так, чтобы все же коннект рвался после Close()?
Re: Ошибка (cannot start thread)
Научиться в .net реально прибивать объекты, а не отдавать это на откуп пулу\сборщику мусора
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Ну на сколько я могу судить, управлениями подключениями к серверу должен заниматься провайдер, т.к. из своего кода я вызываю метод закрытия... Непонятно почему разработчик провайдера поместил обрубание коннектов с сервером в деструктор объекта.hvlad писал(а):Научиться в .net реально прибивать объекты, а не отдавать это на откуп пулу\сборщику мусора
Могу конечно попробовать вызывать руками мусоросборщик, хотя судя по форумам, люди не рекомендуют вмешиваться в этот процесс, но если очень хочется - никто не запрещает . Как вариант, можно попробовать еще подключаться к провайдеру динамически и после каждого закрытия коннекта производить выгрузку библиотеки из памяти и загрузки обратно - в этом случае я на 99% уверен, что мусоросборщик проведет свою черную работу.
-
- Сообщения: 15
- Зарегистрирован: 10 сен 2012, 11:51
Re: Ошибка (cannot start thread)
Все оказалось банальным. Надо было сразу скачать исходный код провайдера и поглядеть пошагово, что там происходит.
В общем все коннекты в провайдере держались в пулле, потому и коннекты не рубились. Для моих нужд я просто пулл коннектов отключил и все стало сказочно и работоспособно.
Спасибо, что уделили мне время =) хотя могли бы подсказать мне, что у меня в строке подключения параметр пула не используется, а у вас он включен по умолчанию.
В общем все коннекты в провайдере держались в пулле, потому и коннекты не рубились. Для моих нужд я просто пулл коннектов отключил и все стало сказочно и работоспособно.
Спасибо, что уделили мне время =) хотя могли бы подсказать мне, что у меня в строке подключения параметр пула не используется, а у вас он включен по умолчанию.
Re: Ошибка (cannot start thread)
Об этом говорилось в первом же ответеpincher1519 писал(а):В общем все коннекты в провайдере держались в пулле, потому и коннекты не рубились.
Я вообще не работаю с .net (как и многие другие отвечающие на этом форуме), так что у нас ничего не включено ни по умолчанию, ни как-либо ещёpincher1519 писал(а):могли бы подсказать мне, что у меня в строке подключения параметр пула не используется, а у вас он включен по умолчанию.
PS В слове "пул" одна буква "л"