-
-
Notifications
You must be signed in to change notification settings - Fork 268
Segfault when using expression index with complex expression [CORE6015] #6265
Copy link
Copy link
Closed
Labels
affect-version: 2.1.7affect-version: 2.5.0affect-version: 2.5.1affect-version: 2.5.2affect-version: 2.5.2 Update 1affect-version: 2.5.3affect-version: 2.5.3 Update 1affect-version: 2.5.4affect-version: 2.5.5affect-version: 2.5.6affect-version: 2.5.7affect-version: 2.5.8affect-version: 3.0.0affect-version: 3.0.1affect-version: 3.0.2affect-version: 3.0.3affect-version: 3.0.4affect-version: 4.0 Alpha 1affect-version: 4.0 Beta 1affect-version: 4.0 Initialfix-version: 3.0.8fix-version: 4.0.0priority: majorqa: done with caveatstype: bug
Metadata
Metadata
Assignees
Labels
affect-version: 2.1.7affect-version: 2.5.0affect-version: 2.5.1affect-version: 2.5.2affect-version: 2.5.2 Update 1affect-version: 2.5.3affect-version: 2.5.3 Update 1affect-version: 2.5.4affect-version: 2.5.5affect-version: 2.5.6affect-version: 2.5.7affect-version: 2.5.8affect-version: 3.0.0affect-version: 3.0.1affect-version: 3.0.2affect-version: 3.0.3affect-version: 3.0.4affect-version: 4.0 Alpha 1affect-version: 4.0 Beta 1affect-version: 4.0 Initialfix-version: 3.0.8fix-version: 4.0.0priority: majorqa: done with caveatstype: bug
Submitted by: @AlexPeshkoff
Nothing limits use of rather complex expression in the index. One can use selectable stored procedure to calculate that expression, and in that stored procedure one can select rows from the table on which expression index is created. During garbage collection of such index key value is calculated which causes expression evaluation, execution of SP and tabke scan - which in turn causes GC. I.e. we have unlimited recursion with obvious stack overflow and segfault.
Commits: 5bbf69b dc9e026 fbb7068 2caa4f7 1eba28b 35282da a4c886a 606e9e3
====== Test Details ======
Case when SP tries to change record via ES+EDS mechanism remains uncovered.
ISQL will hang and, though it can be interrupted by Ctrl-C, firebird process keeps DB file opened infinitely.
Discussed with Vlad, letters 17.04.2021 09:52 and 21.04.2021 10:40.