Error publishing - System.OutOfMemoryException

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%

Solution

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:


Workaround

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).


Definitely solving the issue: 

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

Solution

Pedro Dias,

Thanks for sharing the useful information. It will help others also to solves similar issue.


Regards,

-PJ-