Skip to content

Broken lock of statements cache during multithreaded index activation #7385

@dmitry-starodubov

Description

@dmitry-starodubov

Server (last 5.0) crashes when trying to dereference NULL pointer (self->lock) in DsqlStatementCache::blockingAst.
The crash stacks are in the attachment.

It can be reproduced in this way.
In attachment there is a backup of a database with 1000 empty tables and 4000 indexes.
Restore it if with "-i" option to leave the indexes inactive.
Set MaxParallelWorkers = 64 in firebird.conf.
Download the plume utility and build it.

Then run it as follows:
./plume -u sysdba -p masterkey -t 24 -P 4 -d localhost:/tmp/t5.fdb

I get the server crash after two - four runs.
stacks.txt
t5.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions