Embedded engine hangs or crashes on queries that work against classic server
----------------------------------------------------------------------------
Key: CORE-4221
URL: http://tracker.firebirdsql.org/browse/CORE-4221
Project: Firebird Core
Issue Type: Bug
Environment: Firebird 2.5.2 Security Update 1 build 26540 64-bit on
Windows 7 64-bit.
Reporter: Gareth Marshall
I am using Firebird 2.5.2 Security Update 1 build 26540, 64-bit on Windows 7
64-bit. I am testing using application developed with Delphi XE2 Update 4
Hotfix 1 and IBObjects 5.2.0 Build 6. I am running my tests on Windows 7 SP1
64-bit. The same database file is used for all tests.
The database is using the UTF8 character set, and a page size of 8192 bytes.
The connections are done using the UTF8 character set. The database contains
just a single table with the following schema:
CREATE TABLE TEST ( NAME varchar(50) );
The table contains no data.
I generate a query that includes a number of tests ORed to each other. Each
test just checks to see if the NAME field is equal to the string form of a
number one larger that the one before, producing n terms in the WHERE clause.
For example, if n is 5, the following query is used:
SELECT * FROM Test T WHERE
T.Name = '1'
OR T.Name = '2'
OR T.Name = '3'
OR T.Name = '4'
OR T.Name = '5'
When run against classic server, I can have at most 3173 terms in the WHERE
clause before the query string itself reaches a length of 65530 characters and
then returns an error. This is pretty much expected behaviour.
When run using the embedded engine, I can successfully have 1052 terms in the
WHERE clause. In my tests, 1053, 1054, and 1056 terms in the WHERE clause cause
Firebird to hang when attempting to prepare the query (1052 terms would prepare
in less than a second; after 30 seconds I killed the test for these values).
Testing with 1088 or more terms causes the test application to crash with a
stack overflow in the fbembed.dll. 1052 terms has a query string of length
20989 characters, while 1053 terms has a query string of length 21010.
I have not tested any other configurations.
--
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
------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13.
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel