Skip to content
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

Fatal Lock Manager Error - Doubled Records in rdb$procedure_parameters [CORE6405] #6643

Open
firebird-automations opened this issue Sep 22, 2020 · 4 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Benjamin Bacik (benjamincomed)

Attachments:
rdb$procedure_parameters.sql
Screenshot.png

After commit a compiled procedure and the dependences the Firebird server throws a fatal lock mananger Error.

LOG:
999SV2204 Mon Sep 21 15:35:52 2020
Fatal lock manager error: invalid lock id (0), errno: 0

999SV2204 Mon Sep 21 15:35:52 2020
"C:\Program Files\Firebird\Firebird_3_0\firebird.exe": terminated abnormally (4294967295)

999SV2204 Mon Sep 21 15:35:52 2020
Guardian starting: "C:\Program Files\Firebird\Firebird_3_0\firebird.exe"

999SV2204 Mon Sep 21 15:35:53 2020
Sweep is started by SWEEPER
Database "D:\COMED\DATABASE\LEA-WEB.FDB"
OIT 494741611, OAT 495689353, OST 495689353, Next 495689353

After the restart there were doubled records in the rdb$procedure_parameters for all compiled procedures. It seems that the Database is working correct at the moment. The doubled records cannot be deleted.
Any suggestions about this? or any further Informations needed?
Is there a possibility to clean this up without complete Database backup&restore?

some doubled records:
INSERT INTO RDB$PROCEDURE_PARAMETERS (RDB$PARAMETER_NAME, RDB$PROCEDURE_NAME, RDB$PARAMETER_NUMBER, RDB$PARAMETER_TYPE, RDB$FIELD_SOURCE, RDB$SYSTEM_FLAG, RDB$COLLATION_ID, RDB$NULL_FLAG, RDB$PARAMETER_MECHANISM, RDB$FIELD_NAME, RDB$RELATION_NAME, RDB$PACKAGE_NAME)
VALUES ('I_BA_MANDANTEN_ID', 'ER_SUCHE_KUMBEFUND', 0, 0, 'RDB$138332', 0, NULL, NULL, 0, NULL, NULL, NULL);
INSERT INTO RDB$PROCEDURE_PARAMETERS (RDB$PARAMETER_NAME, RDB$PROCEDURE_NAME, RDB$PARAMETER_NUMBER, RDB$PARAMETER_TYPE, RDB$FIELD_SOURCE, RDB$SYSTEM_FLAG, RDB$COLLATION_ID, RDB$NULL_FLAG, RDB$PARAMETER_MECHANISM, RDB$FIELD_NAME, RDB$RELATION_NAME, RDB$PACKAGE_NAME)
VALUES ('I_BA_BENUTZER_ID', 'ER_SUCHE_KUMBEFUND', 1, 0, 'RDB$138333', 0, NULL, NULL, 0, NULL, NULL, NULL);
INSERT INTO RDB$PROCEDURE_PARAMETERS (RDB$PARAMETER_NAME, RDB$PROCEDURE_NAME, RDB$PARAMETER_NUMBER, RDB$PARAMETER_TYPE, RDB$FIELD_SOURCE, RDB$SYSTEM_FLAG, RDB$COLLATION_ID, RDB$NULL_FLAG, RDB$PARAMETER_MECHANISM, RDB$FIELD_NAME, RDB$RELATION_NAME, RDB$PACKAGE_NAME)
VALUES ('I_AUFTRAG_NR', 'ER_SUCHE_KUMBEFUND', 2, 0, 'D_AUFTRAG_NR', 0, NULL, NULL, 0, NULL, NULL, NULL);
INSERT INTO RDB$PROCEDURE_PARAMETERS (RDB$PARAMETER_NAME, RDB$PROCEDURE_NAME, RDB$PARAMETER_NUMBER, RDB$PARAMETER_TYPE, RDB$FIELD_SOURCE, RDB$SYSTEM_FLAG, RDB$COLLATION_ID, RDB$NULL_FLAG, RDB$PARAMETER_MECHANISM, RDB$FIELD_NAME, RDB$RELATION_NAME, RDB$PACKAGE_NAME)
VALUES ('I_BA_MANDANTEN_ID', 'ER_SUCHE_KUMBEFUND', 0, 0, 'RDB$139050', 0, NULL, NULL, 0, NULL, NULL, NULL);
INSERT INTO RDB$PROCEDURE_PARAMETERS (RDB$PARAMETER_NAME, RDB$PROCEDURE_NAME, RDB$PARAMETER_NUMBER, RDB$PARAMETER_TYPE, RDB$FIELD_SOURCE, RDB$SYSTEM_FLAG, RDB$COLLATION_ID, RDB$NULL_FLAG, RDB$PARAMETER_MECHANISM, RDB$FIELD_NAME, RDB$RELATION_NAME, RDB$PACKAGE_NAME)
VALUES ('I_BA_BENUTZER_ID', 'ER_SUCHE_KUMBEFUND', 1, 0, 'RDB$139051', 0, NULL, NULL, 0, NULL, NULL, NULL);
INSERT INTO RDB$PROCEDURE_PARAMETERS (RDB$PARAMETER_NAME, RDB$PROCEDURE_NAME, RDB$PARAMETER_NUMBER, RDB$PARAMETER_TYPE, RDB$FIELD_SOURCE, RDB$SYSTEM_FLAG, RDB$COLLATION_ID, RDB$NULL_FLAG, RDB$PARAMETER_MECHANISM, RDB$FIELD_NAME, RDB$RELATION_NAME, RDB$PACKAGE_NAME)
VALUES ('I_AUFTRAG_NR', 'ER_SUCHE_KUMBEFUND', 2, 0, 'D_AUFTRAG_NR', 0, NULL, NULL, 0, NULL, NULL, NULL);

