FirebirdSQL logo

Firebird 5.0.1 Release: Bug Fixes

Core Engine

#8189 — Slow connection times with a lot of simultaneous connections and active trace session present

Implemented by Alexander Peshkov, Vlad Khorsun


#8186 — Fixed a few issues with IPC used by remote profiler

Implemented by Vlad Khorsun


#8180 — Sometimes a trace session is terminated spontaneously

Implemented by Artyom Abakumov


#8178 — Fix boolean conversion to string inside DataTypeUtil::makeFromList()

Implemented by Dmitry Yemanov


#8171 — Trace plugin unloaded if called method is not implemented

Implemented by Vlad Khorsun


#8168 — MAKE_DBKEY bug after backup/restore

Implemented by Vlad Khorsun


#8156 — Can not specify concrete IPv6 address in ES/EDS connection string

Implemented by Vlad Khorsun


#8150 — Process could attach to the deleted instance of shared memory

Implemented by Alexander Peshkov, Vlad Khorsun


#8138 — Bugcheck when replicator state is changed concurrently

Implemented by Vlad Khorsun


#8123 — Procedure manipulation can lead to wrong dependencies removal

Implemented by Adriano dos Santos Fernandes


#8120 — CAST dies with numeric value is out of range error

Implemented by Vlad Khorsun


#8115 — FB 5.0.0.1306 - unexpected results using LEFT JOIN with WHEN

Implemented by Dmitry Yemanov


#8112 — Error isc_read_only_trans (335544361) should report SQLSTATE 25006

Implemented by Adriano dos Santos Fernandes


#8108 — ICU 63.1 suppresses conversion errors

Implemented by Dmitry Kovalenko


#8100 — The isc_array_lookup_bounds function returns invalid values for low and high array bounds

Implemented by Adriano dos Santos Fernandes


#8094 — Index creation error when restoring with parallels workers

Implemented by Vlad Khorsun


#8086 — IN predicate with string-type elements is evaluated wrongly against a numeric field

Implemented by Dmitry Yemanov


#8085 — Memory leak when executing a lot of different queries and StatementTimeout > 0

Implemented by Vlad Khorsun


#8084 — Partial index uniqueness violation

Implemented by Vlad Khorsun


#8078 — SIMILAR TO with constant pattern using ‘|’, ‘*’, ‘?’ or ‘{0,N}’ doesn’t work as expected

Implemented by Adriano dos Santos Fernandes


#8077 — Error "Too many recursion levels" does not stop execution of code that uses ON DISCONNECT trigger (FB 4.x+)

Implemented by Alexander Peshkov, Vlad Khorsun


#8063 — (var)char variables/parameters assignments fail in stored procedures with subroutines

Implemented by Adriano dos Santos Fernandes


#8058 — Replicated DDL changes do not set the correct grantor

Implemented by Dmitry Yemanov


#8056 — Error "Too many temporary blobs" with BLOB_APPEND when selecting a stored procedure with rows-clause

Implemented by Vlad Khorsun


#8040 — Bugcheck 183 (wrong record length) could happen on replica database after UK violation on insert

Implemented by Vlad Khorsun


#8033 — Invalid result when string compared with indexed NUMERIC(x,y) field where x > 18 and y != 0

Implemented by Alexander Peshkov


#8027 — Broken gbak statistics

Implemented by Alexander Peshkov


#8011 — DECFLOAT error working with INT128 in UDR

Implemented by Alexander Peshkov


#8006 — INT128 datatype not supported in FB_MESSAGE macro

Implemented by Alexander Peshkov


#7997 — Unexpected results when comparing integer with string containing value out of range of that integer datatype

Implemented by Alexander Peshkov


#7995 — Unexpected results after creating partial index

Implemented by Dmitry Yemanov


#7993 — Unexpected results when using CASE WHEN with RIGHT JOIN

Implemented by Dmitry Yemanov


#7976 — False validation error for short unpacked records

Implemented by Dmitry Yemanov


#7969 — Characters are garbled when replicating fields with type BLOB SUB_TYPE TEXT if the character set of the connection and the field are different

Implemented by Dmitry Yemanov


#7942 — Database file appears corrupted after restore from backup

Implemented by Vlad Khorsun


#7937 — Inner join raises error "no current record for fetch operation" if a stored procedure depends on some table via input parameter and also has an indexed relationship with another table

