Issue Details (XML | Word | Printable)

Key: CORE-1567
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Dmitry Yemanov
Reporter: Timo Partanen
Votes: 0
Watchers: 1
Operations

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

Selecting from MON$STATEMENTS yields an error and an exit() call with Firebird Embedded 2.1 Beta 2

Created: 06/Nov/07 04:13 AM   Updated: 26/Jan/09 08:41 AM
Component/s: Engine
Affects Version/s: 2.1 Beta 2
Fix Version/s: 2.1 RC1

Time Tracking:
Not Specified

File Attachments: 1. Text File Call_Stack_Before_Exit.txt (9 kB)
2. Text File Call_Stack_Failing_Place.txt (9 kB)

Environment: Windows XP SP2, Firebird Embedded 2.1 Beta 2 (2.1.0.16780)


 Description  « Hide
Running statement "SELECT COUNT( * ) FROM MON$STATEMENTS" yields an error and an exit() call with Firebird Embedded 2.1 Beta 2. The error occurs in the following function (see Call_Stack_Failing_Place.txt):

static bool initializeFastMutex(FAST_MUTEX* lpMutex, LPSECURITY_ATTRIBUTES lpAttributes,
BOOL bInitialState, LPCSTR lpName)

There is a CreateFileMapping() call in the function, which fails (returns NULL) and a subsequent GetLastError() call returns 5 = ERROR_ACCESS_DENIED. What does it mean? The parameter values for the CreateFileMapping function are as follows:

lpMutex->hFileMap = CreateFileMapping(
INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE, = 4
0,
sizeof(FAST_MUTEX_SHARED_SECTION), = 16
name ); = "partim2.mon_mutex_FM_MAP"

This error causes Firebird to dump "MONITOR: mutex init error, status = 1" and to call the exit() function with FINI_ERROR (See Call_Stack_Before_Exit.txt).

However, running the same SELECT statement on Firebird Super Server 2.1 Beta 2 succeeds.

 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.