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

AV at backup of database with GTT [CORE2771] #3163

Closed
firebird-automations opened this issue Nov 24, 2009 · 6 comments
Closed

AV at backup of database with GTT [CORE2771] #3163

firebird-automations opened this issue Nov 24, 2009 · 6 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

Call stack

fbserver\.exe\!BTR\_reserve\_slot\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::jrd\_rel \* relation=0x042101a8, Jrd::jrd\_tra \* transaction=0x00000000, Jrd::index\_desc \* idx=0x0ca82f70\)  Line 2029 \+ 0x6 bytes	C\+\+
fbserver\.exe\!IDX\_create\_index\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::jrd\_rel \* relation=0x042101a8, Jrd::index\_desc \* idx=0x0ca82f70, const char \* index\_name=0x0408a724, unsigned short \* index\_id=0x00000000, Jrd::jrd\_tra \* transaction=0x00000000, Firebird::HalfStaticArray<float,4\> & selectivity=\{\.\.\.\}\)  Line 252 \+ 0x15 bytes	C\+\+
fbserver\.exe\!Jrd::jrd\_rel::getPagesInternal\(Jrd::thread\_db \* tdbb=0x0408bfd0, long tran=\-1, bool allocPages=true\)  Line 214 \+ 0x2d bytes	C\+\+
fbserver\.exe\!Jrd::jrd\_rel::getPages\(Jrd::thread\_db \* tdbb=0x0408bfd0, long tran=\-1, bool allocPages=true\)  Line 318	C\+\+
fbserver\.exe\!DPM\_data\_pages\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::jrd\_rel \* relation=0x042101a8\)  Line 649 \+ 0x10 bytes	C\+\+
fbserver\.exe\!DPM\_cardinality\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::jrd\_rel \* relation=0x042101a8, const Jrd::Format \* format=0x0c303da4\)  Line 252 \+ 0xd bytes	C\+\+
fbserver\.exe\!Jrd::OPT\_getRelationCardinality\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::jrd\_rel \* relation=0x042101a8, const Jrd::Format \* format=0x0c303da4\)  Line 614 \+ 0x11 bytes	C\+\+
fbserver\.exe\!Jrd::OptimizerInnerJoin::calculateCardinalities\(\)  Line 2990 \+ 0x14 bytes	C\+\+
fbserver\.exe\!Jrd::OptimizerInnerJoin::OptimizerInnerJoin\(Firebird::MemoryPool & p=\{\.\.\.\}, Jrd::OptimizerBlk \* opt=0x0ca830ec, const unsigned char \* streams=0x0408b690, Jrd::jrd\_nod \* \* sort\_clause=0x0408b128, Jrd::jrd\_nod \* \* project\_clause=0x0408b11c, Jrd::jrd\_nod \* plan\_clause=0x00000000\)  Line 2942	C\+\+
fbserver\.exe\!gen\_join\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::OptimizerBlk \* opt=0x0ca830ec, const unsigned char \* streams=0x0408b690, Firebird::Stack<Jrd::River \*,16\> & river\_stack=\{\.\.\.\}, Jrd::jrd\_nod \* \* sort\_clause=0x0408b128, Jrd::jrd\_nod \* \* project\_clause=0x0408b11c, Jrd::jrd\_nod \* plan\_clause=0x00000000\)  Line 4348 \+ 0x54 bytes	C\+\+
fbserver\.exe\!OPT\_compile\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::CompilerScratch \* csb=0x0ca81fa4, Jrd::RecordSelExpr \* rse=0x0ca742c8, Firebird::Stack<Jrd::jrd\_nod \*,16\> \* parent\_stack=0x00000000\)  Line 854 \+ 0x33 bytes	C\+\+
fbserver\.exe\!post\_rse\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::CompilerScratch \* csb=0x0ca81fa4, Jrd::RecordSelExpr \* rse=0x0ca742c8\)  Line 6086 \+ 0x13 bytes	C\+\+
fbserver\.exe\!CMP\_pass2\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::CompilerScratch \* csb=0x0ca81fa4, Jrd::jrd\_nod \* const node=0x0ca7432c, Jrd::jrd\_nod \* parent=0x0ca83b70\)  Line 5674 \+ 0x11 bytes	C\+\+
fbserver\.exe\!CMP\_pass2\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::CompilerScratch \* csb=0x0ca81fa4, Jrd::jrd\_nod \* const node=0x0ca83b70, Jrd::jrd\_nod \* parent=0x00000000\)  Line 5322 \+ 0x17 bytes	C\+\+
fbserver\.exe\!CMP\_make\_request\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::CompilerScratch \* csb=0x0ca81fa4, bool internal\_flag=false\)  Line 2108 \+ 0x16 bytes	C\+\+
fbserver\.exe\!CMP\_compile2\(Jrd::thread\_db \* tdbb=0x0408bfd0, const unsigned char \* blr=0x0ca6e4c8, unsigned long blr\_length=74, bool internal\_flag=false, unsigned short dbginfo\_length=0, const unsigned char \* dbginfo=0x00000000\)  Line 612 \+ 0x11 bytes	C\+\+
fbserver\.exe\!JRD\_compile\(Jrd::thread\_db \* tdbb=0x0408bfd0, Jrd::Attachment \* attachment=0x040d79f8, Jrd::jrd\_req \* \* req\_handle=0x0408c0c0, unsigned long blr\_length=74, const unsigned char \* blr=0x0ca6e4c8, Firebird::RefPtr<Firebird::AnyRef<Firebird::StringBase<Firebird::StringComparator\> \> \> ref\_str=\{\.\.\.\}, unsigned short dbginfo\_length=0, const unsigned char \* dbginfo=0x00000000\)  Line 6605 \+ 0x1c bytes	C\+\+
fbserver\.exe\!jrd8\_compile\_request\(int \* user\_status=0x0408c6e4, Jrd::Attachment \* \* db\_handle=0x03713f70, Jrd::jrd\_req \* \* req\_handle=0x0408c0c0, short blr\_length=74, const char \* blr=0x0ca6e4c8\)  Line 1724 \+ 0x5d bytes	C\+\+

> fbserver.exe!isc_compile_request(int * user_status=0x0408c6e4, void * * db_handle=0x0408fd64, void * * req_handle=0x0408c698, unsigned short blr_length=74, const char * blr=0x0ca6e4c8) Line 1836 + 0x6d bytes C++

Commits: 6c63e65 0379a58

====== Test Details ======

No way to make this test on Python.

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Patch for CORE2477 introduced more strict requirement of having transaction when index is created.
When GTT's is referenced first time in connection new instance is created by the engine. Such reference could happen
when there is no user transaction, for example when isc_compile_request was called.
Usage of system transaction when GTT's index is created is safe and easy way to fix this bug.

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 2.5 RC2 [ 10372 ]

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

Test Details: No way to make this test on Python.

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

No branches or pull requests

2 participants