Implemented by Dmitry Yemanov


#7927 — Some default values are set incorrectly for SC/CS architectures

Implemented by Vlad Khorsun


#7921 — Firebird 5 uses PK for ordered plan even if matching index with fewer fields exists

Implemented by Dmitry Yemanov


#7899 — Inconsistent state of master-detail occurs after reconnect + 'SET AUTODDL OFF' + 'drop <FK>' which is rolled back

Implemented by Vlad Khorsun


#7896 — replication.log remains empty (and without any error in firebird.log) until concurrent FB instance is running under different account and generates segments on its master. Significant delay required after stopping concurrent FB to allow first one to write in its replication log.

Implemented by Vlad Khorsun


#7873 — Wrong memory buffer alignment and I/O buffer size when working in direct I/O mode

Implemented by Vlad Khorsun


#7863 — Non-correlated sub-query is evaluated multiple times if it is based on a view rather than on an equivalent derived table

Implemented by Dmitry Yemanov


Server Crashes/Hangups

#8185 — SIGSEGV in Firebird 5.0.0.1306 embedded during update on cursor

Implemented by Adriano dos Santos Fernandes, Dmitry Yemanov


#8176 — Firebird 5 hangs after starting remote profiling session

Implemented by Vlad Khorsun


#8151 — Deadlock happens when running 'List Trace Sessions' service and there are many active trace sessions

Implemented by Vlad Khorsun


#8149 — A hang or crash could happen when connection fires TRACE_EVENT_DETACH event and a new trace session is created concurrently

Implemented by Vlad Khorsun


#8136 — Server crashes with IN (dbkey1, dbkey2, …​) condition

Implemented by Dmitry Yemanov


#8114 — Segfault in connection pool during server shutdown

Implemented by Vlad Khorsun


#8110 — Firebird 5 crash on Android API level 34

Implemented by Vlad Khorsun


#8101 — Firebird crashes if a plugin factory returns nullptr and no error in the status

Implemented by Vlad Khorsun, Dimitry Sibiryakov


#8089 — AV when attaching database while low on free memory

Implemented by Vlad Khorsun


#8087 — AV when preparing a query with IN <list> that contains both literals and sub-query

Implemented by Vlad Khorsun


#8083 — AV when writing to internal trace log

Implemented by Vlad Khorsun


#8079 — Engine could crash when executing some trigger(s) while another attachment modifies them

Implemented by Vlad Khorsun


#8039 — Segfault when opening damaged (last TIP is missing in RDB$PAGES, user’s FW was OFF) database

Implemented by Alexander Peshkov


#8026 — Crash LI-V5.0.0.1306 in libEngine13.so

Implemented by Alexander Peshkov


#7998 — Сrash during partial index checking if the condition raises a conversion error

Implemented by Dmitry Yemanov


#7985 — Hang in case of error when sweep thread is attaching to database (Classic Server)

Implemented by Alexander Peshkov


#7979 — Hang when database with disconnect trigger using MON$ tables is shutting down

Implemented by Alexander Peshkov


isql

#8016 — Free memory issued for isql command list but has never been freed on output file write

Implemented by Alexey Mochalov


#7962 — System procedure/function inconsistency between isql SHOW FUNCTIONS and SHOW PROCEDURES

Implemented by Artyom Ivanov


gbak

#8003 — gbak v4 can’t backup database in ODS < 13

Implemented by Vlad Khorsun


#7996 — gbak terminates/crashes when a read error occurs during restore

Implemented by Vlad Khorsun


#7992 — Assertion (space > 0) failure during restore

Implemented by Vlad Khorsun


#7974 — Restore of wide table can fail with "adjusting an invalid decompression length from <N> to <M>"

Implemented by Vlad Khorsun


#7950 — Unable to restore database when .fbk was created on host with other ICU

Implemented by Alexander Peshkov


#7869 — GBAK can write uninitialized data into RDB$RETURN_ARGUMENT and RDB$ARGUMENT_POSITION fields

Implemented by Dmitry Kovalenko


Builds/Packaging

#8172 — File include/firebird/impl/iberror_c.h is missing in the Linux x64 tar archive

Implemented by Adriano dos Santos Fernandes


#8037 — Remove directory entries from debug symbols tarbal

