My tracing plugin works fine with the FB 6.0 interface when running FB6, but it throws a segmentation fault when running FB5 when calling getExplainPlan(). I think the problem is in the new getPerfStats method (added in 62a2a15)
because it's in the middle of other functions that mess up the offsets (but I could be wrong).
Reproduction:
- Put the Firebird 6 version of the libfbtrace.so/fbtrace.dll plugin to Firebird 5.
- Setup trace:
Firebird.conf:
AuditTraceConfigFile = fbtrace.conf
fbtace.conf
database
{
enabled = true
print_plan = true
explain_plan = true
}
- Attach to any DB and execute a select SQL:
isql -user SYSDBA -p masterkey employee
select * from rdb$database;
My tracing plugin works fine with the FB 6.0 interface when running FB6, but it throws a segmentation fault when running FB5 when calling
getExplainPlan(). I think the problem is in the newgetPerfStatsmethod (added in 62a2a15)because it's in the middle of other functions that mess up the offsets (but I could be wrong).
Reproduction:
Firebird.conf:
AuditTraceConfigFile = fbtrace.conffbtace.conf
database { enabled = true print_plan = true explain_plan = true }