Firebird Documentation Index → Firebird 2.5 Release Notes → Bugs Fixed → Old Bugs Fixed |
The following bugs were reported as fixed during Firebird v.2.5 development:
(CORE-3034)
If a request was cancelled for some reason, such
as database shutdown or by a user request, while inserting key into an expression index,
it could lead to bugcheck 300 (can't find shared latch).
fixed by V. Khorsun
~ ~ ~
(CORE-3016)
On disconnect a “Fatal lock manager
error: invalid lock id (0), errno: 0” could show up in firebird.log
.
fixed by V. Khorsun
~ ~ ~
(CORE-3015)
Various “Cannot initialize the shared
memory region” errors were reported.
fixed by V. Khorsun
~ ~ ~
(CORE-3003)
New checks for the existence of a SUSPEND
statement in a procedure being called via SELECT statement were working properly: if the procedure
was called via a SELECT statement and SUSPEND was not present, an error would be thrown, e.g.,
“Procedure ... is not selectable (it does not contain a SUSPEND statement)”.
However, if the same error condition occurred during a RESTORE, it could cause the restore to fail.
fixed by D. Yemanov
~ ~ ~
(CORE-2995)
A single error in the status vector
was being reported twice.
fixed by V. Khorsun
~ ~ ~
(CORE-2993)
On a highly loaded system, the fatal
lock manager error “Invalid lock id (NNN)” could occur while working with monitoring
tables.
fixed by V. Khorsun, D. Yemanov
~ ~ ~
(CORE-2900)
Using a request containing an aggregated
DISTINCT could cause regular but random memory access violations.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2977)
The server was working incorrectly with
indexed fields of type DATE
in databases with ODS lower than 10.
fixed by V. Khorsun
~ ~ ~
(CORE-2965)
The ROW_COUNT
value
returned after a subquery involving a SINGULAR
predicate was inconsistent
with the rules, viz., ROW_COUNT
is meant to count rows affected by an update
or delete and should not return non-zero value from subqueries.
fixed by D. Yemanov
~ ~ ~
(CORE-2956)
Problems with requests processing
procedure parameters.
fixed by V. Khorsun
~ ~ ~
(CORE-2943)
An error would occur during parsing
of a recursive query with two recursive parts.
fixed by V. Khorsun
~ ~ ~
(CORE-2936)
If two consecutive leaf index pages were
removed (garbage collected) from an index simultaneously by two different connections, the
linked list of sibling pages could be broken, with the sibling pointer at another index page left
pointing to the freed index page. When the freed page was allocated again, index corruption
would be reported as “Wrong page type (expected 7 found N)”.
fixed by V. Khorsun
~ ~ ~
(CORE-2916)
Error handling was broken in the
case of a conversion error occurring during index creation.
fixed by D. Yemanov
~ ~ ~
(CORE-2893)
An expression within a subquery could be
treated as invariant and produce incorrect results.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2879)
Sweep could raise the error
page 0 is of wrong type (expected 6, found 1).
fixed by V. Khorsun
~ ~ ~
(CORE-2876)
Unintelligent error handling when using
ALTER DATABASE ADD DIFFERENCE FILE could cause the engine to get confused
about the backup mode of a database.
fixed by A. Peshkov
~ ~ ~
(CORE-2875)
Comparing a CHAR column longer than 4096
bytes with a string constant would cause a string right truncation error.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2871)
If a derived table or a view contained
both a left/right join and an ORDER BY clause and the outer query also contained an ORDER BY
clause, the outer ORDER BY clause would have no effect.
fixed by D. Yemanov
~ ~ ~
(CORE-2858)
Memory trashing was possible when raising
some exceptions to signal failed security checks.
fixed by C. Valderrama
~ ~ ~
(CORE-2856)
A non-NULL key in a unique index could not
be found when the key was removed
fixed by V. Khorsun
~ ~ ~
(CORE-2833)
Changing data that affected an expression
index would fail if that data contained references to null date fields.
fixed by D. Yemanov
~ ~ ~
(CORE-2826)
Join condition would fail for
UTF-8 databases.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1089)
Selecting from a view that used DISTINCT
and LEFT JOIN returned records in the wrong order if the ORDER BY clause did not include columns
from the right-side (non-mandatory) table.
fixed by D. Yemanov
~ ~ ~
(CORE-195)
Regression of an old bug, previously
fixed in v.1.5.1, whereby a bugcheck 291 (cannnot find back record version) would occur when
updating the same record that had already fired an action in a BEFORE UPDATE trigger. The
regression that was reintroduced in v.2.0 was less destructive, insofar as it affected only
the record that was physically first in the table.
fixed by A. Peshkov
~ ~ ~
(CORE-2822)
The error “no current row for fetch operation”
was being thrown when a subquery included a non-trivial derived table.
fixed by D. Yemanov
~ ~ ~
(CORE-2820)
Queries with PLAN ORDER were exhibiting
small memory leaks as a side effect of an earlier, major fix.
fixed by V. Khorsun
~ ~ ~
(CORE-2815)
Tidy-up of a logic condition that could cause
the page inventory page to be marked for change after it was already changed.
fixed by V. Khorsun
~ ~ ~
(CORE-2785)
An improperly handled BLOB transliteration problem
showed up under specific conditions, viz., where an input argument string in single-byte Cyrillic text,
for storing as COMMENT with an object definition, overstepped the maximum 64 KB size of a non-initial BLOB
segment when transliterated. Its surplus bytes were causing an immediate transliteration error instead of
being deferred for inclusion in the subsequent chunk, as they should have been.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2783)
An access violation would occur when a
recursive query was used as a subquery in the SELECT list and its result was specified as an
ORDER BY criterion.
fixed by V. Khorsun
~ ~ ~
(CORE-2730)
A bus error could occur when working
with DB_KEY on RISC machines: when casting from a literal (which has no alignment requirements)
to db_key, alignment is necessary at the QWORD boundary and should have been enforced.
fixed by A. Peshkov
~ ~ ~
(CORE-2722)
Storage of a malformed blob was
being allowed when copying from a blob with NONE/OCTETS character set.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2660)
COUNT(*) would incorrectly return 0 when a match
was not found for an outer join condition. Now it correctly returns NULL.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2659)
The query plan for an outer join involving complex
views could be sub-optimal, by not making use of an available index.
fixed by D. Yemanov
~ ~ ~
(CORE-2640)
Under some conditions, the lock manager
could fail to detect a regular deadlock and cause the server to hang.
fixed by V. Khorsun, D. Yemanov
~ ~ ~
(CORE-2635)
A unique index could be corrupted at level 1
if it contained a lot of NULL keys.
fixed by V. Khorsun
~ ~ ~
(CORE-2632)
Unexpected “Invalid BLOB ID” errors
could occur when working with the monitoring tables.
fixed by V. Khorsun
~ ~ ~
(CORE-2616)
Error “page <N> is of wrong
type (expected 7, found 5)” could occur under load, giving the impression that something
had corrupted the database. On restart, there would be no evidence of corruption.
fixed by V. Khorsun
~ ~ ~
(CORE-2608)
On latter versions of Windows (64-bit XP or
later, 32-bit Vista or later), when Firebird is working with large databases, the operating system
dedicates all RAM to the filesystem cache and stops responding. Windows may also crash.
It is a documented issue. For Firebird, it has been addressed by implementing a new parameter, FileSystemCacheSize in firebird.conf to control the amount of RAM used for filesystem caching.
fixed by N. Samofatov
~ ~ ~
(CORE-2602)
Attachments using character set NONE could fail
to read from the monitoring tables.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2591)
High mutex wait ratio and degraded performance
would start to show up after a period of normal performance.
fixed by D. Yemanov
~ ~ ~
(CORE-2581 and
CORE-2582)
Infinity and NAN results from any expressions,
including internal and external function calls, were not trapped by the engine as exceptions in some
circumstances.
fixed by C. Valderrama
~ ~ ~
(CORE-2578)
Selecting RDB$DBKEY from a view
with more than one table joined would return a conversion error.
fixed by A. dos Santos Fernandes, A Peshkov
~ ~ ~
(CORE-2514)
An error concerning CreateFile was being
reported when space on the 'temp' drive was insufficient.
fixed by D. Yemanov
~ ~ ~
(CORE-2422
and CORE-2321)
The server was not switching between
multiple locations configured in TempDirectories. Instead, the sorting would fail when the first
configured temporary directory had insufficient free space. Typically, the user would see a sorted
or other query that required a large amount of temp space fail with an error like 'operating system
directive write failed. Invalid argument.'
fixed by D. Yemanov
~ ~ ~
(CORE-2315)
Firebird FLOAT support did not conform to
the original InterBase specification. According to the IB documentation, a FLOAT value should
have a range from 1.175E-38 to 3.402E38. Cross-platform tests proved that the largest value that
would not overflow was < 3.4E38.
fixed by W. Oliver
~ ~ ~
(CORE-1991)
When a UDF was declared with BLOB
parameters, the engine was storing null in RDB$FUNCTION_PARAMETERS.RDB$FIELD_LENGTH. This was
causing a run-time 'message length error'.
fixed by D. Sibiryakov
~ ~ ~
(CORE-1781)
The engine would throw a consistency
check error when a subquery was ordered by an aggregate function from another context.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2564)
Bus errors would be thrown when
working with the monitoring tables on RISC machines.
fixed by A. Peshkov
~ ~ ~
(CORE-2550)
Bus errors would be thrown when working
with DB_KEY on big-Endian machines.
fixed by A. Peshkov
~ ~ ~
(CORE-2538)
PSQL would not allow use of a
singleton query result as an input parameter to a stored procedure if the procedure was called
using EXECUTE PROCEDURE.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2532)
Volume sizes in a multi-volume
database were being assigned incorrectly.
fixed by V. Khorsun
~ ~ ~
(CORE-2526)
The server could be shut down without
regard to connections to services.
fixed by A. Peshkov, D. Yemanov
~ ~ ~
(CORE-2505)
Built-in trigonometric functions could
produce NaN and Infinity.
fixed by C. Valderrama
~ ~ ~
(CORE-2501)
Binary shift functions would give wrong
results with negative shift values.
fixed by C. Valderrama
~ ~ ~
(CORE-2499)
The implementation limit of DISTINCT
items was not being enforced, causing incorrect BLR to be generated.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2482)
Monitoring tables data collection was unstable
when the database was accepting attachments or detachments.
fixed by A. Peshkov
~ ~ ~
(CORE-2475)
External table data was not visible to Classic
sessions other than the first to access the table.
fixed by V. Khorsun
~ ~ ~
(CORE-2449)
An unexpected “lock conflict” error
could be thrown in lieu of the expected exception.
fixed by D. Yemanov
~ ~ ~
(CORE-2444)
The engine could hang when multiple
attachments registered their interest in events simultaneously and free space in the events table
became exhausted.
fixed by V. Khorsun
~ ~ ~
(CORE-2426)
ALTER TABLE was not respecting
collations.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2416)
Preparing a query with aggregation over a
derived table would cause an access violation.
fixed by V. Khorsun
~ ~ ~
(CORE-2411)
The optimizer would choose a slower PLAN for
certain types of query than it would in versions 2.0.4 and 2.1.1. (The bug affected versions 2.0.5
and 2.1.2 as well.)
fixed by D. Yemanov
~ ~ ~
(CORE-2397)
Dropping more than one index on a table
within the same transaction could cause corruption.
fixed by V. Khorsun
~ ~ ~
(CORE-2359)
Logical multibyte maximum string length was
not respected when assigning numbers.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2331)
ALTER DOMAIN would result in an invalid
RDB$FIELD_SUB_TYPE value being stored.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2272)
The server would start returning garbage
when killing an events connection attempt.
fixed by A. Peshkov
~ ~ ~
(CORE-1971)
Set the fixed and documented evaluation order
(always left to right) for the WHERE clause and other predicates.
fixed by D. Yemanov
~ ~ ~
(CORE-1346)
LPAD() and RPAD() functions hit
implementation restrictions when applied to more than one column in a statement.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2356)
On Windows the listener process of
Classic Server was unable to create the necessary resources after restart if any worker
process was present.
fixed by V. Khorsun
~ ~ ~
(CORE-2355)
Incorrect handling of LOWER/UPPER when
result string shrinks in terms of byte length.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2351)
It was not possible to create a database
whose <file specification> was an alias, even though the alias existed.
fixed by A. Peshkov
~ ~ ~
(CORE-2349)
The “Invalid SQLDA” error
was being falsely thrown.
fixed by V. Khorsun
~ ~ ~
(CORE-2348)
More database corruption problems showed up
resulting from transaction numbers overflowing 32-bit signed integer.
fixed by V. Khorsun
~ ~ ~
(CORE-2340)
Bugcheck 258 (page slot not empty) could
occur under high concurrent load.
fixed by V. Khorsun
~ ~ ~
(CORE-2320)
A complex recursive query did not
always return all rows.
fixed by V. Khorsun
~ ~ ~
(CORE-2313)
INF_* functions could invalidate the
whole output buffer with isc_info_truncated at the beginning, due to a boundary condition.
fixed by C. Valderrama
~ ~ ~
(CORE-2311)
A WITH RECURSIVE query could cause
memory leakage.
fixed by V. Khorsun
~ ~ ~
(CORE-2300)
The second evaluation of SUBSTRING()
would throw an unexpected arithmetic exception, numeric overflow, or string
truncation error.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2289)
The wrong name was being reported
for the referenced primary key when a foreign key violation occurred during foreign
key creation.
fixed by V. Khorsun
~ ~ ~
(CORE-2242)
The engine was incorrectly populating integer
containers in the blob parameter buffer (BPB) with integers in machine-local format, causing
errors on Big Endian platforms.
fixed by A. Peshkov
~ ~ ~
(CORE-2241)
If an ALTER TABLE ALTER COLUMN.. operation was
performed on a table in the course of a bulk insert operation, minor index corruption could occur
causing subsequent queries to return the wrong number of records. The bug was traced to legacy
code in BTR\compress_root().
fixed by V. Khorsun
~ ~ ~
(CORE-2230)
Input parameters for EXECUTE BLOCK were
not being domain-checked.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2186)
In the Windows embedded server,
fbintl.dll was not being unloaded after the
isc_dsql_execute_immediate() during the processing for CREATE DATABASE.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2182)
It was not possible to drop an existing UDF whose
name was duplicated by the name of a new built-in function.
fixed by D. Yemanov
~ ~ ~
(CORE-2154)
A “request synchronization
error” would occur when calling isc_dsql_sql_info() with the
isc_info_sql_records parameter after the last record had been fetched
with EXECUTE PROCEDURE.
fixed by V. Khorsun
~ ~ ~
(CORE-2132)
Indexed retrieval could not be chosen
if a stored procedure call was used in the comparison predicate.
fixed by D. Yemanov
~ ~ ~
(CORE-2117)
Incorrect ROW_COUNT values were being returned
with indexed retrieval and subqueries.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2115)
For some long queries the query plan could
go missing.
fixed by D. Yemanov
~ ~ ~
(CORE-2101)
A Bugcheck 249 (pointer page
vanished) error would be thrown when an attempt was made to fetch beyond the
end-of-stream mark of an open PSQL cursor.
fixed by D. Yemanov
~ ~ ~
(CORE-2098)
It was not possible to create a view
that selected from a global temporary table.
fixed by V. Khorsun
~ ~ ~
(CORE-2078)
If selective non-indexed predicates were
involved in a join, the join plan was not optimized as well as it could be.
fixed by D. Yemanov
~ ~ ~
(CORE-2075)
Parts of the RDB$DB_KEY of views could be
inverted when using outer joins.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2073)
Expression indices bug: incorrect result
for the inverted boolean.
fixed by D. Yemanov
~ ~ ~
(CORE-2069)
Incorrect view expansion when RDB$DB_KEY
was used inside a view body.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2068)
Comparision would return a wrong
result with the IN <subquery_expression> operand if the <subquery_expression>
argument involved the RDB$DB_KEY.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2067)
GROUP BY and RDB$DB_KEY problems
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2066)
Conversion of SQL_TEXT / SQL_VARCHAR
to SQL_TIMESTAMP / SQL_TIME / SQL_DATE
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2053)
Computed expressions could suffer from
poor optimization if used inside the RETURNING clause of the INSERT statement.
fixed by D. Yemanov
~ ~ ~
(CORE-2045)
A v.2.1 regression was picked up,
whereby references to non-existent system fields with blr_field
were not
being resolved to NULL, whereas a parallel change involving blr_fld
was
exhibiting the proper corrective behaviour.
fixed by dos Santos Fernandes
~ ~ ~
(CORE-2044)
Incorrect result for UPDATE OR INSERT
... RETURNING OLD and non-nullable columns
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2041)
UPDATE OR INSERT with GEN_ID() was causing the
generator to step by 3.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2039)
Domain-level CHECK constraints were processing
NULL values wrongly.
fixed by D. Yemanov
~ ~ ~
(CORE-2031)
NULL in the first record in a
condition on RDB$DB_KEY
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2027)
The buffer size for ORDER BY expressions
involving system fields was being calculated wrongly.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2026)
Problem with a read-only marked
database
fixed by V. Khorsun
~ ~ ~
(CORE-2008)
NOT NULL flag for procedure parameters
in the system schema
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2002)
A conversion error from a UDF result would
leave a memory leak if the result was marked with FREE_IT.
fixed by C. Valderrama
~ ~ ~
(CORE-2001)
When trying to show a conversion error,
the message arithmetic exception or string truncation was sometimes appearing
instead.
fixed by C. Valderrama
~ ~ ~
(CORE-2000)
The Lock Manager could report false
deadlocks under high load.
fixed by V. Khorsun
~ ~ ~
(CORE-1986)
Altering the name of a domain was causing
dependencies on the domain to be dropped.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1984)
The Lock Manager could falsely report
a deadlock if one of the alleged participants was waiting with a permitted timeout.
fixed by V. Khorsun
~ ~ ~
(CORE-1980)
Sweeper could consume 100% of CPU
indefinitely.
fixed by V. Khorsun
~ ~ ~
(CORE-1970)
Lock conversion denied (215) errors
could occur.
fixed by V. Khorsun
~ ~ ~
(CORE-1962)
The function EXTRACT
(MILLISECONDS FROM aTimeStampOrTime) was returning incorrect results.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1958)
A Bugcheck 179 (decompression
overran buffer) consistency check error would be thrown when attempts were made to update
the same record multiple times in a transaction.
fixed by D. Yemanov
~ ~ ~
(CORE-1957)
Long access control lists (ACLs) were
being truncated, causing privileges to disappear.
fixed by A. Peshkov
~ ~ ~
(CORE-1943)
A statement that aggregated on a RAND()
expression would return infinite rows.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1938)
Bugcheck 243 (missing pointer page) was
being thrown on preparing or executing statements that referred to a table being dropped or
recreated by another connection.
fixed by D. Yemanov
~ ~ ~
(CORE-1936)
The built-in function LOG(base,
number) was not checking parameters and would deliver NAN values for out-of-range input
instead of excepting.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1914)
If a problem occurred during table
creation, the database could be left in an inconsistent state.
fixed by A. Peshkov
~ ~ ~
(CORE-1812)
For some date/time expressions in
dialect 1, indexes were not being used when they should have been.
fixed by D. Yemanov
~ ~ ~
(CORE-1650)
An improbable case was demonstrated whereby
something like SELECT GEN_ID(..) FROM RDB$DATABASE with a GROUP BY
operation would cause rows to be generated infinitely.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1607)
A correlated subquery that depended on a
UNION stream would be poorly optimized.
fixed by D. Yemanov
~ ~ ~
(CORE-1606)
Ability to insert child record if parent
record is locked but foreign key target unchanged
fixed by A. Potapchenko, V. Khorsun
~ ~ ~
(CORE-1575)
Multiple updates to a table in a single
transaction would throw up a serious memory bug.
fixed by D. Yemanov
~ ~ ~
(CORE-1544)
When a user application created
“temporary” stored procedures in run-time for some run-time purpose, the internal
generator for the RDB$PROCEDURES.RDB$PROCEDURE_ID column could easily overflow the 32K limit
(a signed SMALLINT) in its internal generator and cause a “numeric overflow”
exception on trying to create the new stored procedure.
The fix wraps around the generated value at the 32K boundary, allowing reuse of existing gaps in the ID numbering. A similar fix was applied to RDB$GENERATORS and RDB$EXCEPTIONS as well.
fixed by D. Yemanov
~ ~ ~
(CORE-1343)
Simple case and a subquery
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1246)
Outer joins with derived tables returned
incorrect results.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1245)
Outer joins with views returned incorrect
results.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-903)
Firebird's behaviour with regard to
multiple assignments referring to the same column in the SET clause of an UPDATE statement did
not comply with the standard.
fixed by D. Yemanov
~ ~ ~
(CORE-501)
COALESCE exhibited an optimization
problem.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-216)
Privileges could be lost if a
database contained too many.
fixed by A. Peshkov
~ ~ ~
(CORE-1421)
SuperServer could not shut down immediately if the
shutdown request followed a failed login attempt.
fixed by A. Peshkov
~ ~ ~
(CORE-1907)
Dropping and adding a domain constraint in the same
transaction would leave incorrect dependencies.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1905)
Hash sign (#) in filenames in aliases.conf was being
handled incorrectly.
fixed by C. Valderrama
~ ~ ~
(CORE-1887)
Newly created databases had wrong access rights.
fixed by A. Peshkov
~ ~ ~
(CORE-1869)
Roles granting/revoking logic differed between v.2.0
and v.2.1.
fixed by A. Peshkov
~ ~ ~
(CORE-1841)
If some VIEW used derived tables and long table
names/aliases, it was possible to overflow RDB$VIEW_RELATIONS.RDB$CONTEXT_NAME.
fixed by V. Khorsun
~ ~ ~
(CORE-1840)
Each DDL execution would cause a small memory leak.
fixed by D. Yemanov
~ ~ ~
(CORE-1838)
SET STATISTICS INDEX on an index for a GTT could
wrongly change the index id by the maximum available number for the database page size.
fixed by V. Khorsun
~ ~ ~
(CORE-1830)
Possible index corruption with multiple updates of the
same record in the same transaction with savepoints being used.
fixed by V. Khorsun
~ ~ ~
(CORE-1817)
The RelaxedAliasChecking parameter was having no effect
with regard to RDB$DB_KEY.
fixed by V. Khorsun
~ ~ ~
(CORE-1811)
Parser reacted incorrectly to the unquoted usage of
the keyword “VALUE”.
fixed by D. Yemanov
~ ~ ~
(CORE-1798)
RDB$DB_KEY was being evaluated as NULL in INSERT ...
RETURNING.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1797)
OLD/NEW.RDB$DB_KEY returned incorrect result in
triggers.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1784)
Error with EXECUTE PROCEDURE inside EXECUTE STATEMENT.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1777)
Conflicting table reservation specifications were being
allowed in the TPB.
fixed by C. Valderrama
~ ~ ~
(CORE-1775)
Security checking was performing poorly during
prepare.
fixed by V. Khorsun
~ ~ ~
(CORE-1770)
Bugcheck 291 in DDL.
fixed by A. Peshkov
~ ~ ~
(CORE-1735)
Behavour problem with SET DEFAULT action argument in
referential integrity triggers.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1731)
Sometimes engine would hang for several minutes, using
1000% CPU load but with no I/O activity.
fixed by V. Khorsun
~ ~ ~
(CORE-1730)
Problems arose if one of the directories specified in
the TempDirectories config setting was not available.
fixed by D. Yemanov
~ ~ ~
(CORE-1724)
Common table expressions could not be used in computed
columns nor in quantified predicates (IN / ANY / ALL).
fixed by V. Khorsun
~ ~ ~
(CORE-1694)
Bug in CREATE/ALTER database trigger, where comments
were in Russian.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1693)
Error in EXECUTE STATEMENT inside CONNECT / TRANSACTION
START triggers.
fixed by A. dos Santos Fernandes, D. Yemanov
~ ~ ~
(CORE-1689)
“There are <n> dependencies” error
message shows the wrong count of dependent objects
fixed by C. Valderrama
~ ~ ~
(CORE-1357)
DummyPacketInterval mechanism was broken.
fixed by D. Yemanov
~ ~ ~
(CORE-1307)
Switch -s of fb_inet_server was not being processed
correctly
fixed by A. Peshkov
~ ~ ~
(CORE-479)
Grants would overwrite previous entries in
RDB$SECURITY_CLASSES.
fixed by A. Peshkov
~ ~ ~
(CORE-3011)
The server could hang or crash while monitoring
connections that were repeatedly attaching and detaching.
fixed by D. Yemanov
~ ~ ~
(CORE-2908)
The engine could crash or raise
unexpected errors when working with an ODS 8.x database.
fixed by V. Khorsun
~ ~ ~
(CORE-2888)
A source of memory corruption could
cause incorrect query evaluation and could even crash the server.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2576)
The server could crash when parsing wrong
or truncated BLR.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2455)
The server would fail when doing DROP
DATABASE right after an error occurred in a statistical function.
fixed by A. Peshkov
~ ~ ~
(CORE-2441)
The server could crash on executing an
UPDATE OR INSERT statement.
fixed by A. Peshkov
~ ~ ~
(CORE-2306)
Superserver could terminate abnormally
when some worker thread failed to start.
fixed by A. Peshkov
~ ~ ~
(CORE-2368)
An access violation would follow the call
to isc_cancel_events() if the event was not found.
fixed by V. Khorsun
~ ~ ~
(CORE-2222)
Storing a text blob with a transliterating blob
filter could cause an access violation in the engine.
fixed by V. Khorsun
~ ~ ~
(CORE-2137)
A database restore could crash the server when
the configuration parameter DummyPacketInterval was set explicitly.
fixed by D. Yemanov
~ ~ ~
(CORE-2121)
The Client library could crash in the course
of an operation involving BLOBs.
fixed by A. Peshkov
~ ~ ~
(CORE-1983)
An out-of-memory condition in the
operating system would cause an access violation.
fixed by A. Peshkov
~ ~ ~
(CORE-1965)
The Lock Manager would crash with an invalid
lock ID under concurrent DDL load.
fixed by D. Yemanov
~ ~ ~
(CORE-1894)
Circular dependencies between computed
fields would crash the server.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1963)
The server could crash on commit when
granting/revoking privileges from multiple connections simultaneously.
fixed by D. Yemanov
~ ~ ~
(CORE-1506)
Server crashes with isc_dsql_execute_immediate()
and a zero-length string.
fixed by A. Peshkov
~ ~ ~
(CORE-210)
The Classic server would crash if the
same stored procedure was being altered in two separate processes.
fixed by D. Yemanov
~ ~ ~
(CORE-1930)
Possible server crash if procedure was altered to
have no outputs and dependent procedures were not recompiled
fixed by V. Khorsun
~ ~ ~
(CORE-1919)
Memory corruptions in EXECUTE STATEMENT could crash
the server.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1884)
Random crashes using stored procedures with expressions
as default values for input parameters.
fixed by V. Khorsun
~ ~ ~
(CORE-1839)
Server could crash when sorting by a field that was
calculated using a recursive CTE.
fixed by A. Peshkov
~ ~ ~
(CORE-1793)
Server crashes at prepare of query with unused
parameterized CTE.
fixed by V. Khorsun
~ ~ ~
(CORE-1512)
Server crashes due to the wrong parsing of the
DEFAULT clause.
fixed by D. Yemanov
~ ~ ~
(CORE-2209)
Monitoring requests in high load conditions
could become very slow and even block other activity during that time.
fixed by D. Yemanov
~ ~ ~
(CORE-2171)
The column MON$CALLER_ID of table MON$CALL_STACK
was reporting invalid IDs.
fixed by D. Yemanov
~ ~ ~
(CORE-2017)
I/O statistics for stored procedures were
not being kept account of in the monitoring tables.
fixed by D. Yemanov
~ ~ ~
(CORE-1944)
On Big Endian platforms, the monitoring
tables contained wrong data.
fixed by A. Peshkov
~ ~ ~
(CORE-1890)
Database monitoring process could hang under high
load.
fixed by D. Yemanov
~ ~ ~
(CORE-1881)
Database monitoring could crash the server or badly
affect its page locking logic.
fixed by D. Yemanov
~ ~ ~
(CORE-1728)
Database monitoring would not work after a fresh Linux
install.
fixed by A. Peshkov
~ ~ ~
(CORE-1910)
Invalid fields were accepted in the insert clause for
MERGE.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1859)
Arithmetic overflow or division by zero could occur in
MAX() function.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1828)
Error with ABS() function in dialect 1.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2831)
Database and user name should not be
in the output when a script is extracted.
fixed by C. Valderrama
~ ~ ~
(CORE-2741)
Metadata extract would misinterpret the DDL of
a CHECK constraint if the CHECK keyword was in any character mix other than all lower case or all
upper case.
fixed by C. Valderrama
~ ~ ~
(CORE-915)
The metadata extract tools of isql
were doubling line breaks in PSQL body code in cases where the PSQL body had been written in
a third-party Windows text editor.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2408)
The isql metadata extraction process
was placing default values for procedure parameters before the NOT NULL and COLLATE flags.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2407)
The isql metadata extraction process was
omitting the PAGE_SIZE clause from the CREATE DATABASE statement.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2370)
An SQL plan of more than 2048 characters
was not printed at all in isql.
fixed by C. Valderrama
~ ~ ~
(CORE-2270)
When run in a zlogin
console, isql would consume all memory and crash.
fixed by J. Swierczynski, A. Peshkov
~ ~ ~
(CORE-1891)
SHOW VIEW would show nonsense information for view
fields with expressions.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1875)
Errors in scripts with CURRENT_DATE.
fixed by V. Khorsun
~ ~ ~
(CORE-1862)
Extracted script was unusable with interdependent
selectable procedures in FB 2.1
fixed by C. Valderrama
~ ~ ~
(CORE-1782)
Isql would crash when fetching data for a column having
an alias longer than 30 characters.
fixed by D. Yemanov
~ ~ ~
(CORE-1749)
DDL statement with AUTODDL ON was not showing
statistics.
fixed by D. Yemanov
~ ~ ~
(CORE-1507)
ISQL linecount facility in scripts goes out of sync
after an INPUT command.
fixed by C. Valderrama
~ ~ ~
(CORE-1363)
ISQL would crash when the string converted from a
double was longer than 23 bytes.
fixed by C. Valderrama
~ ~ ~
(CORE-2928)
Buffer overflow in gsec
fixed by A. Peshkov
For reasons unknown, the gsec code copies the value of the password hash to an internal user data structure during a display operation. Since V.2.0, when the newer hash algorithm made the hash longer than previously, the buffer used for storing it could be too short.
This does not create a vulnerability because the hash value does not travel anywhere. It is harmless, anyway: the buffer overflow cannot be exploited because the first, middle and last names are filled immediately after the password.
It is fixed now, thus avoiding having newer versions of glibc detecting this overflow.
~ ~ ~
(CORE-2528)
The gsec utility did not return error codes to
the operating system.
fixed by C. Valderrama
~ ~ ~
(CORE-1680)
Gsec DISPLAY was showing only a few of the first users
when the security databases contained more than 50 users.
fixed by A. Peshkov
~ ~ ~
(CORE-2914)
Restoring a database having an expression
index referencing a non-existent UDF would cause the server to crash.
fixed by D. Yemanov
~ ~ ~
(CORE-2793)
The binary representation of a backup file
was demonstrated to be not consistent from one backup to another, when tested over multiple
backup/restore cycles of the same data. It was reported as applicable to all gbak
versions since v.1.5.4. To date, it has been fixed here, in v.2.1.4 and in the v.3.0 alpha.
fixed by D. Yemanov
~ ~ ~
(CORE-2634)
A regression had arisen whereby performance
dropped when restoring a database with a large amount of metadata.
fixed by A. Peshkov
~ ~ ~
(CORE-2291)
The error Bugcheck 284 (cannot
restore singleton select data) would be thrown on bad trigger code involving [FOR]
SELECT, when the engine should have been detecting the error and throwing the proper exception.
fixed by V. Khorsun
~ ~ ~
(CORE-2285)
A database with a large number of grants
could become corrupted after a backup/restore.
fixed by A. Peshkov
~ ~ ~
(CORE-2245)
A database with long exception messages
defined would exhibit errors when being restored from a backup.
fixed by C. Valderrama
~ ~ ~
(CORE-2223)
gbak was encountering several bugs when operating
on the access control lists (ACLs) that store SQL privileges.
fixed by A. Peshkov
~ ~ ~
(CORE-2214)
Security classes were being restored
incorrectly.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1911)
Backup and restore were not thread-safe when using
the Services API.
fixed by C. Valderrama
~ ~ ~
(CORE-1843)
Gbak with Service Manager would not allow paths with
spaces.
fixed by A. Peshkov
~ ~ ~
(CORE-1703)
Delays/lockups when the gbak output was redirected
to another process.
fixed by D. Yemanov
~ ~ ~
(CORE-2750)
Physical backup could not restart
operations after the explicit difference file had been dropped.
fixed by C. Valderrama
~ ~ ~
(CORE-2648)
NBackup's delta file was not respecting the
“Forced Writes” database setting.
fixed by V. Khorsun
~ ~ ~
(CORE-2266)
nBackup's database locking was not working
correctly, causing database file growth to continue when database writes should have been in
suspension.
fixed by V. Khorsun
~ ~ ~
(CORE-1696)
Deadlock would occur in the Lock Manager
when the NBackup utility was in use.
fixed by R. Simakov
~ ~ ~
(CORE-1876)
Incremental backups with NBACKUP were broken
in v.2.1.
fixed by N. Samofatov
~ ~ ~
(CORE-2846)
If gfix -shut <mode> -attach <timeout>
failed after the specified timeout due to connections being still active, connection to the
database would become impossible.
fixed by D. Yemanov
~ ~ ~
(CORE-97)
A lock on the database file was
being left by gfix -shut -force, preventing a subsequent restore.
fixed by D. Yemanov
~ ~ ~
(CORE-2268)
Non-valid transaction numbers would cause
gfix to throw BUGCHECK errors.
fixed by V. Khorsun
~ ~ ~
(CORE-2271)
The gfix utility had a
legacy bug that exhibited itself during the database validation/repair routines on large databases.
The privilege level of the user running these routines was being checked too late in the operation,
thus allowing a non-privileged user (i.e., not SYSDBA or Owner) to start a validation operation.
Once the privilege check occurred, the database validation could halt in mid-operation and thus
be left unfinished, resulting in logical corruption that might not have been there otherwise.
fixed by A. Peshkov
~ ~ ~
(CORE-1961)
A Bugcheck 210 (page in use
during flush) consistency check error would be thrown during database validation.
fixed by D. Yemanov, R. Simakov
~ ~ ~
(CORE-2519)
Output from gstat was incorrect for tables
with more than 2 billion records.
fixed by V. Khorsun
~ ~ ~
(CORE-1412)
Some long-standing bugs in gstat's
processing of parameters needed fixing.
fixed by C. Valderrama
~ ~ ~
(CORE-2598)
fb_lock_print -c[onsistency]
switch was not working on Windows.
fixed by D. Yemanov
~ ~ ~
(CORE-2354)
“fb_lock_print -ia” output
was not being flushed to the file between iterations.
fixed by A. Peshkov
~ ~ ~
(CORE-2247)
In the QLI utility, message and
descriptor buffers were not properly aligned.
fixed by A. Peshkov
~ ~ ~
(CORE-1982)
Simultaneous backups or restores invoked
through the Services API could interfere with one another.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2563)
It was possible to shut down the
Superserver's main port (3050 by default) by sending a malformed packet of some special format,
that would lead to a Denial of Service condition for new incoming connections. This exploit
could be used by an unauthenticated client.
Reported 15-Jul-2009 by Core Security Technologies.
fixed by D. Yemanov
~ ~ ~
(CORE-2437)
A buffer overflow could occur on the client
when receiving events.
fixed by A. Peshkov
~ ~ ~
(CORE-2307)
API information requests were
returning incomplete values in the results.
fixed by D. Yemanov
~ ~ ~
(CORE-2234)
Sometimes, terminated worker processes in Classic
on Windows were still considered to be alive after termination, due to improper checks on the
Firebird server's part. The same bug could cause the Firebird server to misbehave with prolonged
deadlocks when under load.
fixed by V. Khorsun
~ ~ ~
(CORE-2151)
When a temporary directory path had spaces
within it, it was (wrongly) being truncated at the rightmost space.
fixed by V. Khorsun
~ ~ ~
(CORE-2033)
The symbol _Unwind_GetIP in the client
library was being left unresolved due to a missing static library linkage.
fixed by A. Peshkov
~ ~ ~
(CORE-2018)
Only a single client could access a
read-only database.
fixed by V. Khorsun
~ ~ ~
(CORE-1972)
A non-SYSDBA user was able to change the
Forced Writes mode of any database, along with several other database characteristics that should
be restricted to the SYSDBA. This long-standing, legacy loophole in the handling of DPB parameters
could lead to database corruptions or give ordinary users access to SYSDBA-only operations.
The changes could affect several existing applications, database tools and connectivity layers (drivers, components).
Same fix was backported to v.2.1.2 and v.2.0.5.
fixed by A. Peshkov
~ ~ ~
(CORE-1868)
Client library was crashing inside
isc_dsql_free_statement().
fixed by A. Peshkov
~ ~ ~
(CORE-1763)
The client library was not setting the options
SO_KEEPALIVE nor TCP_NODELAY for the socket at connection.
fixed by V. Khorsun
~ ~ ~
(CORE-1755 and
)CORE-1756
A couple of crash scenarios could occur in
isc_start_transaction().
fixed by D. Kovalenko, A. Peshkov
~ ~ ~
(CORE-1726)
Failure in isc_service_start().
fixed by A. Peshkov
~ ~ ~
(CORE-1079)
Every attach of fbclient/fbembed library to the host
process would leak 64KB of memory.
fixed by A. Peshkov
~ ~ ~
(CORE-2657)
A poorly documented SPB tag provided the
undesirable ability to pass an arbitrary trusted user name to a service and enable that user to acquire
any permissions, including those of SYSDBA.
fixed by A. Peshkov
~ ~ ~
(CORE-2087)
When the configuration parameter
RemoteBindAddress specified a hostname instead of an IP address, or
specified a non-existent IP address, it would be silently ignored and the server would bind to
all interfaces, without any notification in firebird.log or the system log. This was considered
a potential security risk if the system had ports open to the Internet. Now, an invalid or
unavailable IP address will be resolved to localhost (127.0.0.1).
fixed by A. Peshkov
~ ~ ~
(CORE-2055)
Buffer overflow in Firebird client library.
fixed by A. Peshkov
~ ~ ~
(CORE-1845)
Some standard calls would show the server
installation directory to regular users.
fixed by A. Peshkov
~ ~ ~
(CORE-1810)
Some issues appeared concerning usernames with '.'
characters.
fixed by A. Peshkov
~ ~ ~
~ ~ ~
(CORE-2642)
An obscure ICU initialization problem
on Windows could cause misbehaviour in a multi-threaded environment.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2607)
Introducer syntax(_charset) problems were occurring
when it was used in association with monitoring queries or PSQL modules.
For information about the problem and a workaround provided for it, see the topic Introducer Syntax Usage under Other Improvements in the International Language Support chapter.
fixed by A. dos Santos Fernandes
~ ~ ~
~ ~ ~
(CORE-2361)
String truncation was occurring when
reading a character set 8859_1 Spanish column using isc_dsql_fetch() with a UTF8 connection.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2227)
Problems were occurring in some environments
when creating triggers that referred to column names with accented characters.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-2123)
Problem with getting UNICODE_FSS data
in the CP943C connection charset
fixed by A. dos Santos Fernandes, D. Kovalenko
~ ~ ~
(CORE-2122)
Translation of large text blobs between
UNICODE_FSS / UTF8 and other charsets
fixed by A. dos Santos Fernandes, D. Kovalenko
~ ~ ~
(CORE-2095)
Bug in CVJIS_eucj_to_unicode().
fixed by A. dos Santos Fernandes, D. Kovalenko
~ ~ ~
(CORE-2019)
A UTF-8 conversion error (string truncation)
was being thrown unexpectedly.
fixed by dos Santos Fernandes
~ ~ ~
(CORE-1989)
A column with UNICODE_CI collation for
UTF8 could not be used in a foreign key constraint.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1927)
The procedure
sp_register_character_set could generate a negative value for
RDB$CHARACTER_SETS.RDB$CHARACTER_SET_ID.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1690)
A condition in tables with UTF8 text was
causing the error Arithmetic exception, numeric overflow, or string
truncation.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1596)
Bug in CsConvert::convert
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1432)
The collation attribute of columns was not
being propagated between record formats.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-316)
A database with multi-byte characters
in its name could not be opened.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1802)
Some issues were reported concerning maximum key size
using the PXW_CSY collation.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1774)
A problem appeared with collate ES_ES_CI_AI.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-1254)
Problem with DISTINCT and insensitive collations.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-3067)
On 64-bit POSIX, except HP-UX, objects
were not being unmapped when shared memory was closed.
The 64-bit pointer had been masked with a 32-bit mask, which turned out to be a really bad idea: with Object == 0x7FAB12345678 and page size == 4K, the upper bits were lost and the starting address would be at 0x12345000 instead of the intended 0x7FAB12345000.
fixed by A. Peshkov
~ ~ ~
(CORE-3019)
On a recent version of Gentoo Linux, an
attempt to source the function library /etc/init.d/functions.sh would fail with
the message “* ERROR: firebird does not have a start function” and neither SuperServer
nor SuperClassic would start.
fixed by A. Peshkov
~ ~ ~
(CORE-3001)
Install was failing to create the
firebird
user and group.
fixed by A. Peshkov
~ ~ ~
(CORE-2919)
The Linux installation script was ignoring
non-standard ports.
fixed by A. Peshkov
~ ~ ~
(CORE-2845)
The build process on Solaris would stop
with the message: “need to use SFIO”. On the whole, Solaris 10 no longer requires
SFIO - the 64-bit builds do not suffer the issue with the maximum 255 file descriptors and there
are simple work-arounds for 32-bit builds.
See this article for
details.
However, the issue still affects Solaris 10 3/05 through Solaris 10 11/06. Some patches are needed to correct the problem.
For the time being, the easiest solution is to leave the define in the code, but comment it with the relevant information for Solaris 10. The define can be removed if the patches have been applied or the user is running an unaffected version of Solaris 10.
Updated information concerning this issue has been inserted into common.h. Anyone building 32-bit Firebird on Solaris 10 will have to make an informed decision according to the version and build/patch level of Solaris before uncommenting the SFIO define.
fixed by P. Beach
~ ~ ~
(CORE-2814)
On SPARC, the server was crashing in the
routine map_sort_data
with a bus error.
fixed by V. Khorsun
~ ~ ~
(CORE-2601)
A lot of the standard configure
switches for fine-tuning the installation directories on POSIX platforms do not work for Firebird.
It was close to impossible to make the standard GNU switches work without changing the defaults for them, a rigmarole that is far from obvious or easy. Instead, a set of new switches for the configure has been added to enable fine-level configuration of the locations of Firebird's files.
The switches are listed in the Installation chapter, in the topic Dedicated Firebird Switches for 'configure'.
fixed by A. Peshkoff
~ ~ ~
(CORE-2572)
Locks of type LCK_page_space were being
processed incorrectly on big-endian machines.
fixed by A. Peshkov
~ ~ ~
(CORE-2221)
On POSIX platforms, any attachment to any database
would fail after the access rights for security2.fdb were modified from 0660 to 0666.
fixed by P. Beach, A. Peshkov
~ ~ ~
(CORE-2093)
SuperServer startup would fail on
Solaris 64-bit.
fixed by A. Peshkov
~ ~ ~
(CORE-1909)
Garbage in firebird.log on linux/amd64
fixed by A. Peshkov
~ ~ ~
(CORE-1885)
CREATE COLLATION caused lost connection under Posix.
fixed by A. dos Santos Fernandes, A. Peshkov
~ ~ ~
(CORE-1854)
Value of CURRENT_USER might not be in upper case when
using Unix OS authentication.
fixed by A. Peshkov
~ ~ ~
(CORE-1826)
changeRunUser.sh and restoreRootRunUser.sh scripts were
not changing the run user in the init.d scripts.
fixed by A. Peshkov
~ ~ ~
(CORE-1818)
Temporary files used for temporary page spaces were not
deleted after use on Posix platforms.
fixed by A. Peshkov
~ ~ ~
(CORE-1807)
Server was being assigned to a non-canonical port
after abnormal termination.
fixed by A. Peshkov
~ ~ ~
(CORE-1766)
Owner and group of isc_monitor1 file on Linux classic
server were incorrect.
fixed by A. Peshkov
~ ~ ~
(CORE-1671)
atexit() calls in client libraries cause segfaults if
the libraries were used in dlopen'ed modules.
fixed by A. Peshkov
~ ~ ~
(CORE-2769)
On heavily loaded Windows systems, local
connect (XNET) could fail due to the client timing out while waiting for the server to set
the xnet_response_event
. To help with this problem, the
ConnectionTimeout parameter in firebird.conf
has been
activated for XNET connections.
Improvement made by D. Yemanov
~ ~ ~
(CORE-2108)
When using the
Windows local protocol (XNET), the next available map number was calculated incorrectly, thus
allowing the server to try to reuse a map number that already existed. If the “new”
map's timestamp was equal to the timestamp of the pre-existing map, it would cause the
get_free_slot()
function to fail.
fixed by V. Khorsun
~ ~ ~
(CORE-2107)
Establishing a TCP\IP connection to the
Windows Classic Server could fail under high load.
fixed by V. Khorsun
~ ~ ~
(CORE-1923)
Successful execution of instsvc.exe
remove was returning 1 as its completion code, instead of 0.
fixed by D. Yemanov
~ ~ ~
(CORE-1820)
Setup program was failing to detect a running
server.
fixed by P. Reeves, D. Yemanov
~ ~ ~
(CORE-1105,
CORE-1390,
CORE-1566 &
CORE-1639)
Aliases would not work properly for XNET
connections.
fixed by D. Yemanov
~ ~ ~
(CORE-2065)
The MacOSX installation package was in
violation of platform rules by not including the client library in the dynamic loader search
paths.
fixed by P. Beach
~ ~ ~
Firebird Documentation Index → Firebird 2.5 Release Notes → Bugs Fixed → Old Bugs Fixed |