Implemented by Alexander Peshkov


#8034 — (Re)set owner/group in tarbal of non-root builds

Implemented by Alexander Peshkov


Firebird 5.0 Release Candidate 2: Bug Fixes

Core Engine

#7904 — FB5 bad plan for query

Implemented by Dmitry Yemanov


#7903 — Unexpected results when using CASE-WHEN with LEFT JOIN

Implemented by Dmitry Yemanov


#7885 — Unstable error messages in services due to races related with service status vector

Implemented by Alexander Peshkov


#7879 — Unexpected results when using natural right join

Implemented by Dmitry Yemanov


#7867 — Error "wrong page type" during garbage collection on v4.0.4

Implemented by Ilya Eremin


#7853 — Do not consider non-deterministic expressions as invariants in pre-filters

Implemented by Dmitry Yemanov


#7839 — Potential bug in BETWEEN operator

Implemented by Vlad Khorsun


#7831 — Incorrect type of UDF-argument with array

Implemented by Dmitry Kovalenko


#7827 — Problem using Python firebird-driver with either Intel or M1 Mac builds with version 4.0.3 or 5.0+

Implemented by Adriano dos Santos Fernandes


#7817 — Memory leak is possible for UDF array arguments

Implemented by Dmitry Yemanov


#7795 — NOT IN <list> returns incorrect result if NULLs are present inside the value list

Implemented by Dmitry Yemanov


#7772 — Blob corruption in FB4.0.3 (embedded)

Implemented by Vlad Khorsun


#7767 — Slow drop trigger command execution under FB5.0

Implemented by Dmitry Yemanov


#7760 — Parameters inside IN list may cause a string truncation error

Implemented by Dmitry Yemanov


#7759 — Routine calling overhead increased by factor 6 vs Firebird 4.0.0

Implemented by Adriano dos Santos Fernandes


#7461 — Differences in field metadata descriptions between Firebird 2.5 and Firebird 4

Implemented by Dmitry Yemanov


Server Crashes/Hangups

#7917 — Hang in case of error when the sweep thread is attaching the database

Implemented by Alexander Peshkov


#7905 — Segfault during TIP cache initialization

Implemented by Alexander Peshkov


#7860 — Crash potentially caused by BETWEEN operator

Implemented by Vlad Khorsun


#7832 — Firebird 5 and 6 crash on "…​ RETURNING * " without INTO in PSQL

Implemented by Adriano dos Santos Fernandes


#7779 — Firebird 4.0.3 is constantly crashing with the same symptoms (fbclient.dll) (incl. DMP File Analysis)

Implemented by Vlad Khorsun


#7762 — Crash on "Operating system call pthread_mutex_destroy failed. Error code 16" in log

Implemented by Alexander Peshkov


isql

#7844 — Removing first column with SET WIDTH crashes ISQL

Implemented by Adriano dos Santos Fernandes


#7761 — Regression when displaying line number of errors in ISQL scripts

Implemented by Adriano dos Santos Fernandes


gbak

#7851 — [FB1+, GBAK, Restore] The skip of att_functionarg_field_precision does not check RESTORE_format

Implemented by Dmitry Kovalenko


#7846 — FB4 can’t backup/restore int128-array

Implemented by Dmitry Kovalenko


#7812 — Service backup does not work in multiple engines configuration

Implemented by Alexander Peshkov


#7800 — Default publication status is not preserved after backup/restore

Implemented by Dmitry Yemanov


#7770 — Restore takes 25% more time vs 4.0.0

Implemented by Vlad Khorsun


Firebird 5.0 Release Candidate 1: Bug Fixes

Core Engine

#7747 — Fix an issue where the garbage collection in indexes and blobs is not performed in VIO_backout

Fixed by Ilya Eremin


#7737 — Fix cases where the precedence relationship between a record page and a blob page is not set

Fixed by Ilya Eremin


#7731 — Display length of TIMESTAMP WITH TIMEZONE is wrong in Dialect 1

Fixed by Alexander Peshkov


#7730 — Server ignores the size of VARCHAR when performing SET BIND …​ TO VARCHAR(N)

Fixed by Alexander Peshkov


#7729 — SET BIND OF TIMESTAMP WITH TIMEZONE TO VARCHAR(128) uses the date format of Dialect 1

Fixed by Alexander Peshkov


