Fbclient access violation when handling fbserver shutdown [CORE1194] #1619
Submitted by: Diane Downie (dianedownie)
Firebird 2.0 Superserver via IPC (using non-default names) to a local database actively via accessed over multiple threads from a single process.
I was testing recovery from when the firebird server is shutdown while my system was accessing it. I was able to consistently reproduce an access violation in fbclient while it was attempting to handle this situation. I did not try to repro this with 2.0.1, but will attempt to do so if you think the problem has been addressed.
Note that the service shutdown was not totally normal:
My system that was executing database queries at the time of the shutdown generated generated this exception. It appears that fbclient detected the server had shutdown, but for some reason the address for the port 0x0 is being passed in and not handled. A full memory dump is available if requested.
First-chance exception at 0x014f0e33 (fbclient.dll) in rscorsvc.exe: 0xC0000005: Access violation reading location 0x00000008.
> fbclient.dll!server_shutdown(rem_port * port=0x00000000) Line 1621 + 0xa bytes C++
The text was updated successfully, but these errors were encountered:
Commented by: @dyemanov
The possible fix has been committed to CVS. I wasn't able to reproduce the (port == NULL) condition, but I've seen other crashes inside server_shutdown() related to the already freed xcc/xpm structures, and this fix solves all those issues. With some luck, we could expect your issue to be solved as well.