Subject | Firebird Server Startup/.Shutdown problems... |
---|---|
Author | psmdev |
Post date | 2005-05-04T11:34:42Z |
Hi!..
Using Firebird 1.5, and a Delphi front-end application.
The app runs on a more-or-less unattended PC, with a touchscreen (it's
actually a terminal for a membership system) It's running on Windows
2000.
Two fairly unimportant but nevertheless annoying problems... they're
both intermittent, and as such difficult to reliably repeat.
The first problem is that when you tell the terminal to
shutdown/restart, it seems the Firebird server tries to stop before
Windows manages to close active applications, so some of our stuff is
still running and connected to the database. The net effect of this
is that the Firebird server pops up and says 'There are still active
connections, are you sure you want to quit?' (not exact wording, but
you get the gist), which hangs the shutdown process altogether. By
this time the touchscreen drivers have been unloaded too, so you have
to open it up and either hard reset it or plug a keyboard in to get
any further.
Various logging attempts seem to suggest it's because Windows itself
not always sending the 'Shutdown' message to our applications, so I
don't know what can be done, but preventing the Firebird Server from
questioning anything on shutdown would partially get around the
problem - is there any easy way of doing this?
The Second problem is with starting up.
It seems sometimes the server is allegedly running, but it's not
possible to connect to a database - you receive a message about not
having read/write access rights to the physical database file. If you
give the server a short while longer before launching the application,
then it's fine. This is NOT the 'unavailable database' message you
get when the server isn't running. By getting the application to run
through currently running windows processes and looking for one called
'FIREBIRD SERVER' (or whatever, I can't recall exactly, but we know
this bit works), we can tell that the process is running, but that
doesn't seem to necessarily indicate it's able to accept a database
connection just yet.
The thing I find very odd about this one is that since firebird is
running as a service, it should be running even before anyone logs in,
yet our stuff won't launch until after login, and is still hitting
this issue occasionally.
It doesn't seem to happen on Windows XP, just 2000, and it never
seemed to happen on interbase 6.0 OpenSource.
We've managed to get around the issue by just getting the app to retry
log-in three times, waiting a couple of seconds between each attempt,
but a better explanation/solution would be nice.
Thanks for reading all that junk, even if you can't help much ;)
Giles Wakefield
Using Firebird 1.5, and a Delphi front-end application.
The app runs on a more-or-less unattended PC, with a touchscreen (it's
actually a terminal for a membership system) It's running on Windows
2000.
Two fairly unimportant but nevertheless annoying problems... they're
both intermittent, and as such difficult to reliably repeat.
The first problem is that when you tell the terminal to
shutdown/restart, it seems the Firebird server tries to stop before
Windows manages to close active applications, so some of our stuff is
still running and connected to the database. The net effect of this
is that the Firebird server pops up and says 'There are still active
connections, are you sure you want to quit?' (not exact wording, but
you get the gist), which hangs the shutdown process altogether. By
this time the touchscreen drivers have been unloaded too, so you have
to open it up and either hard reset it or plug a keyboard in to get
any further.
Various logging attempts seem to suggest it's because Windows itself
not always sending the 'Shutdown' message to our applications, so I
don't know what can be done, but preventing the Firebird Server from
questioning anything on shutdown would partially get around the
problem - is there any easy way of doing this?
The Second problem is with starting up.
It seems sometimes the server is allegedly running, but it's not
possible to connect to a database - you receive a message about not
having read/write access rights to the physical database file. If you
give the server a short while longer before launching the application,
then it's fine. This is NOT the 'unavailable database' message you
get when the server isn't running. By getting the application to run
through currently running windows processes and looking for one called
'FIREBIRD SERVER' (or whatever, I can't recall exactly, but we know
this bit works), we can tell that the process is running, but that
doesn't seem to necessarily indicate it's able to accept a database
connection just yet.
The thing I find very odd about this one is that since firebird is
running as a service, it should be running even before anyone logs in,
yet our stuff won't launch until after login, and is still hitting
this issue occasionally.
It doesn't seem to happen on Windows XP, just 2000, and it never
seemed to happen on interbase 6.0 OpenSource.
We've managed to get around the issue by just getting the app to retry
log-in three times, waiting a couple of seconds between each attempt,
but a better explanation/solution would be nice.
Thanks for reading all that junk, even if you can't help much ;)
Giles Wakefield