#7727 — Index for integer column cannot be used when INT128/DECFLOAT value is being searched

Fixed by Dmitry Yemanov


#7723 — Wrong error message on login if the user doesn’t exist and WireCrypt is disabled

Fixed by Alexander Peshkov


#7713 — FOR SELECT statement can not see any changes made in DO block

Fixed by Vlad Khorsun


#7710 — Expression index — more than one null value cause attempt to store duplicate value error

Fixed by Vlad Khorsun


#7703 — Requests leak in AutoCacheRequest

Fixed by Alexander Peshkov


#7696 — SELECT from external procedure validates output parameters even when fetch method returns false

Fixed by Adriano dos Santos Fernandes


#7694 — Fix false positives of “missing entries for record X” error during index validation when a deleted record version is committed and has a backversion

Fixed by Ilya Eremin


#7691 — WITH CALLER PRIVILEGE has no effect in triggers

Fixed by Alexander Peshkov


#7683 — RDB$TIME_ZONE_UTIL.TRANSITIONS returns an infinite result set

Fixed by Adriano dos Santos Fernandes


#7676 — Error “attempt to evaluate index expression recursively

Fixed by Dmitry Yemanov


#7670 — Cursor name can duplicate parameter and variable names in procedures and functions

Fixed by Adriano dos Santos Fernandes


#7665 — Wrong result ordering in LEFT JOIN query

Fixed by Dmitry Yemanov


#7664 — DROP TABLE executed for a table with big records may lead to “wrong page type” or “end of file” error

Fixed by Vlad Khorsun, Ilya Eremin


#7662 — Fix performance issues in prepare_update()

Fixed by Ilya Eremin


#7661 — Classic Server rejects new connections

Fixed by Vlad Khorsun


#7649 — Switch Linux performance counter timer to CLOCK_MONOTONIC_RAW

Fixed by Adriano dos Santos Fernandes


#7641 — Fix wrong profiler measurements due to overflow

Fixed by Adriano dos Santos Fernandes


#7638 — OVERRIDING USER VALUE should be allowed for GENERATED ALWAYS AS IDENTITY

Fixed by Adriano dos Santos Fernandes


#7627 — The size of a database with big records becomes bigger after backup/restore

Fixed by Ilya Eremin


#7626 — Segfault when new attachment is done to shutting down database

Fixed by Alexander Peshkov


#7611 — Can’t backup/restore database from v3 to v4 with SEC$USER_NAME field longer than 10 characters

Fixed by Adriano dos Santos Fernandes


#7610 — Uninitialized/random value assigned to RDB$ROLESRDB$SYSTEM PRIVILEGES when restoring from FB3 backup

Fixed by Adriano dos Santos Fernandes


#7604 — PSQL functions do not convert the output BLOB to the connection character set

Fixed by Adriano dos Santos Fernandes


#7603 — BIN_SHR on INT128 does not apply sign extension

Fixed by Alexander Peshkov


#7599 — Conversion of text with '\0' to DECFLOAT without errors

Fixed by Alexander Peshkov


#7598 — DDL statements hang when the compiled statements cache is enabled

Fixed by Vlad Khorsun


#7582 — Missing isc_info_end in Firebird.pas

Fixed by Alexander Peshkov


#7574 — Derived table syntax allows dangling AS

Fixed by Adriano dos Santos Fernandes


#7569 — Multi-level order by and offset/fetch ignored on parenthesized query expressions

Fixed by Adriano dos Santos Fernandes


#7562 — Profiler elapsed times are incorrect in Windows

Fixed by Adriano dos Santos Fernandes


#7556 — FB Classic can hang when attempts to attach DB while it is starting to encrypt/decrypt

Fixed by Alexander Peshkov


#7555 — Invalid configuration for random fresh created database may be used after drop of another one with alias in databases.conf

Fixed by Alexander Peshkov


#7553 — Firebird 5 profiler error with subselects

Fixed by Adriano dos Santos Fernandes


#7548 — SET BIND OF TIMESTAMP WITH TIME ZONE TO CHAR is not working with UTF8 connection charset

Fixed by Adriano dos Santos Fernandes


#7537 — Wrong name in error message when unknown namespace is passed into RDB$SET_CONTEXT()

Fixed by Vlad Khorsun


