Issue Details (XML | Word | Printable)

Key: CORE-6204
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Pavel Zotov
Votes: 0
Watchers: 1
Operations

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

FB crash because TraceSvcJrd::checkPrivileges can pass NULL in 'alias'

Created: 11/Dec/19 02:06 PM   Updated: 16/Dec/19 11:57 AM
Component/s: Engine, SVCMGR
Affects Version/s: 3.0.5
Fix Version/s: 3.0.5

QA Status: Deferred
Test Details: Sent letter to dimitr, hvlad, 16.12.2019 14:56. Waiting for reply.


 Description  « Hide
// Vlad has asked me to create this ticked with brief description (I've reported him about FB crash that was during fbtest run 07-dec-19).

FB version: 3.0.5.33205
Perhaps crash related to incorrect work of services.
Time of crash (07.12.19 13:20) points that it was during check core_5675.fbt.


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Vlad Khorsun added a comment - 11/Dec/19 07:00 PM
The bug was introduced with patch for CORE-5995.

Vlad Khorsun added a comment - 11/Dec/19 07:04 PM
Part of the call stack

06 kernel32!UnhandledExceptionFilter+0x1fc
07 ntdll!longjmp+0xc2f5
08 ntdll!_C_specific_handler+0x8c
09 ntdll!_chkstk+0x9d
0a ntdll!RtlInitializeResource+0x53a
0b ntdll!KiUserExceptionDispatcher+0x2e
0c engine12!Firebird::makeDynamicStrings(unsigned int length = 0, int64 * dst = 0x00000000`07d1da60, int64 * src = 0x00000000`07d1dc70)+0x75 [e:\snapshots\firebird\src\common\dynamicstrings.cpp @ 70]
0d engine12!Firebird::status_exception::set_status(int64 * new_vector = 0x00000000`07d1da60)+0x6a [e:\snapshots\firebird\src\common\fb_exception.cpp @ 102]
0e engine12!Firebird::status_exception::status_exception(int64 * status_vector = 0x000007fe`e93a7f08)+0x39 [e:\snapshots\firebird\src\common\fb_exception.cpp @ 80]
0f engine12!Firebird::status_exception::raise(class Firebird::Arg::StatusVector * statusVector = 0x000007fe`e91e7ac0)+0x2e [e:\snapshots\firebird\src\common\fb_exception.cpp @ 143]
10 engine12!Firebird::Arg::StatusVector::raise(void)+0x2c [e:\snapshots\firebird\src\common\statusarg.cpp @ 263]
11 engine12!Jrd::mapUser(class Firebird::StringBase<Firebird::StringComparator> * name = 0x00000000`07d1fd20, class Firebird::StringBase<Firebird::StringComparator> * trusted_role = 0x00000000`07d1f710, class Firebird::StringBase<Firebird::StringComparator> * auth_method = 0x00000000`00000000, class Firebird::Array<unsigned char,Firebird::EmptyStorage<unsigned char> > * newAuthBlock = 0x00000000`00000000, class Firebird::Array<unsigned char,Firebird::EmptyStorage<unsigned char> > * authBlock = 0x00000000`07d1fd70, char * alias = 0x00000000`00000000 "", char * db = 0x00000000`00000000 "", char * securityAlias = 0x00000000`05884010, class Firebird::ICryptKeyCallback * cryptCb = 0x00000000`05bab9e0, class Firebird::IAttachment * att = 0x00000000`00000000)+0x1ed9 [e:\snapshots\firebird\src\jrd\mapping.cpp @ 1167]
12 engine12!TraceSvcJrd::checkPrivileges(class Firebird::TraceSession * session = 0x00000000`00000000)+0x1ba [e:\snapshots\firebird\src\jrd\trace\traceservice.cpp @ 367]
13 engine12!TraceSvcJrd::listSessions(void)+0x16c [e:\snapshots\firebird\src\jrd\trace\traceservice.cpp @ 239]
14 engine12!Firebird::fbtrace(class Firebird::UtilSvc * uSvc = 0x00000000`00000000, class Firebird::TraceSvcIntf * traceSvc = 0x00000000`00000000)+0xd69 [e:\snapshots\firebird\src\jrd\trace\tracecmdline.cpp @ 425]
15 engine12!TRACE_main(class Firebird::UtilSvc * arg = 0x000007fe`e91eac58)+0xb6 [e:\snapshots\firebird\src\jrd\trace\traceservice.cpp @ 396]
16 engine12!Jrd::Service::run(void * arg = 0x00000000`06ef69f0)+0x47 [e:\snapshots\firebird\src\jrd\svc.cpp @ 1970]