Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
IW15 64bit deployment
#11
Bug 
Hi All

I think I've identified this problem, it lies with the ZLib implementation and the supported instructions of the CPU you are running the program on. When building x64 Intraweb application with XE4 they run without issue on an Intel Core i7 8700 (Server and Desktop OS) however on an Intel Core i7 950 they crash with an illegal instruction error (again server or desktop OS), the same happens on an Intel Xeon x5550.

My suspicion is the CloudFlare Zlib is using instruction available in newer processors without checking if the instruction is available!

I checked this by recompiling with the x64 Intraweb app using the ZLIB_1211 by commenting out the  {$DEFINE USE_ZLIB_CLOUDFLARE} in the IWZLibExApi.pas and including it in my project to ensure the DCU's were recompiled.

After making this change the x64 Intraweb app would run on all CPU and OS combinations i had been testing.

Hopefully this helps...

I suggest that an effort is made to identify the CPU instruction in the CloudFlare Implementation causing the issue and ensure that this implementation is only used if those instructions are available. in the mean time its probably a good idea to revert wholesale to the ZLIB_1211 code branch.

I think the CloudFlare code must be making use of instructions in one or more of the following instruction sets (AES, AVX, AVX2, FMA3, TSX). Without further investigation i can't narrow it down. 

EDIT : (I believe it may be an AVX instruction, but it also requires SSE4.2 instructions which may not be available either)

As an interesting point here is what the TurboVNC devs said about the CloudFlare ZLib Implementation:

Quote:I ultimately backed away from CloudFlare, despite its superior performance, because it doesn't perform run-time CPU feature detection. It assumes the existence of SSE 4.2, which is not available on all x86-64 CPUs, and of SSE2, which is not available on all x86 CPUs.

Investigate SIMD-accelerated Zlib implementations
Reply


Messages In This Thread
IW15 64bit deployment - by chrisl - 09-03-2018, 07:11 AM
RE: IW15 64bit deployment - by kudzu - 09-03-2018, 01:21 PM
RE: IW15 64bit deployment - by chrisl - 09-03-2018, 01:28 PM
RE: IW15 64bit deployment - by Alexandre Machado - 09-03-2018, 11:07 PM
RE: IW15 64bit deployment - by chrisl - 10-03-2018, 01:32 PM
RE: IW15 64bit deployment - by LorenSzendre - 10-03-2018, 03:05 PM
RE: IW15 64bit deployment - by Alexandre Machado - 10-03-2018, 09:41 PM
RE: IW15 64bit deployment - by chrisl - 10-04-2018, 07:27 AM
RE: IW15 64bit deployment - by Alexandre Machado - 10-06-2018, 07:43 AM
RE: IW15 64bit deployment - by chrisl - 10-08-2018, 09:45 AM
RE: IW15 64bit deployment - by mbtaylor1982 - 10-08-2018, 01:08 PM
RE: IW15 64bit deployment - by kudzu - 10-10-2018, 04:40 PM
RE: IW15 64bit deployment - by Alexandre Machado - 10-11-2018, 12:42 AM
RE: IW15 64bit deployment - by mbtaylor1982 - 10-11-2018, 08:15 AM
RE: IW15 64bit deployment - by Alexandre Machado - 10-11-2018, 10:17 PM
RE: IW15 64bit deployment - by Alexandre Machado - 10-12-2018, 03:24 AM
RE: IW15 64bit deployment - by mbtaylor1982 - 10-12-2018, 08:15 AM
RE: IW15 64bit deployment - by Alexandre Machado - 10-13-2018, 10:46 PM
RE: IW15 64bit deployment - by mbtaylor1982 - 10-15-2018, 10:09 AM
RE: IW15 64bit deployment - by Alexandre Machado - 10-17-2018, 08:31 PM
RE: IW15 64bit deployment - by mbtaylor1982 - 10-25-2018, 12:26 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)