here is the full text of the procedure:

CREATE OR ALTER PROCEDURE SPDUMPCONFIG
AS
DECLARE VARIABLE MASTER VARCHAR(15);
DECLARE VARIABLE SELF VARCHAR(15);
BEGIN
SELECT MASTER, SELF FROM CONFIG INTO :MASTER, :SELF;

EXECUTE STATEMENT '
EXECUTE BLOCK
AS
DECLARE VARIABLE MASTER VARCHAR(15);
DECLARE VARIABLE SELF VARCHAR(15);
DECLARE VARIABLE ID_NPRICE BIGINT;
DECLARE VARIABLE EXCHANGE VARCHAR(127);
DECLARE VARIABLE TEMP VARCHAR(127);
DECLARE VARIABLE DISCOUNT_DATE D_DATETIME;
DECLARE VARIABLE PRICE_DATE D_DATETIME;
DECLARE VARIABLE PINPAD D_BOOLEAN;
DECLARE VARIABLE REPLENISHMENT D_BOOLEAN;
DECLARE VARIABLE FILEVERSION VARCHAR(15);
DECLARE VARIABLE FRPRINTSRV VARCHAR(15);
DECLARE VARIABLE CARDS_DATE D_DATETIME;
DECLARE VARIABLE KKM_NUMBER VARCHAR(10);
DECLARE VARIABLE FONT_INCREASE INTEGER;
BEGIN
FOR
EXECUTE STATEMENT ''
SELECT MASTER,SELF,ID_NPRICE,EXCHANGE,TEMP,DISCOUNT_DATE,PRICE_DATE,PINPAD,REPLENISHMENT,FILEVERSION,FRPRINTSRV,CARDS_DATE,KKM_NUMBER,0 FONT_INCREASE
FROM CONFIG ''
ON EXTERNAL DATA SOURCE '''|| :SELF || '''||''/3050:PMRMK''
WITH COMMON TRANSACTION
AS USER ''SYSDBA'' PASSWORD ''masterkey''
INTO :MASTER,:SELF,:ID_NPRICE,:EXCHANGE,:TEMP,:DISCOUNT_DATE,:PRICE_DATE,:PINPAD,:REPLENISHMENT,:FILEVERSION,:FRPRINTSRV,:CARDS_DATE,:KKM_NUMBER,:FONT_INCREASE
DO
BEGIN
UPDATE OR INSERT INTO CONFIG(MASTER,SELF,ID_NPRICE,EXCHANGE,TEMP,DISCOUNT_DATE,PRICE_DATE,PINPAD,REPLENISHMENT,FILEVERSION,FRPRINTSRV,CARDS_DATE,KKM_NUMBER,FONT_INCREASE)
VALUES(:MASTER,:SELF,:ID_NPRICE,:EXCHANGE,:TEMP,:DISCOUNT_DATE,:PRICE_DATE,:PINPAD,:REPLENISHMENT,:FILEVERSION,:FRPRINTSRV,:CARDS_DATE,:KKM_NUMBER,:FONT_INCREASE)
MATCHING(SELF);
SUSPEND;
END
END '
ON EXTERNAL DATA SOURCE :MASTER||'/3050:ACCEPTANCE'
WITH COMMON TRANSACTION
AS USER 'SYSDBA' PASSWORD 'masterkey';

WHEN ANY DO EXIT;
END


but I can not yet provide a memory dump or call stack trace

Четверг, 23 мая 2013, 9:03 UTC от "Vlad Khorsun (JIRA)" <tracker@firebirdsql.org>:

    [ http://tracker.firebirdsql.org/browse/CORE-4104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26758#action_26758 ]

Vlad Khorsun commented on CORE-4104:
------------------------------------

Please, provide full reproducible example.
Also, it would be useful to have memory dump or call stack trace of crashed process.

> crash external firebird server is often to run a script containing a statement "update or insert"
> -------------------------------------------------------------------------------------------------
>
> Key: CORE-4104
> URL: http://tracker.firebirdsql.org/browse/CORE-4104
> Project: Firebird Core
> Issue Type: Bug
> Components: Engine
> Affects Versions: 2.5.2
> Environment: Linux Ubuntu 10.04, Firebird 2.5.2 (Linux), windows application over WINE(Windows XP mode)
> Reporter: Otinov Andrey
>
> CREATE OR ALTER PROCEDURE SPDUMPCONFIG
> AS
> DECLARE VARIABLE MASTER VARCHAR(15);
> DECLARE VARIABLE SELF VARCHAR(15);
> BEGIN
> SELECT MASTER, SELF FROM CONFIG INTO :MASTER, :SELF;
> EXECUTE STATEMENT '
> EXECUTE BLOCK
> AS
> DECLARE VARIABLE MASTER VARCHAR(15);
> DECLARE VARIABLE SELF VARCHAR(15);
> ...
> BEGIN
> FOR
> EXECUTE STATEMENT ''
> SELECT MASTER,SELF...
> FROM CONFIG ''
> ON EXTERNAL DATA SOURCE '''|| :SELF || '''||''/3050:PMRMK''
> WITH COMMON TRANSACTION
> AS USER ''SYSDBA'' PASSWORD ''masterkey''
> INTO MASTER,:SELF... DO
> BEGIN
> UPDATE OR INSERT INTO CONFIG(MASTER,SELF...)
> VALUES(:MASTER,:SELF...)
> MATCHING(SELF);
> SUSPEND;
> END
> END '
> ON EXTERNAL DATA SOURCE :MASTER||'/3050:ACCEPTANCE'
> WITH COMMON TRANSACTION
> AS USER 'SYSDBA' PASSWORD 'masterkey';
> WHEN ANY DO EXIT;
> END

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira