New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LI-V2.5.2.26448 (SuperClassic) crashes when running script that delete attachments and move database to offline [CORE3944] #4277
Comments
Modified by: @pavel-zotovAttachment: gdb_isql_and_gfix_when_shutdown_database.zip [ 12235 ] Attachment: gdb_gfix_online_renamed_database_before_running_its_backup.zip [ 12236 ] |
Commented by: @pavel-zotov PS. bash-4.1$ ls --sort=time --full-time -r |
Commented by: @pavel-zotov PS. The following messages appeared in firebird.log: firebird (Client) Tue Oct 2 21:25:00 2012 firebird (Client) Tue Oct 2 21:25:00 2012 firebird (Client) Tue Oct 2 21:30:00 2012 firebird (Client) Tue Oct 2 21:30:00 2012 firebird (Client) Tue Oct 2 21:35:00 2012 firebird (Client) Tue Oct 2 21:35:00 2012 firebird (Client) Tue Oct 2 21:40:00 2012 firebird (Client) Tue Oct 2 21:40:00 2012 firebird (Client) Tue Oct 2 21:45:00 2012 firebird (Client) Tue Oct 2 21:45:00 2012 |
Modified by: @AlexPeshkoffassignee: Alexander Peshkov [ alexpeshkoff ] |
Commented by: @AlexPeshkoff Does it also fail in 2.5.1? |
Commented by: @pavel-zotov > Does it also fail in 2.5.1? Currently I have no machines with 2.5.1, all of out three servers running FB 2.5.2, SC. PS. The database on which this fault occured has been saved. I can pack it and upload to some file storage like http://ge.tt if need. |
Commented by: @AlexPeshkoff Database is not needed. It's more or less clear why does server die (bug in trace code), but I want to know is it regression in 2.5.2 via 2.5.1 or not. |
Commented by: @pavel-zotov > but I want to know is it regression in 2.5.2 via 2.5.1 or not. Sorry, but I can`t install FB onto some another place than /opt/firebird: [root@reservdb download]# rpm --verbose --install --prefix=/opt/fb251 firebirdcs-2.5.1.26351-0.amd64.rpm Currently /opt/firebird is the home for SuperClassic 2.5.2. |
Commented by: @AlexPeshkoff Pavel, do you still have core files for that stack traces? |
Commented by: @pavel-zotov > Pavel, do you still have core files for that stack traces? yes, surely. |
Commented by: @AlexPeshkoff With core file (for example one for gdb_gfix_1027.txt) please run the following gdb commands: t 1 and press enter 20 times to see all status vector elements |
Modified by: @pavel-zotovAttachment: gdb_gfix_1017_user_status.zip [ 12237 ] |
Commented by: @pavel-zotov Done (please see new attach - gdb_gfix_1017_user_status.zip). |
Commented by: @AlexPeshkoff In trunk this bug is already fixed. |
Modified by: @AlexPeshkoffstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.5.3 [ 10461 ] |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: @pavel-zotov
Attachments:
gdb_isql_and_gfix_when_shutdown_database.zip
gdb_gfix_online_renamed_database_before_running_its_backup.zip
gdb_gfix_1017_user_status.zip
The following script deletes all attachments from our production, takes some pause to be all cached data flushed on HDD and moves database to offline:
-------------------- begin .sh ----------------
DBNAME=/var/db/firebird/kuntsevomain.fdb
echo call isql to delete all connections in mon\$attachments:
/opt/firebird/bin/isql -i del_conns.sql -user sysdba -pas masterke $DBNAME
sec2sleep=5
sleep $sec2sleep
echo timestamp of $DBNAME before shutdown:
ls --full-time $DBNAME
/opt/firebird/bin/gfix -shut full -force 0 -user sysdba -pas masterke $DBNAME
echo timestamp of $DBNAME after shutdown:
ls --full-time $DBNAME
sec2sleep=20
sleep $sec2sleep
echo timestamp of $DBNAME after pause for flushing OS buffers:
ls --full-time $DBNAME
/opt/firebird/bin/gstat -h -user sysdba -pas masterke $DBNAME
-------------------- finish .sh ----------------
Script `del_conns.sql` contains the following commands:
------------------- begin del_conns.sql --------------
set list on;
select mon$database_name from mon$database;
shell echo "Before deletion from mon\$attachments:";
select
max(current_connection) my_conn
,left(list(a.mon$attachment_id),75)||'...' alive_conns
,left(list(a.mon$remote_address),75)||'...' alive_ip
,left(list(a.mon$attachment_id),75)||'...' alive_pid
,count(*) alive_total
from mon$attachments a;
commit;
delete from mon$attachments
where mon$attachment_id<>current_connection;
commit;
shell echo;
shell echo "After deletion from mon\$attachments:";
select
max(current_connection) my_conn
,left(list(a.mon$attachment_id),75)||'...' alive_conns
,left(list(a.mon$remote_address),75)||'...' alive_ip
,left(list(a.mon$attachment_id),75)||'...' alive_pid
,count(*) alive_total
from mon$attachments a;
commit;
------------------- finish del_conns.sql --------------
Today I've decided to make b/r and call this .sh script.
Suddenly I noted in firebird.log that fb_smp_server was crached and restarted by fbguard.
backtrace files that corresponds to gfix and isql see attach.
Commits: 102700e 1eace34 a8f8465 c98ccc6 FirebirdSQL/fbt-repository@211856e FirebirdSQL/fbt-repository@edef661 FirebirdSQL/fbt-repository@6fa99aa
The text was updated successfully, but these errors were encountered: