We have performed a minor version upgrade (in LT and DEV) and it looks like, after this, the development team has started having issues while publishing certain modules.
One case, in particular, the most sever at this point is one module (about 1,4MB in size) if throwing an "Internal ErrorInvalid compiler output. Exception of type 'System.OutOfMemoryException' was thrown".
Sometimes, not always, preceded by an "[1] Compilation Error: A timeout has occurred. OutSystems compiler appears to be blocked." error
Looking at other service center logs in the same time frame, no major performance issues are identified on that moment
Other troubleshooting activities performed:
1 - Environment health is all ok
2 - We have restarted the server
3 - We have restarted all Outsystems services
4 - It occurs while publishing both on Service Studio and Service Center
5 - While publishing, we were monitoring the server performance and you can see below the memory peak that was 55%
We have reached the Outsystems support and managed to understand that the reported Error publishing - System.OutOfMemoryException while publishing mobile applications after performing the platform update to Platform version 11.8.1 is indeed a known issue.
The problems occur because due to a change from WebSQL (deprecated) to IndexDB which is used to guarantee local storage in mobile applications while running in the context of browsers.
While using IndexDB, and depending on the complexity of local entities’ aggregates, the compilation resulting file that represents those aggregates, <moduleName>.aggregates.IDB.js, may have a considerable size and impact on the application publish and runtime performance, therefore the errors being experienced.
Currently, in order to address this occurrence there is already a workaround and a final resolution:
To overcome this situation, disable IndexedDB using Factory Configuration.
To do that, you’ll need to follow these steps:
1 - Download and install Factory Configuration from our forge;
2 - Access Factory Configuration and navigate to the “Platform Configurations” tab:
3 - In the “Compiler” section, set the value of the “IndexedDB for Local Storage data on PWAs/Browsers” option to “Disabled”:
4 - Republish your affected mobile application(s).
Update Platform Server to version 11.8.2 (or higher when one is available) which should be available on Outsystems downloads page.
Hope this is of service to anyone else facing this issue as we did
Regards
Pedro Dias,
Thanks for sharing the useful information. It will help others also to solves similar issue.
Regards,
-PJ-
Very intersting this solution, I will do a test and back here to expain the result.