Error while running XaoS as a web application in Qt6
-
Dear Qt Experts,
We are very happy that Qt 5.15.14 does a great job when compiling our fractal software XaoS into WebAssembly using emscripten version 1.39.8.
There are still some minor issues, like when the values are being changed in a popup window (let's say Iterations in the calculations option in menu bar), are not stored: the data is not refreshed in the application.
We thought it could be an issue in Qt 5 but it's already fixed in Qt 6. So we converted our code to Qt 6.5 to make it work in the local application settings but unfortunately, when we try to run it on web browser using web assembly and emscripten version 3.1.25 (& any versions higher like 3.1.39 or 3.1.42), the web application does not start with Qt 6 at all.
So we are back to Qt 5 until the bug is fixed in Qt 6.
Link to the web app using Qt 5 is: https://matek.hu/zoltan/xaos and the github repository code is here (in the changes01 branch of repo).
Our fractal software XaoS (of the GNU project) is a very popular one. It can be of interest of hundred millions of young learners as potential users in schools. And thus, we request you to please help us in resolving issues with why it's not working properly in web browser with Qt 5 and Qt 6.Many thanks,
Abhishek Tiwari
XaoS team -
I tried the Qt 6 version (it is available for trying out at http://prover-test.geogebra.org/~kovzol/xaos-qt6/xaos.html and I got the following error: "Application exit (ReferenceError: SharedArrayBuffer is not defined))". Maybe this will be fixed in Qt 6.6, according to https://forum.qt.io/topic/137581/two-major-problem-that-prevent-qt-webassembly-used-in-real-project/10. By the way, is there any schedule for releasing Qt 6.6? Or, is there a workaround in Qt 6.5 to fix this?
Thanks for any hints in advance.
Best, Zoltan -
@ZoltanKovacs said in Error while running XaoS as a web application in Qt6:
SharedArrayBuffer
I have got that error also when using multithreading.
A simple search online, says the problem is related to browser security.I remember I did something related to Cross-Origin-Isolation
and the error went away. I used some javascript called 'coi-serviceworker' because it was hosted as a GitHub page. -
@Mesrine Thanks! By following your hint I managed to get rid of the "ReferenceError: ShareAddaryBuffer is not defined". But now I have a different error, I guess it is the same as for @Abhishek-Tiwari:
RuntimeError: unreachable
at signature_mismatch:time (xaos.wasm:0x1659c)
at main (xaos.wasm:0x3b375)
at eval (eval at completeLoadEmscriptenModule (qtloader.js:445:9), <anonymous>:1999:20)
at callMain (eval at completeLoadEmscriptenModule (qtloader.js:445:9), <anonymous>:13195:13)
at doRun (eval at completeLoadEmscriptenModule (qtloader.js:445:9), <anonymous>:13236:21)
at eval (eval at completeLoadEmscriptenModule (qtloader.js:445:9), <anonymous>:13245:4)
Any other hints?
Best, Zoltan -
After fixing the Emscripten version, this problem is solved.
-