VCL Deployment issue with Hydra_VCL_D25

Of course this works just fine in development, but when i deploy I get the following errors.

On the server

2.2 Address : 0000000003D7E520
2.3 Module Name : Hydra_VCL_D25.bpl
2.4 Module Version: 5.0.89.1163
2.5 Type : EAccessViolation
2.6 Message : Access violation at address 0000000003D7E520 in module ‘Hydra_VCL_D25.bpl’. Read of address 00000000000000C0.
2.7 ID : FD537F52

However, if I launch the server again, it may work. If it does work I get this on close

Problem signature:
Problem Event Name: APPCRASH
Application Name: svrATIServer.exe
Application Version: 5.0.1.0
Application Timestamp: 5a94254e
Fault Module Name: rtl250.bpl
Fault Module Version: 25.0.29039.2004
Fault Module Timestamp: 5a31e5fe
Exception Code: c0000005
Exception Offset: 0000000000017b29
OS Version: 6.3.9600.2.0.0.272.7
Locale ID: 1033
Additional Information 1: b47b
Additional Information 2: b47bbdf0955e31b4205dd3bea7827c8a
Additional Information 3: 7ec7
Additional Information 4: 7ec72c0dee1d93ff1d6c2c015306019f

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=280262

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

–==================================–

On the Client

2.2 Address : 00000000058A8FAE
2.3 Module Name : Hydra_VCL_D25.bpl
2.4 Module Version: 5.0.89.1163
2.5 Type : EHYException
2.6 Message : Cannot load module C:\SecureLogin\ProcessorCore(NEXT)\ATI_Processor.dll. Code:_126.
The specified module could not be found.
2.7 ID : 14AB7607

Where should I look for a solution?

Can you describe a bit your app?
is this a RO SDK server? if yes, are you using the latest version of RO SDK?

Can you create a simple testcase that reproduces such AV?

according to this error:

it can’t load this dll. is this dll present on given path?


as a workaround:
Do you use any specific interfaces from uHYIntf unit or pass delphi objects between host and plugin?
if not, you can try to use cross-platform interfaces from uHYCrossPlatformInterfaces.pas.
for this, just comment HYGetModuleController method as

procedure HYGetCrossPlatformModule(out result: IHYCrossPlatformModule); stdcall;
begin
  result := VisualModuleController as IHYCrossPlatformModule;
end;

{
function HYGetModuleController : THYModuleController;
begin
  result := VisualModuleController;
end;
}
exports
  HYGetCrossPlatformModule;
//  HYGetModuleController name name_HYGetModuleController;

after this change, you can compile your host and plugins w/o run-time packages.

Thank you Evgeny for responding.

I am using the latest versions of Delphi (10.2.2) and RO/DA Server/HY (9.3.105.1351 and 5.0.89.1163). I also use DevExpress in my projects (2017.2.4.0).

I have a host server that loads 15-20 service plugins (all delphi). I recompiled HY and I now have the server working 9 times out of 10 and I don’t get the rtl250 error on close. We are looking into our virus checker as the possible problem, but haven’t yet confirmed that.

The client, however, I still have not been able to get it to work. The client is a RO/DA/HY host that loads one visual plugin at a time. These are not a new projects. I have had this architecture for 5+ years. The only difference is an upgraded Dephi and upgraded components to the latest versions. I’ve tried all of my client DLL plugins and I get the same error. The DLLs are all present on given path.

The client host itself also uses Hydra_VCL_D25 and it loads just fine.

It all works on a windows machine (7 or 10) if Delphi and BPLs are installed. It does not work on a virgin Server 2012 R2 or windows 10.

About your workaround. I’m a little confused by your question. If not which?

Do you use any specific interfaces from uHYIntf unit
OR
pass delphi objects between host and plugin

As I’ve mentioned everything is Dephi. The objects I pass other than structured arrays are normal Delphi datatypes.

can you create a simple testcase that reproduces this case? if possible, try to not use DevExpress in plugin/host.

have you ship all required dll and delphi .bpl to this virgin Server 2012 R2 or windows 10?
you can check for missed files with Dependency Walker utility.

Recently we added possibility to load and use plugins that were created w/o run-time packages. this is work only for cases when no delphi objects are passed between host and plugin.

Well, I got it working. It was missing DevExpress BPLs. I got sent in the wrong direction by the error reported by EurekaLog. Thanks for your assistance and Dependency Walker, that will be very useful in the future.