Subject Re: HELP! Stored procedure with infinite loop killed the database
Author wperdigao
Hi, Helen

Actually, when you mentioned that the DLL might still be in memory, I
checked and even though the Guardian and Firebird services were
stopped, there was still a Firebird process running in the
background. Once I killed that process, I was able to connect to the
database. Thanks for the help.

Regards,
Walter

--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
> At 03:32 AM 26/05/2004 +0000, you wrote:
> >If anyone can help, that would be great.
> >
> >I created a stored procedure that used a WHILE...DO loop and the
> >first time I tried running it, the query never returned data and
hung
> >IBExpert. I had to kill the process in Windows XP.
> >
> >I suspect that the WHILE...DO loop was caught in an infinite loop.
I
> >read somewhere that Firebird doesn't have a timeout value for
stored
> >proc's.
> >
> >Anyway, ever since then I can't connect to the database -- it
> >complained first of something like "exclusive lock permits further
> >execution of commands" or something similar in IBExpert when I
first
> >tried to reconnect.
> >
> >Now IBExpert just hangs. Using GFIX returns with an "unavailable
> >database" message.
> >
> >Any ideas how to recover the database? I'd seriously like to use
> >Firebird in a production environment, but I'm a little cautious
now.
> >A silly (and pretty common scenario during unit testing) thing like
> >an infinte loop in a stored proc has brought down my test server
and
> >I haven't been able to find any info on how to recover from it.
> >
> >Any help or suggestions would be greatly appreciated!
>
> It sounds as if you were running the Embedded server. Since that
is a DLL,
> and you crashed it to stop it, you'll have to reboot the machine to
get rid
> of it from memory.
>
> If it had been Superserver, and you crashed it, the Guardian might
have
> tried to restart it. In that case, provided it did restart, you
should
> have been able to open a new "first connection". (That's why I
think you
> were running Embedded).
>
> If it had been Classic, you wouldn't have got the exclusive lock
message.
>
> Whatever, it's extremely unlikely that you have a corrupted
> database. Provide enough information about your setup to enable
people to
> offer suggestions that are not just wild guesses.
>
> /heLen