Actions do not show any errors (all is green)

Actions do not show any errors. Everything green, although there was a bug.
Sometimes it also shows errors (red) where there are no errors.

Constellation: FinalBuilder 8.0.0.2917 + Eurekalog 7.8.2.133 RC 16 + Delphi 10.4.1
DCC reports an error and in the source code of the ECC32 it looks like the exit code of the DCC32 is passed through correctly, but the action shows green and does not stop.

I also had actions with errors, but where the higher-level actions continued without breaking off.
“Ignore Error” and similar were not activated anywhere.
The FinalBuilder ran successfully, everything was green, except for the one action high up in a collapsed group,
and it was only noticed later that a project (DLL) was not compiled.

In the FinalBuilder 8.0.0.2897 with Eurekalog 7.7.8.2 and Delphi XE such problems were not noticed so far.

And an error was displayed for an employee and the process was canceled, but no error could be found in the log.
Both when executing the entire script and again for the individual action.
Here the problem could be eliminated by closing the FinalBuilder and restarting it.
= FinalBuilder 8.0.0.2897

PS: It can’t hurt if FinalBuilder writes the ExitCode / ErrorLevel into the log when calling external programs and scripts.

This is really too vague to act on. Which actions, show screenshots or logs.

If ecc32 returns 0 then we can only assume it’s succeeded. This sounds like a Eurekalog issue.

We need to see a log to understand this, there is really not enough information to work with here.

have a look in the %TEMP% directory, the may be a “finalbuilder bugreport.txt” file there, if so then send it to support @ finalbuilder.com

From the selected line onwards, all actions have failed, but they are still considered successful.

I also had actions with errors, but where the higher-level actions continued…

We need to see a log to understand this, there is really not enough information to work with here.

I’m trying to see if I can reproduce this error, at the moment it does not occur.

Nothing from the Eurekalog can be found in the TEMP directory.
“Export log as Text to file” is executed at the end of the script.
This file only contains the same information as in the screenshot, but I’ll still send you an email.

I grepped our source code and could not find ERROR Exit Code: anywhere. I suspect this is being output by Eurekalog - but that’s not what it is actually returning - if the actions are showing as success that’s because Eurekalog returned an exit code of 0.

Because this line is so beautifully colored, I assumed it comes from the FinalBuilder.

The FinalBuilder script was converted from FB7 to FB8 last year and has run without any problems so far.
Currently I’m only trying to switch from Delphi XE to 10.4, for that was updated again from 8.0.0.2897 to 8.0.0.2917.
The Eurekalog and some other third-party components have also been updated.

The third-party components, directly with DCC32 and without Eurekalog, do not show this problem.
There I only had the problem once that a subordinate action returned an error in a nesting of Delphi build actions, but the higher-level actions were not canceled.

[edit]
Now I found a constant ‘ERROR - Exit Code: %d’ in Eurekalog.

Please excuse the fuss. It looked as if the problem was yours, as the output from the compiler seemed to be correct.
So it would be better if FinalBuilder would display the ExitCode, since the line in the log does not come from FinalBuilder.

I had executed the ECC myself and there was also returned a 1 as %ErrorLevel%,
but it may be that there was an error in the Eurekalog itself when the parameters were handed over, and not in the DCC32.

The code in the Eurekalog is sometimes a little difficult to read through if you never look inside,
but I’m afraid I’ve found the error and it doesn’t seem to be with FinalBuilder.

function InternalExecute: Integer;
begin
  ...
  WriteLine(GetStr(rsELCompiling));
  ExitCode := ExecWait(Compiler, Params);  //***** call DCC32
  if ExitCode = 0 then
  begin
    ...
  end
  else
    WriteError(Format(GetStr(rsELCompileErrorCodeFmt), [ExitCode]));
  Result := ExitCode;
  ...
end;

function Execute: Integer;
  function ProtectedExecute: Integer;
  begin
    ...
    InternalExecute;  //***** the result is lost :(
    ...
  end;
begin
  ...
  Result := ProtectedExecute;
  ...
end;

The other error with my colleague, where the ECC32 / DCC32 apparently did not deliver an error, but stopped FinalBuilder, could also be explained with this uninitialized result variable.

The error where an action aborted with an error, but not the overriding actions,
it still remains, but I have to try to restore this error state first.

For almost three weeks now I’ve been struggling through and trying to compile with FinalBuilder, Eurekalog, several third-party components and our own code with Delphi 10.4.
Before doing a few upgrades of the third-party components in the Delphi XE, in preparation for 10.4.

And at the same time I try to make the changes in such a way that the effort to switch to more recent Delphi versions will be less in future.
Turbo Pacal > … > Delphi 7, FinalBuilder 7 > Delphi XE > FinalBuilder 7 > FinalBuilder 8 > Delphi 10.4
these are too big changes and actually too many, all at once.

First attempts already started in 10.1, but never got enough time.