@firebird-automations
Copy link
Collaborator Author

Commented by: Benjamin Bacik (benjamincomed)

Screenshot of some doubled entries.
and complete rdb$preocedure_parameters table

@firebird-automations
Copy link
Collaborator Author

Modified by: Benjamin Bacik (benjamincomed)

Attachment: rdb$procedure_parameters.sql [ 13482 ]

Attachment: Screenshot.png [ 13483 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

How to reproduce the issue ?

@firebird-automations
Copy link
Collaborator Author

Commented by: Benjamin Bacik (benjamincomed)

Proc1 (Edit) < Proc2 (Calls Proc1) < Proc3(Calls Proc2) <Proc4(Calls Proc1)

As I can suggest it happens if:
- Using Procedure with +-400 Active SQL Statements from Users on this procedure
IBCConnection1.DefaultTransaction.Params.Add('lock_timeout=10');
IBCConnection1.DefaultTransaction.Params.Add('read_committed');
IBCConnection1.DefaultTransaction.Params.Add('rec_version');
- Editing Procedure with
isc_tpb_write
isc_tpb_consistency
- Compile PRocedure and Recompiling dependend procedures
- On Recompiling dependend procedures IBexpert closes Connetion with Disconnected Exception Message, because the Firebird Server crashes:
- Only happens on our biggest Livesystem. Could not reproduce it on our Enviroment or smaller Projekts

999SV2204 Mon Sep 21 15:35:51 2020
Modifying procedure ER_SUCHE_AUFTRAGSLISTE which is currently in use by active user requests

999SV2204 Mon Sep 21 15:35:51 2020
Modifying procedure ER_SUCHE_AUFTRAG_ERG_KUMMULIERT which is currently in use by active user requests

999SV2204 Mon Sep 21 15:35:51 2020
Modifying procedure ER_SUCHE_KUMBEFUND which is currently in use by active user requests

999SV2204 Mon Sep 21 15:35:52 2020
Modifying procedure RB_GENERIERE_PIPELINE_DATASQL which is currently in use by active user requests

999SV2204 Mon Sep 21 15:35:52 2020
Fatal lock manager error: invalid lock id (0), errno: 0

999SV2204 Mon Sep 21 15:35:52 2020
"C:\Program Files\Firebird\Firebird_3_0\firebird.exe": terminated abnormally (4294967295)

999SV2204 Mon Sep 21 15:35:52 2020
Guardian starting: "C:\Program Files\Firebird\Firebird_3_0\firebird.exe"

999SV2204 Mon Sep 21 15:35:53 2020
Sweep is started by SWEEPER
Database "D:\COMED\DATABASE\LEA-WEB.FDB"
OIT 494741611, OAT 495689353, OST 495689353, Next 495689353

999SV2204 Mon Sep 21 15:35:53 2020
Sweep is started by SWEEPER
Database "D:\COMED\DATABASE\LEA-WEB.FDB"
OIT 494741611, OAT 495689355, OST 495689355, Next 495689356

999SV2204 Mon Sep 21 15:54:53 2020
Sweep is finished
Database "D:\COMED\DATABASE\LEA-WEB.FDB"
OIT 495689353, OAT 495689441, OST 495689441, Next 495702164

999SV2204 Mon Sep 21 15:54:53 2020
Sweep is finished
Database "D:\COMED\DATABASE\LEA-WEB.FDB"
OIT 495689355, OAT 495689441, OST 495689441, Next 495702164

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant