flamerobin icon indicating copy to clipboard operation
flamerobin copied to clipboard

Fatal Error when Dropping a Trigger – FlameRobin 0.9.13 (x64)

Open DoussaDo opened this issue 6 months ago • 6 comments

I encountered a fatal error while using FlameRobin version 0.9.13 (git hash 031ad5f) Unicode (x64), specifically when attempting to drop a trigger from a Firebird database.

System Info: FlameRobin: 0.9.13 (x64) IBPP library version: 2.5.2.1 wxWidgets library version: 3.2.2 OS: Windows 10 Professional (Version 2009, Build 19045.5917 – installed on 2021-04-22)

Issue: The application crashed with a fatal error immediately after executing a DROP TRIGGER command. Please let me know if you need logs or additional information to reproduce the issue.

Thanks in advance for your support.

DoussaDo avatar Jun 10 '25 10:06 DoussaDo

Hi @DoussaDo , logs or any info linked to the issue will be useful.

baldeuniversel avatar Jun 10 '25 12:06 baldeuniversel

Hey @baldeuniversel , I lost the screenshot when the error popped up. Is there any log file I can check to find more info about what happened? thank you

DoussaDo avatar Jun 10 '25 12:06 DoussaDo

For the Windows OS, I don't know if flamerobin has its own logs files. Perhaps you should look there C:\\ProgramData\\firebird (firebird side) 🧐.

baldeuniversel avatar Jun 10 '25 13:06 baldeuniversel

Hello, Just happened right now after dropping a procedure

Image

DoussaDo avatar Jun 14 '25 23:06 DoussaDo

Hello, Just happened right now after dropping a procedure

Image

I see, but there is no relevant info to exploit 🤔.

Can you try to drop the same procedure via the CLI (isql), to see the behavior ?

baldeuniversel avatar Jun 14 '25 23:06 baldeuniversel

Steps to reproduce:

  1. Create a trigger TABLE_NAME_BIUD.
  2. Select its node in the tree.
  3. Run the following SQL (which recreates and then drops the trigger):
SET TERM ^;

CREATE OR ALTER TRIGGER TABLE_NAME_BIUD FOR TABLE_NAME
ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 0
AS
BEGIN
    /* enter trigger code here */
END^

SET TERM ;^
COMMIT;

DROP TRIGGER TABLE_NAME_BIUD;
COMMIT;

Error returned:

Exception thrown: read access violation.  
mi-> was 0xFFFFFFFFFFFFFF77.

File: Mainframe.cpp Method: DatabasePtr getDatabase(MetadataItem* mi) Line: if ((mi) && (mi->getParent()))

arvanus avatar Aug 16 '25 14:08 arvanus