#7535 — High CPU usage connect to Firebird 3 database using Firebird 4 Classic and SuperClassic service

Fixed by Vlad Khorsun


#7499 — Error during restore: “Index cannot be used in the specified plan

Fixed by Vlad Khorsun


#7488 — Invalid real to string cast

Fixed by Alexander Peshkov, Artyom Abakumov


#7486 — No initialization of rpb’s runtime flags causes problems with SKIP LOCKED when config ReadConsistency = 0 and SuperServer

Fixed by Adriano dos Santos Fernandes


#7484 — External engine SYSTEM not found

Fixed by Adriano dos Santos Fernandes


#7480 — Firebird server stops accepting new connections after some time

Fixed by Alexander Peshkov


#7456 — Impossible to drop function in package with name of PSQL-function

Fixed by Adriano dos Santos Fernandes


#7387 — Unreliable replication behaviour in Linux Classic

Fixed by Dmitry Yemanov


#7233 — Postfix for #5385 (CORE-5101): Fix slow database restore when Classic server mode is used

Fixed by Ilya Eremin


Server Crashes/Hangups

#7738 — Crash on multiple connections/disconnections

Fixed by Alexander Peshkov


#7658 — Segfault when closing database in valgrind-enabled build

Fixed by Alexander Peshkov


#7554 — Firebird 5 partial index creation causes server hang up

Fixed by Vlad Khorsun


#7514 — Segfault when detaching after deleting shadow on Classic

Fixed by Alexander Peshkov


#7504 — Segfault when closing SQL statement in remote provider during shutdown

Fixed by Alexander Peshkov


#7472 — Window functions may lead to crash interacting with others exceptions

Fixed by Adriano dos Santos Fernandes


#7464 — Crash on repeating update in 5.0

Fixed by Adriano dos Santos Fernandes


nbackup

#7579 — Cannot nbackup a Firebird 3.0 database in Firebird 4.0 service with engine12 setup in Providers

Fixed by Alexander Peshkov


Firebird 5.0 Beta 1 Release: Bug Fixes

Note

This sections enumerates only bugfixes not already fixed in maintenance releases of earlier Firebird versions.

Core Engine

#7422 — Seek in temporary blob level 0 makes read return wrong data

Fixed by Adriano dos Santos Fernandes


#7388 — Different invariants optimization between views and CTEs

Fixed by Dmitry Yemanov


#7304 — Events in system attachments (like garbage collector) are not traced

Fixed by Alex Peshkov


#7227 — Dependencies of subroutines are not preserved after backup restore

Fixed by Adriano dos Santos Fernandes


#7220 — TYPE OF COLUMN dependency not tracked in package header and external routines

Fixed by Adriano dos Santos Fernandes


#7183 — Regression when derived table has column evaluated as result of subquery with IN, ANY or ALL predicate: “invalid BLR at offset …​ / context already in use

Fixed by Adriano dos Santos Fernandes


#7164 — Multi-way hash/merge joins are impossible for expression-based keys

Fixed by Dmitry Yemanov


#7133 — ORDER BY for big (>34 digits) int128 values is broken when index on that field is used

Fixed by Alex Peshkov


#7077 — EXECUTE BLOCK (without RETURNS) do not work with batches

Fixed by Adriano dos Santos Fernandes


#7009 — IReplicatedTransaction receives wrong savepoint event

Fixed by Dimitry Sibiryakov, Dmitry Yemanov


#6942 — Incorrect singleton error with MERGE and RETURNING

Fixed by Adriano dos Santos Fernandes


#6869 — Domain CHECK-expression can be ignored when we DROP objects that are involved in it

Fixed by Adriano dos Santos Fernandes


#6807 — Regression: error “Unexpected end of command” with incorrect line/column info

Fixed by Adriano dos Santos Fernandes


#5749 — “Token unknown” error on formfeed in query

Fixed by Adriano dos Santos Fernandes


#3812 — Query with a stored procedure doesn’t accept explicit plan

Fixed by Dmitry Yemanov


#3218 — Optimizer fails applying stream-local predicates before merging

Fixed by Dmitry Yemanov


Server Crashes/Hangups

#7195 — Crash when accessing already cleared memory in the sorting module

Fixed by Andrey Kravchenko


gbak

#7436 — Backup error for wide table

Fixed by Alex Peshkov