Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Compiler/Delphi    [ Add a report in this area ]  
Report #:  120784   Status: Closed
F2084 Internal Error: AV089DF475-R00000000-0
Project:  Delphi Build #:  19.0.13856.4978
Version:    19.0 Submitted By:   Andreas Ländle
Report Type:  Crash / Data loss / Total failure Date Reported:  11/26/2013 7:32:32 AM
Severity:    Infrequently encountered problem Last Updated: 4/15/2014 6:35:53 PM
Platform:    All versions Internal Tracking #:   45515
Resolution: Fixed (Resolution Comments) Resolved in Build: : XE6
Duplicate of:  None
Voting and Rating
Overall Rating: (2 Total Ratings)
5.00 out of 5
Total Votes: 40
Description
Just try to compile the attached example - and you'll receive the internal error.

-------
[dcc32 Fatal Error] Project1.dpr(17): F2084 Internal Error: AV089DF475-R00000000-0
-------

If you comment line 84 of Unit1.pas the project compiles without any problems.
Steps to Reproduce:
See description.

[Unit1.pas]
------------
...
...
procedure TFuture.TPromise<T>.OnSuccess(AExecutionContext: IExecutionContext; AListener: TProc<T>);
var
  wrappedListener: TProc<T>;
begin
  wrappedListener := procedure(value: T) begin AExecutionContext.Execute(procedure begin AListener(value); end); end; // <<----- This line causes F2084
  if (IsCompleted) then
  begin
    if (IsSuccess) then
    begin
      AExecutionContext.Execute(procedure begin AListener(SuccessResult); end);
    end;
  end
  else
  begin
    //SuccessListener.Add(procedure(value: T) begin AExecutionContext.Execute(procedure begin AListener(value); end); end);
  end;
end;
...
...
------------
Workarounds
Encapsulate the problematic delegate in a separate class (lot of code for a one-liner).
Attachment
DelphiXE5.zip
Comments

Andreas Ländle at 11/26/2013 7:34:45 AM -
Unfortunately my attachment wasn't accepted. How can I add it now?

Tomohiro Takahashi at 11/26/2013 6:55:29 PM -
Please use Windows Native QC Client to attach a .zip file to your existing report.
The standalone client(QualityCentral.exe) comes with Delphi.

> Version: 19.0
> Build No: XE5 Version 19.
What build no of Delphi XE5 do you use, for example Delphi XE5 Update1(19.0.13856.4978)?

Andreas Ländle at 11/26/2013 11:40:26 PM -
I'm using version 19.0.13476.4176 (but I will try to update - normally we are still using XE0 - I used AppWave to test against XE5). With your note I was able to upload my sample project, so it should be easy for you to reproduce the problem; if you encoutner any problems/questions please don't hesitate to contact me.

Andreas Ländle at 11/28/2013 6:22:04 AM -
BTW - I'm really interested in testing something like a hot-fix (if something like this is imaginable/possible).

Server Response from: ETNACODE01