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

isc_attach_database, EAccessViolation in modul 'fbclient.dll' [CORE4040] #4370

Closed
firebird-automations opened this issue Jan 18, 2013 · 11 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Patrick Marten (patrick marten)

Hello,

on a customer machine in our internal log I've noticed the following error:

isc_attach_database
EAccessViolation
Accessviolation at address 1004D5EB in modul 'fbclient.dll'. Writing of address 00000044.

It's a Windows 8 PC running as a clinet, which connects to a Windows 7 PC (server) where FB 2.5.2 is installed.

Everything seems to work, the data is visible on the client side, can be edited etc. But I'm somewhat worried about that message... Have never seen it before at
our customers machines.

Any ideas about the reasons for the problem here?

Best regards,
Patrick

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

Is this error consistent?

Does it affect other OS/platforms?

@firebird-automations
Copy link
Collaborator Author

Commented by: Patrick Marten (patrick marten)

Can't say anything about other platforms as our application runs on Windows only, but yes, it seems to affect other OS at least and to be consistent.
Today I've noticed this error message in our error log on a second client (Windows 7 this time) and also on the server-PC itself...

@firebird-automations
Copy link
Collaborator Author

Commented by: Patrick Marten (patrick marten)

Hello,

now a colleague of mine is able to reproduce the issue on his machine as well.

Our application has an exception logger using JVCL. At some point the application calls "JclStopExceptionTracking" and that's when the AV in fbclient.dll occurs for some weird reason... Even more weird is the fact, that this works fine several times before the AV and afterwards, so in that one case something seems to special.

Not sure if that's a bug in Firebird or in JVCL or in both. This seems to happen since we have upgraded Firebird from 2.1.3 to 2.5.2, so I think it has at least partly to do with Firebird as well... JVCL version remained the same so far.

Any ideas / suggestions are welcome!

Kind regards,
Patrick

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

EAccessViolation is not a MSVC CRT exception name. It is Delphi (or FPC) exception name.
So, it is
a) AV raised at fbclient, catched by the VCL RTL and re-raised as EAccessViolation, or
b) it is AV raised by the application code and JVCL is wrongly decided it is raised by fbclient.

Make sure address 1004D5EB is really occupied by fbclient.dll.
Also, if you use FPC on Win64 - it have known bugs working with OS-level exceptions and non-FPC modules.

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

The source of the problem is with non-Firebird components, the exceptions reported clearly show that the source of outside of the Firebird client and/or server.

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

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

resolution: Won't Fix [ 2 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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

@firebird-automations
Copy link
Collaborator Author

Commented by: Patrick Marten (patrick marten)

Well, since the AV happens only after we switched to FB 2.5.2, I would say that Firebird is involved in some way, as everything was / is working fine with FB 2.1.4.

In both cases it's with the server, running on a 64bit machine. On a 32bit system everything works fine.

Regarding "Make sure address 1004D5EB is really occupied by fbclient.dll. ": how would I do that?

Regarding "Also, if you use FPC on Win64 - it have known bugs working with OS-level exceptions and non-FPC modules. ": looks like Win64 is the problem (as I wrote above), but what is FPC?

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

FPC = Free Pascal Compiler

Please clarify:

- your application is 64bit? If so, you are using Firebird 64bit client?

- the Firebird server is running on 64bit machine? Running the 64bit install? If so, all UDFs have been compiled for 64bit?

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Patrick,

> Regarding "Make sure address 1004D5EB is really occupied by fbclient.dll. ": how would I do that?

use any tool that could show address range of loaded module (ProcessExplorer, for example).

@firebird-automations
Copy link
Collaborator Author

Commented by: Patrick Marten (patrick marten)

Thanks for the explanation, Vlad. I've tried it with ProcessExplorer and let it show me all DLLs for my application. Then I've "activated" the columns "Base" and "Image Base". Is that correct so far? The values there are different compared to the address I see in the error message... But also no other addresses seem to be like the one in the error message... It could also be the wrong place where I'm looking...

>Please clarify:
>
>- your application is 64bit? If so, you are using Firebird 64bit client?
>
>- the Firebird server is running on 64bit machine? Running the 64bit install? If so, all UDFs have been compiled for 64bit?

My application is 32bit and we are using Firebird 32bit - also on 64bit machines. This was ok according to the firebird news group, where I had asked about it before we did the switch to FB 2.5.2. I.e. we are just using the 32bit files, which can be download from Firebird homepage. That's exactly what we were doing with FB 2.1.4 all the time too.

In the case, when the error occurs, the client is on the 32bit machine, the server is running on a 64bit machine.

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