Subject Memory allocation problem in Firebird 2.1.2
Author Calin Pirtea
Hi All,



We have a stored procedure that needs to extract part of a blob subtype
1 into a varchar and perform several manipulations with it.



This is done about weekly and involves processing over 1 million
records.



We discovered a defect in Firebird 2.1.2 where a very large amount of
memory is allocated every time we use blobs in stored procedures and it
causes Firebird to crash very quickly. This defect is present in all
Firebird versions we tested: 1.5, 2.1.2, 2.1.3, 2.5 beta 2.



In some instances the server does not crash but caries on working while
corrupting memory, in others it does not crash and returns an error that
it cannot allocate memory anymore.



See CORE-2596 for details about the problem. We were going to re-write
our scripts to no longer use substring on blobs and we soon discovered
we cannot do anything about it. Simply asking anything to be done with
blobs causes the memory allocation issue and we cannot figure out a
workaround for this issue. Using UDFs to perform the manipulation causes
the memory to not be released at all in Firebird 2.1.2 even after
disconnecting the database.



What we are trying to do is get a short message from the content of the
blob which is in the first 100 chars of the blob and after various
changes to it we place this in another field that is then aggregated.



We are looking for help in identifying a workaround for this issue.



Thank you in advance,



Calin Pirtea

Communicare Development Team

Communicare Systems Pty Ltd

Tel: 9332 2433 Fax: 9310 1516

calin.pirtea@...
<mailto:calin.pirtea@...>

www.communicaresystems.com.au <http://www.communicaresystems.com.au>



Communicare Systems advises that this email account is not continuously
monitored. Please forward any Helpdesk enquiries to our monitored
address helpdesk@...
<mailto:helpdesk@...> and note that urgent
matters must be advised by telephone. This message, and any
attachments, are intended only for the use of the individual or entity
to which it is addressed and may contain information that is
confidential. Any unauthorised use, disclosure, reproduction or
distribution of this message and its attachments is prohibited. This
message is forwarded from an individual and does not necessarily
represent the views of Communicare Systems. If you have received this
message in error kindly notify the sender and then delete the contents.





[Non-text portions of this message have been removed]