[fpc-devel] Access Violation with nested DLL's compiled by FPC (and some more info on bug #4538)

Marc Weustink marc.weustink at cuperus.nl
Fri Dec 9 16:03:59 CET 2005


Stefan van den Berg wrote:
> Hi,
> 
> I've already asked about this on the community forums on the 
> freepascal.org site and opened a bug on the bugtracker (bugID #4538). 
> But none of those show any progress on a solution to the problem I'm 
> having.
> 
> First a little backstory: I'm currently, as part of an internship, 
> porting an application written in Delphi 6 to Free Pascal/Lazarus. The 
> application consists of a main executable and a bunch of (23, to be 
> exact) DLL's. The app uses some of these DLL's and some other are used 
> by the DLL's themselves. To make this more clear, I've schematically 
> illustrated the situation below.
> 
>             Main-app
>             /  |  \
>        dll2-   |   --dll1
>        /       |       \
>   dll3-       dll3      -dll2
>                            \
>                             -dll3
> 
> Dll3 could, for example, be a library which is responsible for logging 
> (debug)messages to a file on disk.
> 
> Right now I've come to the point where every individual part seems to do 
> what it should do. But when testing the whole package, I came across a 
> problem, which at first i thought to be a bug in our code. But after 
> some debugging and after testing with a bunch of simple testcases I 
> concluded that my problem might be caused by a bug in FPC itself.
> 
> The problem is this: When the app calls a function in dll1, which calls 
> a function in dll2, which calls a function in dll3, an AccessViolation 
> is thrown when calling the function in dll3.
> 
> This problem is blocking further porting efforts, So you can guess that 
> I'd really like to see this resolved.
> 
> What I'd like to ask is, am I doing something wrong? If so, what is it 
> I'm doing wrong? If not, can anybody confirm the bug (if there is one) 
> and maybe give a possible ETA for a fix.

Before we can say something, what functions do you call, what params, 
what calling convention etc.
Does it happen in one specific sequence of calls, to specific 
functions/methods etc.

Please provide some more info.

Marc




More information about the fpc-devel mailing list