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

Crash in Firebird::MemoryPool::internal_alloc [CORE1767] #2192

Closed
firebird-automations opened this issue Feb 28, 2008 · 10 comments
Closed

Crash in Firebird::MemoryPool::internal_alloc [CORE1767] #2192

firebird-automations opened this issue Feb 28, 2008 · 10 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Antti Nivala (nivant)

Attachments:
M-Files_4_0_1808_0_20080222_133053.dmp
M-Files_4_0_1808_0_20071005_125143.dmp
M-Files_4_0_1808_0_20080201_143705.dmp
Call stack.txt

We have received three crash dump files from our customers that all point to a crash in Firebird::MemoryPool::internal_alloc, apparently during query preparation. The textual call stack from the crashed thread is attached, as well as the crash dump files that can be easily examined with Visual Studio 2005, for example. If you need MFServer.exe and MFServer.pdb to get the debugger to display the call stacks properly, e-mail me at mailto:antti.nivala@motivesys.com.

As far as I can tell, this crash is not related to our software but rather an internal crash of Firebird. If it seems otherwise, just let me know!

The actual crash occurs in alloc.cpp, line 1297:

// Moderately cheap case. Quite possibly we only need to tweak doubly
// linked lists a little
ptrToBlock(next_free)->mbk_prev_fragment = NULL;
012F2020 mov dword ptr [eax-4],0

Here, eax is 1, and the above line leads to the following error:
"Access violation reading location 0xffffffff"

If I am interpreting the disassembly information correctly, then "next_free" pointer has the value 1, which is probably wrong and causes the crash.

@firebird-automations
Copy link
Collaborator Author

Modified by: Antti Nivala (nivant)

Attachment: M-Files_4_0_1808_0_20080222_133053.dmp [ 10775 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: Antti Nivala (nivant)

Attachment: M-Files_4_0_1808_0_20071005_125143.dmp [ 10776 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: Antti Nivala (nivant)

Attachment: M-Files_4_0_1808_0_20080201_143705.dmp [ 10777 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: Antti Nivala (nivant)

Attachment: Call stack.txt [ 10778 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: Antti Nivala (nivant)

description: We have received three crash dump files from our customers that all point to a crash in Firebird::MemoryPool::internal_alloc, apparently during query preparation. The textual call stack from the crashed thread is attached, as well as the crash dump files that can be easily examined with Visual Studio 2005, for example. The attached MFServer.exe and MFServer.pdb files should be placed in the same folder as the DMP files to ensure that Visual Studio 2005 can load the symbols.

However, as far as I can tell, this crash is not related to our software but rather an internal crash of Firebird. If it seems otherwise, just let me know!

The actual crash occurs in alloc.cpp, line 1297:

// Moderately cheap case. Quite possibly we only need to tweak doubly
// linked lists a little
ptrToBlock(next_free)->mbk_prev_fragment = NULL;
012F2020 mov dword ptr [eax-4],0

Here, eax is 1, and the above line leads to the following error:
"Access violation reading location 0xffffffff"

If I am interpreting the disassembly information correctly, then "next_free" pointer has the value 1, which is probably wrong and causes the crash.

=>

We have received three crash dump files from our customers that all point to a crash in Firebird::MemoryPool::internal_alloc, apparently during query preparation. The textual call stack from the crashed thread is attached, as well as the crash dump files that can be easily examined with Visual Studio 2005, for example. If you need MFServer.exe and MFServer.pdb to get the debugger to display the call stacks properly, e-mail me at mailto:antti.nivala@motivesys.com.

As far as I can tell, this crash is not related to our software but rather an internal crash of Firebird. If it seems otherwise, just let me know!

The actual crash occurs in alloc.cpp, line 1297:

// Moderately cheap case. Quite possibly we only need to tweak doubly
// linked lists a little
ptrToBlock(next_free)->mbk_prev_fragment = NULL;
012F2020 mov dword ptr [eax-4],0

Here, eax is 1, and the above line leads to the following error:
"Access violation reading location 0xffffffff"

If I am interpreting the disassembly information correctly, then "next_free" pointer has the value 1, which is probably wrong and causes the crash.

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

Antti,

The current release of v2.0.x is v2.0.3, please use this version, as a number of fixes have been made since v2.0.1

@firebird-automations
Copy link
Collaborator Author

Commented by: Antti Nivala (nivant)

Sean,

Yes, we have already switched to using 2.0.3. However, it takes time before all customers have upgraded to the new version, too. We have received these crash dumps from customers that are running Firebird 2.0.1. The problem appears only randomly so we cannot verify whether this does or does not occur with Firebird 2.0.3. We have of course instructed these customers to upgrade to 2.0.3.

Is there some specific issue that has been fixed in 2.0.3 that could be related to this problem?

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

There was one memory management related bugfix in v2.0.2, perhaps it could fix that. But it's hard to guess without a test case.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

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

resolution: Cannot Reproduce [ 5 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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

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

1 participant