Missing dynamic modules on Api Server Angular HTML5

Hello,

Problem:

We have a strange bug on the Api Server in the new Angular portal. We get randomly missing dynamic modules when the user restarts IIS.

Workaround:

Currently we need to delete the cache inside the App_Data folder if this bug is present.

Product:

One Identity Manager 9.2.1. 

When we build the new Api portal we do use the npm run build:watch:dynamic <NAME> of the dynamic modules. We even tried to contact the support and they provided the hotfix 4440193. The .dlls that the hotfix has are the same in the DB.

Did we miss something when we were developing our Api portal? We do have some custom API endpoints but they work fine. 

Thank you for the help,

Zan

Parents Reply Children
  • Hi. Thanks Hanno.

    Yes, the error 404 arises because the folders in apiserver\appdata\webcache\html\qer-app-portal\imx-api-rmb (one of them , for instance) are emtpy.

    At the start of the process , the folders are ok, each module is decompressed and the folders are populated. But during normal operation, we do not know when (although it seems it is when cache expires) , the webcache rebuilds and randomly some modules are not fully decompressed. Why?

    The error log shows:

    2025-05-27 07:40:00.8992 ERROR ( WebLog ) : Error while decompressing plugin tsb to C:\inetpub\wwwroot\ApiServer\App_Data\WebCache\html\tsb System.IO.IOException: El proceso no puede obtener acceso al archivo 'C:\inetpub\wwwroot\ApiServer\App_Data\WebCache\html\tsb\esm2020\public_api.mjs' porque está siendo utilizado en otro proceso.
    en System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

    , or:

    2025-05-27 07:40:01.5769 ERROR ( WebLog ) : Error while decompressing application qer-app-portal to C:\inetpub\wwwroot\ApiServer\App_Data\WebCache\html\qer-app-portal System.IO.IOException: El proceso no puede obtener acceso al archivo 'C:\inetpub\wwwroot\ApiServer\App_Data\WebCache\html\qer-app-portal\assets\cordoba-email.png' porque está siendo utilizado en otro proceso.
    en System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

    , pointing out that the unzip process failed because a file was in use and , hence, the decompression is  not fully performed rendering the whole module unusable.

    We're not sure if that is something we can control in IIS. The final result is that every day we need to restart IIS several times.

  • Please check the IIS application pool configuration and make sure "Disable overlapped recycle" is set to true.

    You can also disable the periodic restart of the application pool to prevent it from restarting at unexpected times.

  • Done. We'll check it out. Thanks Hanno!!