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

  • Hi, Zan,

    That happens here with  v9.2.0 too.
    Tech support provided a hotfix , 474664 but the problem is still there.  Randomly, IIS refuses to load custom modules (dynamic or not)  placed in the imxweb\custom folder. The ony workaround is to restart the iis service. 

    Every now and then the log  file shows messages like this: 

    "25-03-05 07:32:04.9691 ERROR (    WebLog ) : Error while decompressing plugin tsb to C:\inetpub\wwwroot\ApiServer\App_Data\WebCache\html\tsb System.IO.IOException: El archivo 'C:\inetpub\wwwroot\ApiServer\App_Data\WebCache\html\tsb\esm2020\lib\accounts\accounts.module.mjs' ya existe. (the file already exists)"

    , but even that, the modules are loaded. Until, we do not know when or why, it wont load them anymore and the service must be restarted.

  • Hi, Zan, 


    Did they solve this issue for you? I have a SR with more than 30 items now, open since January 8th and they seem to be playing around with me.

    Now install this hotfix, now delete the webcache, now check there's an error in the log of an invalid authorization (are you kidding me???), now provide another log, now this or that.

    The custom modules on IIS , we do not know why, are being unloaded during normal operation of the angular portal. And this fact have us restarting the web server when this happens to our customer happiness and satisfaction. 

    There's a cache problem and they need to fix it. And sending over logs and logs, all the same, does nothing. 

  • Hello Jauncarlos,

    sadly this issue is not solved on my side. I have a few support cases open as well, some level 1 on this issue.

    The issue is random and cannot be reproduced manually in an environment that does not have this issue.

    The workaround you suggested is working, but this is not a viable solution to the problem.

    I have in fact installed multiple hotfixes on this issue myself in the past and non worked for me. The answer of One Identity is always the same, provide logs and HAR file.

    I assumed just like you did that the cache is the problem. 


    Questions:

    • Like I stated prior I am building the Angular code with the correct npm scripts, or is there a better solution?
    • Is there an IIS setting causing this problem?
    • We have a custom API endpoint that we use, is this customization the issue? 

    This issue needs to be solved soon since it is very misleading to the end user and in some cases the issue disrupts the work of the end user.

    Thank you,

    Zan

  • I fully agree on that: The issue is random and the HF provided are not fixing the problem. Also I got tired of providing HAR and logs.

    And about your questions:

    • I do build the angular libraries with ng build <angularlibr> then zip the dist\library folder and upload it to custom\html_lib.zip. The lib loads without a problem, but when the issue happens, the module is not loaded at all. The documentation doesn't say much about it and seems rather confusing. In :  https://docs.oneidentity.com/bundle/one-identity-manager_html5-development_9.2/page/sources/html5development/html5devcustomizelibraries.htm , I can read "If you modify Angular plug-in library code, you must create and deploy a separate version of the Angular plug-in library itself and all Angular plug-in libraries that depend on it." , but I don't know if I should place it in the custom\ folder (as I do and it seems to work, though) or just replace the one in imxweb or elsewhere. I do not need to compile any other libs because I am not using them. Of course, no mention as of how to compile them.
    • IIS keeps complaining that it cannot delete files in the cache folder. But support says nothing about it except delete the cache. However that workaround doesn't save our users from losing the functionality.
    • We have several custom API endpoints in use for qer-app-portal or qer-app-pwdportal , also for TSB, but the only one affected seems to be the last one.

    I'll escalate the case to our OneIdentity representative in Spain. It's been three months now. But no doubt I'll keep banging here.

  • Hello,

    While I cannot directly provide a solution to the problem at hand, I would like to add a few aspects.

    The hotfix 474664 has so far helped in the cases where we have seen the "the file already exists" messages. Please understand that issues which occur randomly, and only on some environments, are among the hardest to troubleshoot. Log files and HAR files, when support asks for them, are absolutely essential tools for analysis.

    While I do hear your frustration with the time it takes to come to a resolution of the issue, please bring up this matter directly with support, as a public forum is not the place for this kind of discussion.

    On the topic of compiling custom Angular libraries, you are correct in placing them in the imxweb\custom\ folder. Any custom packages should go into this folder in order to keep them from being overwritten by an Identity Manager update. This is described here: https://docs.oneidentity.com/bundle/one-identity-manager_html5-development_9.2/page/sources/html5development/html5devcompileanddeployproject.htm

    Kind regards

    Hanno

  • Hi  ,

    Thanks for taking your time. The service request is open since 8 Jan and still they're asking for har and log files. I brought the issue here merely because I saw a similar case and , glad to find out, I was not the only one. I think that  could agree with me that , at the very least, sharing our experience with support  in the forums could only but enhance support quality itself.

    About the link to the documentation it seems to refer to full project files such as qer-app-portal or passwords portal , but somehow we're lost when it comes to deploying modified libraries such as , in my case, tsb. We've compiled  it with "ng build tsb" and it seems to work because once placed in custom it does the job. But we did it blindly  All in all, this is only to find clues on whether the cause of the issue could be related to the way we're both compiling and deploying modifications.

    Regards.

  • Hi , hi ,

    We have not found a root cause for the extraction issue so far. However, we decided to add some code to extract the files in a more "robust" way that should help here. A hotfix will be made available through support with the issue ID 484012.