From: Salvatore B. <s....@mc...> - 2007-01-29 20:22:14
|
hello all, I have posted this question in firebird-support some days ago but Helen suggested to take it here. So I try again: Using Firebird SS 2.0.0.12748 final. The server is automatically started as a service at Windows startup by means of the Guardian. Problem: The Firebird server is not always started when Windows starts. When it fails, I find this error in the log: ANNIBALE (Client) Tue Jan 16 10:18:31 2007 C:\Programmi\Firebird\Firebird_2_0\bin\fbserver.exe : The guardian was unable to launch the server thread. errno : 1055 But other times, without changing anything, it starts normally. Approximately, it fails to start 8 times out of 10. This is very annoying... Helen suggested to verify the dependencies of the server and so I did, using "Dependency Walker" against fbclient.dll. This is the result: Warning: At least one delay-load dependency module was not found. File C:\Programmi\Firebird\Firebird_2_0\bin\DWMAPI.DLL not found Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module. C:\WINDOWS\SYSTEM32\MPR.DLL is marked in red C:\WINDOWS\SYSTEM32\SHLWAPI.DLL is marked in red and with a hourglass, meaning it is a delay-load module Regarding the missing file, Helen said that it is a Windows Vista library, and this is very weird, since I'm using Windows XP Pro and I have never even tried a beta of Vista on this machine. So really weird, but another theoretical suggestion was that the Firebird Windows build was compiled with a wrong flag somehow. Any clue to resolve this problem? Thanks a lot. Salvatore |
From: Vlad H. <hv...@us...> - 2007-01-29 20:41:10
|
> I have posted this question in firebird-support some days ago but Helen > suggested to take it here. So I try again: > > Using Firebird SS 2.0.0.12748 final. The server is automatically started as > a service at Windows startup by means of the Guardian. > > Problem: > > The Firebird server is not always started when Windows starts. When it > fails, I find this error in the log: > > ANNIBALE (Client) Tue Jan 16 10:18:31 2007 > C:\Programmi\Firebird\Firebird_2_0\bin\fbserver.exe : > The guardian was unable to launch the server thread. errno : 1055 This is "The service database is locked." error. Perhaps some other service is started at the same time when guardian started main service. MSDN : --- The LockServiceDatabase function requests ownership of the service control manager database lock. Only one process can own the lock at any given time. ... A lock is a protocol used by setup and configuration programs and the service control manager to serialize access to the service tree in the registry. The only time the service control manager requests ownership of the lock is when it is starting a service. Acquiring the SCM database lock prevents the service control manager from starting a service until the lock is released --- > But other times, without changing anything, it starts normally. > Approximately, it fails to start 8 times out of 10. This is very annoying... Don't use guardian on NT based platforms. It is buggy and there are no reasons to user there Regards, Vlad |
From: Alex P. <pe...@in...> - 2007-01-30 07:26:32
|
Vlad Horsun: > Don't use guardian on NT based platforms. It is buggy and there are no > reasons to user there > Except NT4 itself. NT4 cannot restart failed service itself, therefore guardian is still useful on it. |
From: Nando D. <na...@de...> - 2007-01-30 08:12:13
|
Alex, Vlad, A> Vlad Horsun: >> Don't use guardian on NT based platforms. It is buggy and there are no >> reasons to user there >> A> Except NT4 itself. NT4 cannot restart failed service itself, therefore A> guardian is still useful on it. Couldn't fbguard react on ERROR_SERVICE_DATABASE_LOCKED after calling StartService, wait a bit and retry a small number of times? Something alike what it does with QueryServiceStatus to ensure it's finished starting. Ciao -- Nando Dessena |
From: Vlad H. <hv...@us...> - 2007-01-30 08:25:52
|
> Alex, Vlad, > > A> Vlad Horsun: > >> Don't use guardian on NT based platforms. It is buggy and there are no > >> reasons to user there > >> > > A> Except NT4 itself. NT4 cannot restart failed service itself, therefore > A> guardian is still useful on it. Salvatore asked about WinXP :) > Couldn't fbguard react on ERROR_SERVICE_DATABASE_LOCKED after calling > StartService, wait a bit and retry a small number of times? Of course. But it can't be done before next FB release (2.1). If you want to work _now_ and on normal OS - abandon guardian ASAP. Regards, Vlad |
From: Alex P. <pe...@in...> - 2007-01-30 08:45:28
|
Vlad Horsun: >> Alex, Vlad, >> >> A> Vlad Horsun: >>>> Don't use guardian on NT based platforms. It is buggy and there are no >>>> reasons to user there >>>> >> A> Except NT4 itself. NT4 cannot restart failed service itself, therefore >> A> guardian is still useful on it. > > Salvatore asked about WinXP :) > Settings for NT4/XP must be different in other aspects too. For example - on some XP setting XNET mutex name to be Global\Firebird is required for client to see service. But it doesn't work for NT4 at all, provided this is not a terminal server NT4. Therefore talking about NT based platform as a monolithic family becomes not completely OK. >> Couldn't fbguard react on ERROR_SERVICE_DATABASE_LOCKED after calling >> StartService, wait a bit and retry a small number of times? > > Of course. But it can't be done before next FB release (2.1). 2.0.2 ? |
From: Vlad H. <hv...@us...> - 2007-01-30 09:13:19
|
> Vlad Horsun: > >> Alex, Vlad, > >> > >> A> Vlad Horsun: > >>>> Don't use guardian on NT based platforms. It is buggy and there are no > >>>> reasons to user there > >>>> > >> A> Except NT4 itself. NT4 cannot restart failed service itself, therefore > >> A> guardian is still useful on it. > > > > Salvatore asked about WinXP :) > > > > Settings for NT4/XP must be different in other aspects too. For example > - on some XP setting XNET mutex name to be Global\Firebird is required > for client to see service. But it doesn't work for NT4 at all, provided > this is not a terminal server NT4. This is not only about XNET mutex name. This is about all named kernel objects. I can't resist and ask - how long we will support NT4\Win9x ? > Therefore talking about NT based platform as a monolithic family becomes > not completely OK. Ok ;) > >> Couldn't fbguard react on ERROR_SERVICE_DATABASE_LOCKED after calling > >> StartService, wait a bit and retry a small number of times? > > > > Of course. But it can't be done before next FB release (2.1). > > 2.0.2 ? Does not matter. Users want to work _now_ Regards, Vlad |
From: Dmitry Y. <fir...@ya...> - 2007-01-30 09:37:07
|
Vlad Horsun wrote: > > I can't resist and ask - how long we will support NT4\Win9x ? For a long time, I'm afraid. At least the client-side code. Perhaps we could drop Win9x support for the engine and the remote listener in v3.0, but I'm not that sure about NT4. Dmitry |
From: Alex P. <pe...@in...> - 2007-01-30 09:42:05
|
>> Settings for NT4/XP must be different in other aspects too. For example >> - on some XP setting XNET mutex name to be Global\Firebird is required >> for client to see service. But it doesn't work for NT4 at all, provided >> this is not a terminal server NT4. > > This is not only about XNET mutex name. This is about all named kernel > objects. > Certainly. But that mutex is specially interesting for us. > I can't resist and ask - how long we will support NT4\Win9x ? > As for me it seems to be good idea to declare them unsupported officially - i.e. firebird may be works on such platforms but with some limitations and limited functionality. >>>> Couldn't fbguard react on ERROR_SERVICE_DATABASE_LOCKED after calling >>>> StartService, wait a bit and retry a small number of times? >>> Of course. But it can't be done before next FB release (2.1). >> 2.0.2 ? > > Does not matter. Users want to work _now_ For OSs, not taken from software museum, the answer is very simple - don't use guardian at all. What is default setting in windows installer now? |
From: Nando D. <na...@de...> - 2007-01-30 08:54:22
|
Vlad, >> Couldn't fbguard react on ERROR_SERVICE_DATABASE_LOCKED after calling >> StartService, wait a bit and retry a small number of times? V> Of course. But it can't be done before next FB release (2.1). If you want to work V> _now_ and on normal OS - abandon guardian ASAP. believe it or not, I kinda figured it out by myself that patching the compiled code in place wasn't practical. :-) What I wanted to ask, I suppose, is: is guardian going to stay? Should this be filed as a bug report/feature request? Ciao -- Nando Dessena |
From: Vlad H. <hv...@us...> - 2007-01-30 09:14:52
|
> Vlad, > > >> Couldn't fbguard react on ERROR_SERVICE_DATABASE_LOCKED after calling > >> StartService, wait a bit and retry a small number of times? > > V> Of course. But it can't be done before next FB release (2.1). If you want to work > V> _now_ and on normal OS - abandon guardian ASAP. > > believe it or not, I kinda figured it out by myself that patching the > compiled code in place wasn't practical. :-) I believe :) > What I wanted to ask, I suppose, is: is guardian going to stay? Should this > be filed as a bug report/feature request? It will stay until we decide opposite ;) And, yes, fill bug report, please Regards, Vlad |
From: Salvatore B. <s....@mc...> - 2007-01-30 10:49:16
|
hello, thanks to all, Alex, Vlad and Nando for your replies. Vlad: > Don't use guardian on NT based platforms. It is buggy and > there are no reasons to user there ok, I can try to abandon Guardian, but can the failed service be restarted automatically in this case and can the original problem be resolved? And I can't figure out why on the notebook the Firebird server service started by the Guardian in the same way never fails. I have more or less the same environment that I have on the main computer, Windows XP Pro, Firebird SS 2.0.0.12748 final and more or less the same applications installed on the main PC. So why the Firebird server never fails to start here? Regards Salvatore |
From: Alex P. <pe...@in...> - 2007-01-30 10:55:01
|
Salvatore Besso: > hello, > > thanks to all, Alex, Vlad and Nando for your replies. > > Vlad: > >> Don't use guardian on NT based platforms. It is buggy and >> there are no reasons to user there > > ok, I can try to abandon Guardian, but can the failed service be restarted > automatically in this case and can the original problem be resolved? > In the future releases - yes. > And I can't figure out why on the notebook the Firebird server service > started by the Guardian in the same way never fails. I have more or less the > same environment that I have on the main computer, Windows XP Pro, Firebird > SS 2.0.0.12748 final and more or less the same applications installed on the > main PC. So why the Firebird server never fails to start here? > It fails due to conflict accessing services database. May be your notebook starts less services? |
From: Salvatore B. <s....@mc...> - 2007-01-30 11:09:57
|
hello Alex, > It fails due to conflict accessing services database. Maybe > your notebook starts less services? mmmh, I can't give a reliable answer on this matter :-) but maybe the notebook loads less services than the main PC. For example on the notebook I haven't installed VMWare that starts four more services by itself; to be more precise I had to count and compare them all... but I can say that the numeric difference of services started is surely not so big. Anyway these two computers are both development machines, but starting the application and getting the error "The Firebird server is unavailable or is not installed" begins to be a bit annoying... :-) Regards Salvatore |
From: Alex P. <pe...@in...> - 2007-01-30 11:48:16
|
Salvatore Besso: > hello Alex, > >> It fails due to conflict accessing services database. Maybe >> your notebook starts less services? > > mmmh, I can't give a reliable answer on this matter :-) but maybe the > notebook loads less services than the main PC. For example on the notebook I > haven't installed VMWare that starts four more services by itself; No need - that 4 services may be quite enough. The reason is already clear. Error code seems to be enough descriptive. >>to be > more precise I had to count and compare them all... but I can say that the > numeric difference of services started is surely not so big. Anyway these > two computers are both development machines, but starting the application > and getting the error "The Firebird server is unavailable or is not > installed" begins to be a bit annoying... :-) Salvatore, please: 1. remove guardian - this will solve your current problem 2. add entry to FB tracker |
From: Salvatore B. <s....@mc...> - 2007-01-30 15:12:38
|
hello Alex, ok, I'll remove the guardian and I'll add the entry. Thanks Salvatore |
From: Salvatore B. <s....@mc...> - 2007-01-30 15:47:31
|
ok, I have created the entry in Firebird tracker. Since it is the first time I hope to have done it correctly. In case of something wrong, fell free to tell me :-) Regards Salvatore |
From: Claudio V. C. <cv...@us...> - 2007-01-30 13:35:31
|
> -----Original Message----- > From: fir...@li... > [mailto:fir...@li...]On Behalf Of > Salvatore Besso > Sent: Martes, 30 de Enero de 2007 7:49 > > And I can't figure out why on the notebook the Firebird server service > started by the Guardian in the same way never fails. I have more > or less the > same environment that I have on the main computer, Windows XP > Pro, Firebird > SS 2.0.0.12748 final and more or less the same applications > installed on the > main PC. So why the Firebird server never fails to start here? What does the Event Viewer show on the computer where FB fails? Probably there's an entry there. C. |
From: Salvatore B. <s....@mc...> - 2007-01-30 15:25:11
|
hello Claudio, > What does the Event Viewer show on the computer where FB fails? > Probably there's an entry there. Yes, there is one and more or less it says the same as the Firebird log, but weird, the text at the end is garbled. Most part of the text is in Italian, this translation is made at my best capabilities: Unable to find the description of the event's ID (212) in the origin (FirebirdGuardianDefaultInstance). Local computer could not have necessary information from the system registry or necessary DLL files to display messages from a remote computer. Use /AUXSOURCE= flag to retrieve the description. For further information look in the on-line help and technical support. The following information are part of the event: [Note from Salvatore: The next part of the message text was already in English and showed some truncation or garbling toward the end. I have copied it exactly like shown in the event viewer] The registry information is missing. Please run the Firebird Configuration Utilitaunch the server thread. errno : 1055 ^ |_ Truncated or garbled text BTW: I still have the Guardian in use, but yesterday and today the service has been started regularly without errors... Regards Salvatore |
From: Claudio V. C. <cv...@us...> - 2007-01-31 08:12:33
|
> -----Original Message----- > From: fir...@li... > [mailto:fir...@li...]On Behalf Of > Salvatore Besso > Sent: Martes, 30 de Enero de 2007 12:25 > > hello Claudio, > > > What does the Event Viewer show on the computer where FB fails? > > Probably there's an entry there. > > Yes, there is one and more or less it says the same as the > Firebird log, but > weird, the text at the end is garbled. Most part of the text is > in Italian, > this translation is made at my best capabilities: > > Unable to find the description of the event's ID (212) in the origin > (FirebirdGuardianDefaultInstance). Local computer could not have > necessary > information from the system registry or necessary DLL files to display > messages from a remote computer. Use /AUXSOURCE= flag to retrieve the > description. For further information look in the on-line help and > technical > support. The following information are part of the event: Damn, Simon Carter provided the resources to stop this crap and make event log messages readable more than a year ago, but his code was never integrated into the project! > [Note from Salvatore: The next part of the message text was already in > English and showed some truncation or garbling toward the end. I > have copied > it exactly like shown in the event viewer] > > The registry information is missing. > Please run the Firebird Configuration Utilitaunch the server > thread. errno : > 1055 > ^ > |_ Truncated or garbled text I don't know where is the problem. If this message comes from FB, then we have a memory problem. C. |
From: Vlad H. <hv...@us...> - 2007-01-31 08:28:58
|
> Damn, Simon Carter provided the resources to stop this crap and make event > log messages readable more than a year ago, but his code was never > integrated into the project! I don't remember it > > [Note from Salvatore: The next part of the message text was already in > > English and showed some truncation or garbling toward the end. I > > have copied > > it exactly like shown in the event viewer] > > > > The registry information is missing. > > Please run the Firebird Configuration Utilitaunch the server > > thread. errno : > > 1055 > > ^ > > |_ Truncated or garbled text > > I don't know where is the problem. If this message comes from FB, then we > have a memory problem. This is my beloved guardian. Some time ago i saw this and looked into code to fix it. After several hours i decided that it is easy to rewrite it from scratch then fix it Regards, Vlad |
From: Salvatore B. <s....@mc...> - 2007-01-30 10:51:56
|
hello all again, I forgot to ask why the dependency Walker indicated that file not found apparently belonging to Firebird: Warning: At least one delay-load dependency module was not found. File C:\Programmi\Firebird\Firebird_2_0\bin\DWMAPI.DLL not found Regards Salvatore |
From: Claudio V. C. <cv...@us...> - 2007-01-30 13:35:39
|
> -----Original Message----- > From: fir...@li... > [mailto:fir...@li...]On Behalf Of > Salvatore Besso > Sent: Martes, 30 de Enero de 2007 7:52 > > hello all again, > > I forgot to ask why the dependency Walker indicated that file not found > apparently belonging to Firebird: > > Warning: At least one delay-load dependency module was not found. > File C:\Programmi\Firebird\Firebird_2_0\bin\DWMAPI.DLL not found When you create projects, MSVC adds several libraries as default to link them. However, those are static links. Maybe worth reviewing them anyway. I can't imagine which code we have may bring this DLL, but here's a nice explanation: http://www.gamedev.net/community/forums/topic.asp?topic_id=393157 http://community.macrovision.com/showthread.php?t=156663 http://weblogs.asp.net/kennykerr/archive/2006/08/10/Windows-Vista-for-Develo pers-_1320_-Part-3-_1320_-The-Desktop-Window-Manager.aspx DWMAPI.DLL is Desktop Windows Manager and it's part of Windows Vista but IE7 seems to demand it and mangles the operating system with unneeded dependencies. C. |
From: Salvatore B. <s....@mc...> - 2007-01-30 15:28:11
|
hello again Claudio, > DWMAPI.DLL is Desktop Windows Manager and it's part of Windows Vista > but IE7 seems to demand it and mangles the operating system with > unneeded dependencies. maybe you got it :-) Some weeks ago I have installed IE7... but what is weird is why DWMAPI.DLL should reside in the Firebird's bin folder... Regards Salvatore |
From: Claudio V. C. <cv...@us...> - 2007-01-31 08:12:30
|
> -----Original Message----- > From: fir...@li... > [mailto:fir...@li...]On Behalf Of > Salvatore Besso > Sent: Martes, 30 de Enero de 2007 12:28 > > hello again Claudio, > > > DWMAPI.DLL is Desktop Windows Manager and it's part of Windows Vista > > but IE7 seems to demand it and mangles the operating system with > > unneeded dependencies. > > maybe you got it :-) Some weeks ago I have installed IE7... but what is > weird is why DWMAPI.DLL should reside in the Firebird's bin folder... In the forums I read, this is seen as a bug introduced by MS. C. |