Issue Details (XML | Word | Printable)

Key: CORE-5428
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alexander Peshkov
Reporter: Alexander Peshkov
Votes: 0
Watchers: 1

If you were logged in you would be able to see more operations.
Firebird Core

Rare segfault when preparing request working with a table with triggers

Created: 25/Dec/16 02:57 PM   Updated: 26/Dec/16 10:06 AM
Component/s: Engine
Affects Version/s: 2.5.0, 2.5.1, 2.5.2, 2.5.2 Update 1, 2.5.3, 2.1.7, 2.5.3 Update 1, 2.5.4, 2.5.5, 4.0 Initial, 3.0.0, 2.5.6, 3.0.1
Fix Version/s: 2.5.7, 3.0.2, 4.0 Alpha 1

Environment: Classic server

QA Status: Cannot be tested
Test Details:
Significant (and artificial) slowdown in FB engine is required for reproducing this issue.
There are two tests for check FB stability while applying DDL under strong DML workload, but both of them did not produce any crash.
May be these tests will be added into fbt-repo but I will do it later (after further discuss with Alex).
Test Specifics: Architecture (SS/CS) specific

 Description  « Hide
This old and rarely happening bug happens when structure of a table with triggers is modified (DDL) when other attachment is preparing request working with that table. AST by itself does not cause any harm to data structures but rescan of table's metadata (which happens on any call to metadata cache for given table) drops old triggers description and creates new one. But in some cases pointers to old triggers are cached by request compiler and next use of them makes classic server process die.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Peshkov added a comment - 25/Dec/16 03:11 PM
I doubt it makes sense to have a test for this - I had to add artificial delays to cmp.cpp in order to reproduce an issue in a stable way.