You are not logged in.
Pages: 1
I found something really crazy running windows (risc version) in VMware in Mac. Let me explain:
I have a windows 32bit executable using last github mormot2 compiled with Delphi 11.3 that runs the following query in a TRestServerDB object (memory type based on TOrmVirtualTableBinary):
memserver.Orm.RetrievelistJson(TOrmApiIC11, 'RowID in (select distinct (f.value->"$.ic11") as ic from apicols p, json_each(p.ic11s) f where p.RowID='+toutf8(_pr)+') ORDER BY code', '(code || " " || title) as title');
The above works ok in a windows machine.
Now in a Mac, I install the free VmWare Fusion personal edition and then I installed windows 11 Risc edition. The same windows executable does not gives the same results in this enviroment.
I tried to test the following queries and the returned results are OK:
memserver.Orm.executeJson([TOrmApiCols], 'select distinct (f.value->"$.ic11") as ic from apicols p, json_each(p.ic11s) f where p.RowID='+toutf8(_pr)+') ORDER BY code');
memserver.Orm.RetrievelistJson(TOrmApiIC11, 'RowID in (1930,1931) ORDER BY code', '(code || " " || title) as title');
Same results I am having also using Parallels
I am thinking that this should be sqlite's problem and not Mormot. Am I right?
Thank you in advance
Last edited by dcoun (2024-05-25 10:00:12)
Offline
I can confirm that the same happens using an external database with virtual tables and TrestserverDB, so it should not be mormot's problem
I downloaded the SQLITE version 3.44.2 tools and from the command line tool, the query executes ok in the win11 Arm cmd prompt
I am not sure if it is a problem of win11 emulation or a bug in the code of sqlite. Anyway, I broke the query to two queries and it work ok now. I will follow it in the future updates.
Offline
What is "Windows RISC" ?
Apologies... my mistake. Windows 11 Arm version
I can run a VM with windows 11 native arm version for Apple's risc processor
All x86-x64 applications can run inside it with "transparent" emulation. The OS is native, but the application can be translated/emulated
Last edited by dcoun (2024-05-26 17:04:19)
Offline
We don't have any test on Win64 binaries on Mac M1.
But we test, and validate native aarch64 binaries on Mac M1.
https://luti.tranquil.it/history/tis-test-mormot2
Did you compile under Delphi as Win32 or Win64?
Did you download the Win32, Win64 or Mac-M1 version of SQLite3 command line tool?
Offline
I compiled as usual a w32 app using delphi 11.3 that has last snapshot from mormot2 in Github and I run it in a Mac mini inside a VM with win 11 arm edition.
I downloaded the SQLite3 command tool for windows x64 and I tested with it.
To be honest I am curious to run the mormot2 tests inside this VM. I will do it
Offline
Nothing unexpected....
I compiled mormot2 tests using Delphi 12 and FPC 3.2.3 both for w32 & w64 targets
w64 targets finished without errors
w32 targets finished with errors that are available to this gist: https://gist.github.com/dkounal/1887a0e … 8001bf9f27
Offline
The first error "ECryptCert {Message:"TCryptCertX509.Generate: GeneratePrivateKey failed error"}" is likely to be a timeout issue when generating a RSA keypai.
Is the Win32 emulation somewhat slow for the computing demanding tasks (like RSA prime search)?
The other issues seem to be related to floating-point issues.
My guess is that Win32 has poor floating point emulation.
Offline
The first error "ECryptCert {Message:"TCryptCertX509.Generate: GeneratePrivateKey failed error"}" is likely to be a timeout issue when generating a RSA keypai.
Is the Win32 emulation somewhat slow for the computing demanding tasks (like RSA prime search)?
No, I could say that it is more fast than I expected. As it is the iPhone emulator in the Mac.
The other issues seem to be related to floating-point issues.
My guess is that Win32 has poor floating point emulation.
As I understood I have to move to 64bit to have it to work ok
Offline
Pages: 1