Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Database validation bug can cause AV [CORE4510] #4829

Closed
firebird-automations opened this issue Aug 5, 2014 · 18 comments
Closed

Database validation bug can cause AV [CORE4510] #4829

firebird-automations opened this issue Aug 5, 2014 · 18 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

When database physically contains more than pagesPerPIP pages but really used is less than pagesPerPIP pages (i.e. second PIP page is not initialized yet) - it is possible to get AV on validation.

Commits: 1445269 FirebirdSQL/fbt-repository@5b08e97

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

1- The description does not really make sense, a clearer explanation is required.

2- Should this be associated with "gfix" component?

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Sean

1. make better, if you can
2. no

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

1- If I followed what the condition was, I would try to edit.

Is the problem that:

a database can have pages allocated/defined but not have PIP page(s) not created/initialized for the pages (due to db growth factor)?

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

No, it is not a problem. It is normal state. The problem is that validation code have a bug which is triggered by this normal state only and this bug leads to AV.
Now try to make short description better than existing one :)

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0 Beta 1 [ 10332 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

OK

So, why is this not a GFIX problem, since it is the validation logic which has the bug which causes the AV?

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

Probably because the database validation code resides inside the engine, GFIX is just an interface to that.

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

Aware and understood, but I look at the problem as follows:
- if the error can only occur due to validation condition, and the only way to execute a validation is via the equivalent of gfix... Then the issue should be described/assigned to gfix.

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

Validation can also be performed via plain API (exacty what gfix does internally) and via Services API. So maybe both "engine" and "gfix" components should be assigned.

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Issue, assigned to component X means issue within that component, isn't is ?
There is no issues with gfix itself.
Validation is a part of the engine and could be run not using gfix (via services).

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

summary: AV in validation is possible => Database validation bug can cause AV

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

Component: GFIX [ 10004 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @asfernandes

I think both components should be listed.

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

Have edited the subject and link the case to the "engine" and "gfix" components.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Cannot be tested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment